# SEC Litigation Releases Database > Access all SEC litigation releases featuring over 10,000 litigations from 1995 to present. Search the litigation database by case docket number, type of litigation, involved parties, violated securities laws, and more. Real-time updates provide structured JSON data for in-depth analysis of SEC litigations. Source: https://sec-api.io/docs/sec-litigation-releases-database-api The Litigation Releases Database provides access to all SEC litigations from 1995 to present, including civil lawsuits against individuals, companies and other entities for violations of securities laws, settlements, final judgements, injunctions, and more. Data sample · Litigation releases | Released | Release no. | Defendants | Headline | Tickers | Tags | Settled | Pays penalty | Penalties total | Requested relief | Violated sections | Parallel actions | Case citation | Summary | Release | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 2026-10-07 | LR-26668 | Robert D. Welsh and Caedrynn E. Conner | SEC Obtains Final Consent Judgments as to Two DFW Residents Charged in Alleged Ponzi Scheme | – | ponzi scheme; securities fraud | Yes | Yes | $12,112,468.00 | permanent injunctions; disgorgement of profits; civil penalties | Sections 5 and 17(a) of the Securities Act of 1933; Section 10(b) of the Securities Exchange Act of 1934; Rule 10b-5 | – | Securities and Exchange Commission v. Kenneth W. Alexander II, et al., No. 4:25-cv-00446-JCB (E.D. Tex. filed Apr. 29, 2025) | The SEC obtained final consent judgments against Robert D. Welsh and Caedrynn E. Conner for their roles in a Ponzi scheme that raised $91 million from investors, with both individuals agreeing to pay significant penalties and being permanently enjoined from violating securities laws. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26668) | | 2026-10-06 | LR-26666 | Stephen Kenneth Leech | SEC Seeks Final Judgment Against Former Western Asset Co CIO Ken Leech in Cherry Picking Case | WESTE5 | cherry-picking; securities fraud; investment adviser; obstruction of justice | Yes | Yes | $103,000,000.00 | permanent injunctions; officer-and-director bar; associational bar | Section 17(a)(1) and (3) of the Securities Act of 1933; Section 10(b) of the Securities Exchange Act of 1934; Rule 10b-5(a) and (c); Sections 206(1) and (2) of the Investment Advisers Act of 1940; Section 36(a) of the Investment Company Act of 1940 | U.S. Attorney’s Office for the Southern District of New York; Federal Bureau of Investigation | Securities and Exchange Commission v. Stephen Kenneth Leech, No. 1:24-cv-09017 (S.D.N.Y. filed Nov. 25, 2024) | The SEC has moved for a final judgment against Stephen Kenneth Leech II for a cherry-picking scheme, resulting in a $3 million penalty and various bars, while Western Asset Management Company LLC was ordered to pay a $100 million civil penalty. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26666) | | 2026-09-30 | LR-26661 | Robert Bernardi and Sunil Chandra | SEC Settles Litigation with Former CEO and Vice President of Software Company Charged with Multimillion Dollar Fraud | – | disclosure fraud | Yes | Yes | $4,750,000.00 | permanent injunctions; disgorgement of profits | Section 17(a) of the Securities Act; Section 10(b) of the Exchange Act; Rule 10b-5 | United States v. Robert Bernardi, No. 21 CR 616 (PGG) (SDNY); United States v. Sunil Chandra, No. 21 CR 616 (PGG) (SDNY) | Securities and Exchange Commission v. Robert Bernardi, Nihat Cardak, and Sunil Chandra, Defendants, and Daniel Bernardi, Diane Olson, and Jenifer Bernardi, Relief Defendants, No. 21-cv-08598 (S.D.N.Y. filed Oct. 20, 2021) | The SEC settled litigation with Robert Bernardi and Sunil Chandra, former executives of GigaMedia Access Corporation, for multimillion-dollar fraud involving misrepresentation of the company's financial condition. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26661) | | 2026-09-30 | LR-26657 | Travel + Leisure Co. | SEC Files Settled Action Against Travel + Leisure Co. in Connection with Alleged Misleading Disclosures Concerning Certain Performance Measures for its Timeshare Loan Portfolio | TNL | disclosure fraud | Yes | Yes | $975,000.00 | permanent injunctions; civil penalties | Sections 17(a)(2) and (a)(3) of the Securities Act of 1933; Section 13(a) of the Securities Exchange Act of 1934; Rules 12b-20, 13a-1, 13a-11, and 13a-13 | – | Securities and Exchange Commission v. Travel + Leisure Co., No. 26-cv-62760 (S.D. Fla. filed Sept. 30, 2026) | The SEC filed a settled action against Travel + Leisure Co. for making misleading disclosures about its timeshare loan portfolio, resulting in a $975,000 civil penalty. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26657) | | 2026-09-29 | LR-26655 | Timothy E. Alatorre, Rhonda D. Stevenson, and Above: Space Development Corporation f/k/a Orbital Assembly Corporation | SEC Files Settled Action Against Start-Up Space Station Construction Company, Its CEO, and Its Former COO | – | disclosure fraud | Yes | Yes | $50,000.00 | permanent injunctions; civil penalties | Section 17(a)(3) of the Securities Act of 1933; Section 17(a)(2) of the Securities Act | – | Securities and Exchange Commission v. Timothy E. Alatorre, Rhonda D. Stevenson, and Above: Space Development Corporation f/k/a Orbital Assembly Corporation, No. 3:26-cv-11078 (N.D. Cal. filed Sept. 29, 2026) | The SEC filed settled charges against Above: Space Development Corporation, its CEO Rhonda D. Stevenson, and former COO Timothy E. Alatorre for allegedly misleading investors about the company's projects, intellectual property, and partnerships. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26655) | | 2026-09-29 | LR-26652 | Cheryl R. Kramer | SEC Files Settled Action as to Maryland Resident for Alleged Insider Trading in Massachusetts-Based Biopharmaceutical Company | SAGE | insider trading | Yes | Yes | $11,139.60 | disgorgement of $11,139.60; prejudgment interest of $2,416.61; civil penalty of $11,139.60; permanent injunction | Section 10(b) of the Exchange Act; Rule 10b-5 | – | Securities and Exchange Commission v. Cheryl R. Kramer, No. 1:26-cv-03786 (D. Maryland filed Sept. 24, 2026) | The SEC filed a settled insider trading action against Cheryl R. Kramer for allegedly trading on non-public information about Sage Therapeutics, Inc., avoiding losses of approximately $11,140. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26652) | | 2026-09-28 | LR-26650 | Fan “Jocelyn” Yang; Jing Tian; Zijun Zhang; Shuchen Zhu; Chong Zhang; and Hanxiong Bo | SEC Charges Indiana Couple and Four Others with Insider Trading | – | insider trading | Yes | Yes | $668,550.00 | permanent injunctions; civil penalties; disgorgement of profits | Section 10(b) of the Securities Exchange Act of 1934; Rule 10b-5 | U.S. Attorney’s Office for the District of Columbia | Securities and Exchange Commission v. Fan (“Jocelyn”) Yang, et al., No. 1:26-cv-03366 (D.D.C. filed Sept. 28, 2026) | The SEC charged Fan 'Jocelyn' Yang, Jing Tian, and four others with insider trading related to Cummins, Inc.'s acquisition of Meritor, Inc., resulting in over $500,000 in illicit profits, with all parties consenting to final judgments and civil penalties. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26650) | | 2026-09-28 | LR-26649 | Lloyd Anderson Wilson, C.P.A. | SEC Files Settled Action as to Georgia CPA Charged with Insider Trading | VITL | insider trading | Yes | Yes | $21,524.97 | disgorgement of $21,524.97; prejudgment interest of $4,845.92; civil penalty of $21,524.97; permanent injunction; officer-and-director bar | Section 10(b) of the Securities Exchange Act of 1934; Rule 10b-5 | – | Securities and Exchange Commission v. Lloyd Anderson Wilson, C.P.A., No. 1:26-cv-05530-TRJ (N.D. Ga. Filed Sept. 24, 2026) | The SEC filed settled charges against Lloyd Anderson Wilson, a former CPA at Vital Farms, for insider trading based on confidential information, resulting in a consented final judgment including disgorgement, prejudgment interest, a civil penalty, and a five-year officer-and-director bar. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26649) | | 2026-09-22 | LR-26645 | Lawrence Billimek and Alan Williams | SEC Files Proposed Settlement with Respect to Former Financial Services Professional and Associate for Front-Running Scheme | – | front-running; insider trading | Yes | Yes | $59,339,216.75 | disgorgement of profits; permanent injunctions | Section 17(a) of the Securities Act of 1933; Section 10(b) of the Securities Exchange Act of 1934; Rule 10b-5; Section 17(j) of the Investment Company Act of 1940; Rules 17j-1(b)(1) and (3) | United States v. Lawrence Billimek and Alan Williams, 22 cr. 675 (PGG) (S.D.N.Y.) | Securities and Exchange Commission v. Lawrence Billimek and Alan Williams, No. 22-cv-10542-JHR (S.D.N.Y. filed Dec. 14, 2022) | The SEC filed proposed final judgments against Lawrence Billimek and Alan Williams for a front-running scheme, seeking permanent injunctions and disgorgement of profits, with the judgments subject to court approval. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26645) | | 2026-09-21 | LR-26643 | Michael Ayala; Wavemark Capital, LLC | SEC Files Settled Action Against Mobile Home Park Company and its CEO in Alleged Fraudulent Offering | – | fraudulent offering; Ponzi scheme | Yes | Yes | $9,791,085.00 | disgorgement of profits; permanent injunctions; civil penalties; conduct-based injunction | Section 17(a) of the Securities Act; Section 10(b) of the Exchange Act; Rule 10b-5 | – | Securities and Exchange Commission v. Michael Ayala and Wavemark Capital, LLC, No. 26-cv-02599 (W.D. Tex. filed Sept. 21, 2026) | The SEC filed settled charges against Wavemark Capital, LLC and its CEO Michael Ayala for allegedly operating a $9.6 million fraudulent offering involving mobile home investments, resulting in a permanent injunction and financial penalties. | [Open](https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26643) | The database includes structured data in JSON format extracted from SEC litigation releases, providing the following information: - Publication date of the litigation release - Name and roles of parties being charged and involved, including their tickers and CIKs - Nature of the charges and complaints - Penalty amounts and whether settlements were reached - Parallel actions taken by other agencies, such as criminal charges by the Department of Justice - Requested reliefs, such as injunctions and civil penalties - Violated securities laws - Persons conducting the investigation and litigating the case - Other agencies involved in the investigation Users can search the Litigation Releases Database by all of the above fields via an API. The database also includes links to related documents, such as court filings, original SEC press releases, and more. Examples of litigation releases include charges related to insider trading, bribery, market manipulation, misleading investors, and other violations of securities laws. The database is updated in real-time as new litigation releases are published by the SEC. Dataset size: Over 10,000 SEC litigation releases from 1995 to present. Data update frequency: New releases are added to the database as they are published by the SEC in real-time. Survivorship bias free: Yes. The database includes all SEC litigations released from 1995 to present. ## API Endpoint To search the Litigation Releases Database, send a HTTP `POST` request with the search criteria as JSON payload to the following API endpoint: https://api.sec-api.io/sec-litigation-releases Supported HTTP methods: `POST` Request and response content type: `JSON` ### Authentication To authenticate your API requests, use the API key displayed in your user profile. You can utilize your API key in one of two ways. Choose the method that best fits your use case: - **Authorization Header**: Include your API key as an `Authorization` header in your requests. For instance, before sending a `POST` request to `https://api.sec-api.io/sec-litigation-releases`, ensure the header is set as follows: `Authorization: YOUR_API_KEY`. - **Query Parameter:** Alternatively, append your API key directly to the URL as a query parameter. For example, when making `POST` requests, use the URL `https://api.sec-api.io/sec-litigation-releases?token=YOUR_API_KEY` instead of the base endpoint. ## Search API To search the Enforcement Actions Database, make a POST request to `https://api.sec-api.io/sec-litigation-releases`, providing your search criteria as a JSON payload. ### Request Structure The Search API recognizes the following JSON payload parameters: - `query` (string, required) - The search criteria in the format `field:value` defining the structured data `field` to search in and the `value` to search for in this field. The search expression is formatted with the [Lucene syntax](https://sec-api.io/resources/lucene-query-syntax-overview) and supports `AND` and `OR` operators. Examples: `entities.ticker:TWTR` or `tags:bribery AND releasedAt:[2019-01-01 TO 2022-12-31]`. - `from` (string, optional) - Pagination control to specify the starting position of the results. Max: 10000. Default: 0. - `size` (string, optional) - Determines the number of results to be returned per request. Max: 50. Default: 50. - `sort` (array, optional) - Specifies the field by which results should be sorted. By default, results are sorted by `releasedAt` in descending order. #### Query Examples **Loading All Data** To download structured data for all litigation releases published between 1995 and 2024, you can use a date range query as shown below. The search request will return the first 50 results. To retrieve additional results, paginate through the dataset by incrementing the `from` parameter by 50 with each subsequent request. ```json { "query": "releasedAt:[2024-01-01 TO 2024-12-31]", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` The API can return a maximum of 10,000 results per `query`. Since there are more than 10,000 litigation releases between 1995 and 2024, you need to divide the search universe into smaller date ranges, such as by year. For instance: - Fetch all releases from 2024 with `releasedAt:[2024-01-01 TO 2024-12-31]`, incrementing the `from` parameter by 50 for each additional request. - Once all releases from 2024 have been retrieved, repeat the process for 2023, 2022, and earlier years until all data has been fetched. **Monitoring Most Recent Litigation Releases** To monitor the most recent litigation releases published by the SEC, you can use the following search request. This request will return the 50 most recent litigation releases. You can then periodically query the API to retrieve the latest litigation releases, for example, every 60 seconds. ```json { "query": "releaseNo:*", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` **Searching for Specific Companies** If you are interested in litigation releases involving specific companies, you can use the `ticker` or `cik` filters. The example will return litigations involving Twitter (ticker: TWTR, CIK: 1418091). ```json { "query": "entities.ticker:TWTR", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### Response Structure The Search API returns a JSON object with two main fields: `total` and `data`. The `total` field indicates the total number of results matching the search criteria, while the `data` field contains an array of enforcement actions that match the query. Each object in the `data` array represents a litigation release and includes the following fields: - `id` (string) - A system internal unique identifier of the enforcement action. - `releaseNo` (string) - The SEC release number of the litigation, e.g., `LR-26219`. - `releasedAt` (string) - The publication date and time of the litigation release, e.g. `2024-08-27T13:30:00-04:00`. Format: `yyyy-MM-ddTHH:mm:ssXXX`. - `url` (string) - The URL to the original SEC litigation release. - `resources` (array of objects) - An array of objects with `label` and `url` fields, providing links to related documents, such as complaints. - `title` (string) - The title of the litigation release. - `subTitle` (string) - The sub title of the litigation release. - `caseCitations` (array of strings) - The case citations of the litigation release, such as "Securities and Exchange Commission v. Elon Musk, No. 1:25-cv-00105 (D.D.C. filed Jan. 14, 2025)" - `summary` (string) - A brief summary of the litigation. - `tags` (array of strings) - Tags associated with the litigation, such as `bribery`, `insider trading`, etc. - `entities` (array of objects) - An array of objects representing the parties involved in the litigation. The `ticker` and `cik` fields are optional and are only present if the `name` was successfully matched to a known publicly traded company. - `name` (string) - The name of the party involved. - `type` (string) - The type of the party, such as `individual`, `company`, or `other`. - `role` (string) - The role of the party, such as `respondent`, `defendant`, `affected entity` or `other`. - `ticker` (string) - The ticker symbol of the party, if available. - `cik` (string) - The Central Index Key (CIK) of the party, if available. - `complaints` (array of strings) - An array of complaints or charges, such as "Magyar Telekom paid approximately $9 million through four sham contracts to funnel money to government officials in Montenegro." - `parallelActionsTakenBy` (array of strings) - An array of other agencies that took parallel actions related to the enforcement action, such as `U.S. Department of Justice` in case of criminal charges. - `hasAgreedToSettlement` (boolean) - Indicates whether the defendant has agreed to a settlement. - `hasAgreedToPayPenalty` (boolean) - Indicates whether the defendant has agreed to pay a penalty. - `penaltyAmounts` (array of objects) - An array of penalty objects with `penaltyAmount`, `penaltyAmountText` and `imposedOn` fields. Each object represents a penalty imposed on a party involved in the enforcement action. A charge can have multiple penalties, for example, if multiple defendants are involved. - `penaltyAmount` (string) - The cleaned penalty amount in USD. - `penaltyAmountText` (string) - The original penalty amount as stated in the enforcement action. - `imposedOn` (string) - The party on which the penalty was imposed. - `requestedRelief` (array of strings) - An array of requested reliefs, such as `disgorgement of profits`, `injunction`, `civil penalty`, etc. - `violatedSections` (array of strings) - An array of securities laws violated by the defendants, such as `Section 10(b) of the Securities Exchange Act of 1934` or `Foreign Corrupt Practices Act (FCPA)`. - `investigationConductedBy` (array of strings) - An array of persons or entities that conducted the investigation leading to the enforcement action. - `litigationLedBy` (array of strings) - An array of persons or entities that litigated the case. - `otherAgenciesInvolved` (array of objects) - An array of other agency objects (`name`, `country`) involved in the investigation or litigation, such as the Swiss Office of the Attorney General (Switzerland) in case of international cooperation. #### Response Example JSON ```json { "total": { "value": 273, "relation": "eq" }, "data": [ { "id": "9278fd9576b7bafd08c5f3def2793b0c", "releaseNo": "LR-26115", "releasedAt": "2024-09-20T16:07:45-04:00", "url": "https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26115", "title": "DiScala et al.,", "subTitle": "SEC Obtains Final Judgment Against Eighth Defendant in CodeSmart Fraud", "caseCitations": [ "Securities and Exchange Commission v. DiScala et al., No. 1:14-cv-04346 (E.D.N.Y. filed July 17, 2014; amended Jan. 19, 2016)." ], "resources": [ { "label": "Judgment", "url": "https://www.sec.gov/files/litigation/litreleases/2024/judg26115.pdf" } ], "summary": "The SEC obtained a final judgment against Abraxas (A.J.) DiScala for his role in the CodeSmart fraud, resulting in a permanent injunction and disgorgement of over $2.4 million.", "tags": [ "securities fraud", "disclosure fraud" ], "entities": [ { "name": "Abraxas (A.J.) DiScala", "type": "individual", "role": "defendant" }, { "name": "CodeSmart, Inc.", "type": "company", "role": "subject of fraud" } ], "complaints": [ "Discala and co-defendants inflated the price of CodeSmart stock and profited at the expense of brokerage customers.", "Discala and co-defendants engaged in an illegal unregistered offering of restricted shares.", "Discala and co-defendants conducted a promotional campaign with misleading press releases.", "Discala and co-defendants dumped shares causing CodeSmart's stock price to crash, resulting in investor losses." ], "parallelActionsTakenBy": [ "U.S. Attorney’s Office for the Eastern District of New York" ], "hasAgreedToSettlement": true, "hasAgreedToPayPenalty": true, "penaltyAmounts": [ { "penaltyAmount": "2400000", "penaltyAmountText": "over $2.4 million", "imposedOn": "Abraxas (A.J.) DiScala" } ], "requestedRelief": [ "permanent injunction", "officer-and-director bar", "penny stock bar", "disgorgement of ill-gotten gains" ], "violatedSections": [ "Sections 5(a), 5(c), and 17(a) of the Securities Act of 1933", "Sections 9(a) and 10(b) of the Securities Exchange Act of 1934", "Rule 10b-5" ], "investigationConductedBy": [ "Todd Brody", "Lindsay S. Moilanen", "New York Regional Office" ], "litigationLedBy": [ "Todd Brody", "Lindsay S. Moilanen" ], "otherAgenciesInvolved": [ { "name": "Federal Bureau of Investigation", "country": "United States" } ] }, { "id": "565b0769ead27a8a6743886f669024e5", "releaseNo": "LR-26044", "releasedAt": "2024-07-02T20:54:02-04:00", "url": "https://www.sec.gov/enforcement-litigation/litigation-releases/lr-26044", "title": "Silvergate Capital Corporation, Alan J. Lane, Kathleen Fraher, and Antonio Martino", "subTitle": "Former Chief Risk Officer and former CFO also charged for misleading investors", "caseCitations": [ "Securities and Exchange Commission v. Silvergate Capital Corporation et al., No. 1:24-cv-04987 (S.D.N.Y. July 1, 2024)" ], "resources": [ { "label": "SEC Complaint", "url": "https://www.sec.gov/files/litigation/complaints/2024/comp26044.pdf" } ], "summary": "The SEC charged Silvergate Capital Corporation and its former executives for misleading investors about their compliance program and financial condition, with most parties agreeing to settlements involving penalties and injunctions.", "tags": [ "disclosure fraud", "crypto", "compliance failure" ], "entities": [ { "name": "Silvergate Capital Corporation", "type": "company", "role": "defendant" }, { "name": "Alan J. Lane", "type": "individual", "role": "defendant" }, { "name": "Kathleen Fraher", "type": "individual", "role": "defendant" }, { "name": "Antonio Martino", "type": "individual", "role": "defendant" } ], "complaints": [ "Silvergate misled investors about the strength of its BSA/AML compliance program and monitoring of crypto customers.", "Silvergate and Martino misrepresented the company's financial condition during a liquidity crisis following FTX's collapse." ], "parallelActionsTakenBy": [ "Board of Governors of the Federal Reserve System", "California Department of Financial Protection and Innovation" ], "hasAgreedToSettlement": true, "hasAgreedToPayPenalty": true, "penaltyAmounts": [ { "penaltyAmount": "50000000", "penaltyAmountText": "$50 million", "imposedOn": "Silvergate Capital Corporation" }, { "penaltyAmount": "1000000", "penaltyAmountText": "$1 million", "imposedOn": "Alan J. Lane" }, { "penaltyAmount": "250000", "penaltyAmountText": "$250,000", "imposedOn": "Kathleen Fraher" } ], "requestedRelief": [ "permanent injunctions", "civil penalties", "officer-and-director bars" ], "violatedSections": [ "Sections 17(a)(2) and (3) of the Securities Act of 1933", "Section 13(a) of the Exchange Act of 1934", "Rules 12b-20, 13a-1, 13a-11, and 13a-13", "Sections 13(b)(2)(A) and 13(b)(2)(B) of the Exchange Act", "Section 17(a)(3) of the Securities Act" ], "investigationConductedBy": [ "Elizabeth Goody", "Michael Keating", "Amy Mayer", "Heidi Mitza", "Pasha Salimi", "Ivan Snyder", "Katherine Stella", "Katherine Zucca", "Leigh Barrett", "Margaret McGuire", "Mark R. Sylvester", "Michael Brennan", "Jorge G. Tenreiro" ], "litigationLedBy": [ "Hayden Brockett", "Peter Mancuso", "Laura Meehan", "Jack Kaufman", "Jorge G. Tenreiro" ], "otherAgenciesInvolved": [ { "name": "Board of Governors of the Federal Reserve System", "country": "United States" }, { "name": "California Department of Financial Protection and Innovation", "country": "United States" } ] } ] } ``` ## FAQ Common questions about querying the SEC Litigation Releases Database, the response shape, and the bulk archives. ### How do I look up all SEC enforcement cases brought against a specific public company by its ticker symbol? To pull every SEC litigation release that names a given public company by its ticker, query the `/sec-litigation-releases` endpoint and filter on the ticker field inside the entities array (`entities.ticker`). For Twitter you would set `entities.ticker` to `TWTR`; for Silvergate Capital you would use its symbol, and so on. The endpoint returns the matching releases — each containing the release number (`releaseNo`), publication date (`releasedAt`), title, summary, and the full list of parties (`entities`), along with the charges (`complaints`), violated provisions (`violatedSections`), and any penalties (`penaltyAmounts`). Keep in mind that the `ticker` field on an entity is only populated when the company name in the release was successfully matched to a known publicly traded company. Private firms, individuals, and unmatched corporate names will appear in `entities` without a ticker, so a ticker search only retrieves cases where that match was made. To sweep all 50 hits at once, set the page size to its maximum and sort by `releasedAt` in descending order to get the most recent enforcement actions first. ```json { "query": "entities.ticker:TWTR", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find every SEC enforcement action involving a particular company using its CIK number? Search the `/sec-litigation-releases` endpoint and filter on the CIK field inside the entities array (`entities.cik`). For example, Twitter's CIK `1418091` retrieves the litigations naming Twitter as a party; Flowers Foods (CIK `1128928`) returns the insider-trading case against its employees; and Capital Bancorp (CIK `1419536`) returns the prime-bank fraud release in which it was named a relief defendant. CIK matching is generally more reliable than ticker matching because a company keeps the same CIK across name changes and re-listings, and private companies that previously filed with the SEC also have CIKs. As with the ticker filter, the `cik` field on an entity is only populated when the entity name was matched to a known SEC filer — releases naming individuals or unmatched names will not have it. Sort results by `releasedAt` descending to walk the company's enforcement history from most recent backward. ```json { "query": "entities.cik:1418091", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I retrieve a specific SEC litigation release by its release number? To pull a single release by its identifier, query the `/sec-litigation-releases` endpoint and filter on the release-number field (`releaseNo`) for the exact value you want. For instance, the release on the CodeSmart fraud final judgment is identified by `LR-26115`, the Silvergate Capital case by `LR-26044`, and the Burleson cherry-picking case by `LR-26178`. Setting `releaseNo` to `LR-26115` returns that one release with all of its structured fields — title, publication date (`releasedAt`), summary, defendants (`entities`), charges (`complaints`), violated sections (`violatedSections`), penalties (`penaltyAmounts`), and any linked documents (`resources`). Because the release number is unique, the response contains at most one matching record. Pagination is not needed for this lookup. ```json { "query": "releaseNo:\"LR-26115\"", "from": 0, "size": 50 } ``` ### How do I pull every SEC litigation release published in a given calendar year? Query the `/sec-litigation-releases` endpoint and constrain the publication-date field (`releasedAt`) to the calendar year you want — for 2024, the value of `releasedAt` should fall between `2024-01-01` and `2024-12-31`. Sort by `releasedAt` in descending order so the most recent release of the year comes back first. The endpoint returns at most 50 records per call, so you need to paginate. Start with the page offset (`from`) at `0`, then increment it by `50` on each subsequent call (`50`, `100`, `150`, …) until you have walked through the entire `total.value` reported in the response. Because the API caps a single query at 10,000 results and the SEC has published well under that in any single year, a one-year window is safe to fetch in this way without splitting further. ```json { "query": "releasedAt:[2024-01-01 TO 2024-12-31]", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I monitor newly published SEC litigation releases on a recurring basis so I can build a real-time enforcement watchlist? Poll the `/sec-litigation-releases` endpoint on a recurring schedule — for example every 60 seconds — with a query that matches every release (the release-number field set to any non-empty value), sorted by publication date (`releasedAt`) in descending order. The endpoint returns the 50 most recent releases; on each poll, compare the release identifiers (`releaseNo` or `id`) you see in the response against the ones you have already processed and act on anything new. For a focused watchlist, layer a topical filter on top — for example require `tags` to include `insider trading` to alert only on insider-trading cases, or require `entities.cik` to match one of the CIKs on your watchlist to alert only on actions against specific companies. The new releases bubble up at the top of the sorted list, so a tight polling interval together with a small in-memory cache of seen release numbers is enough to drive a near real-time feed. ```json { "query": "releaseNo:*", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I download the full historical dataset of SEC litigations going back to 1995 while respecting the API's per-query result cap? The `/sec-litigation-releases` endpoint returns at most 10,000 results per query and at most 50 results per page, so the dataset back to 1995 has to be split into windows that each stay under the 10,000-result cap. Slicing by calendar year is the recommended approach: for each year from the present back to 1995, query the publication-date field (`releasedAt`) constrained to that year (for 2024, between `2024-01-01` and `2024-12-31`), sort by `releasedAt` descending, and walk the page offset (`from`) from `0` upward in increments of `50` until you have collected every release in that year. Once one year is fully drained, move to the previous year and repeat. The per-query `total.value` in the response tells you how many results that year holds and therefore how many pages you need to fetch. As long as no single year exceeds 10,000 releases — which has been comfortably true historically — yearly slicing covers the entire database from 1995 to the present without bumping into the per-query cap. ```json { "query": "releasedAt:[2024-01-01 TO 2024-12-31]", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I page through more than 50 results for a single search? On `/sec-litigation-releases`, each call returns at most 50 records, controlled by the page-size parameter (`size`, maximum `50`). To walk further into the result set, advance the page-offset parameter (`from`) by the page size on each subsequent call — start at `0`, then `50`, then `100`, and so on. The total number of matches is reported as `total.value` in the response, so you know in advance how many pages you need. The maximum value of `from` is `10000`, which caps a single query at 10,000 results regardless of how many actually match. If `total.value` exceeds 10,000, narrow the query — typically by adding a tighter date range on the publication-date field (`releasedAt`) — until each sub-query stays within the cap, then iterate those sub-queries to cover the full set. ```json { "query": "releaseNo:*", "from": 50, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find SEC enforcement actions tagged as insider trading? To pull SEC enforcement actions classified as insider trading, query the `/sec-litigation-releases` endpoint and require the tags field (`tags`) to include the value `insider trading`. The release against seven Flowers Foods employees, for example, carries exactly that tag, and the endpoint returns it along with every other release where the SEC's allegations centered on trading on material nonpublic information. The `tags` field is an array of topical labels assigned to each release, so a single release can carry several tags (for instance `insider trading` alongside `securities fraud`). Combine the tag filter with other constraints — for example pairing it with a date range on `releasedAt`, or with `entities.ticker` set to a specific symbol — to scope to insider-trading actions in a particular period or against a particular issuer. ```json { "query": "tags:\"insider trading\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I search for SEC cases related to bribery or Foreign Corrupt Practices Act violations? Bribery cases are surfaced two complementary ways on `/sec-litigation-releases`. The first is the topical tags field (`tags`): require `tags` to contain the value `bribery`. The second is the violated-sections field (`violatedSections`): require it to contain the phrase `Foreign Corrupt Practices Act`, since FCPA charges are recorded there alongside the specific securities-law sections cited (the field also accepts the longer phrasing `Foreign Corrupt Practices Act (FCPA)`). For the widest coverage, combine the two so either condition is sufficient — a release tagged `bribery` even without an explicit FCPA citation will still surface, and FCPA cases that were not tagged `bribery` will too. The returned records carry the full narrative (`summary`, `complaints`), defendants (`entities`), and any settlement or penalty information (`hasAgreedToSettlement`, `hasAgreedToPayPenalty`, `penaltyAmounts`). ```json { "query": "tags:bribery OR violatedSections:\"Foreign Corrupt Practices Act\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find SEC enforcement actions involving Ponzi schemes? Query the `/sec-litigation-releases` endpoint and require the tags field (`tags`) to contain the value `ponzi scheme`. The Cowan Asset Management case from 1996 and the Lahr and Megas case from 2022 both carry this tag, and the filter returns every release the SEC categorized as a Ponzi-scheme matter from 1995 to the present. For a tighter view, pair the tag filter with a date range on the publication-date field (`releasedAt`) to scope to a specific period, or with the agreed-to-settlement flag (`hasAgreedToSettlement`) to separate settled cases from still-litigated ones. Each returned release also lists the specific charges (`complaints`), the defendants (`entities`), and the dollar amounts ordered (`penaltyAmounts.penaltyAmount`). ```json { "query": "tags:\"ponzi scheme\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find SEC cases that involve cryptocurrency or digital-asset firms? Query the `/sec-litigation-releases` endpoint and require the tags field (`tags`) to contain the value `crypto`. The Silvergate Capital release, for example, carries the tags `disclosure fraud`, `crypto`, and `compliance failure`, and the filter returns it together with every other release the SEC labeled as crypto-related. To broaden the net beyond what the `crypto` tag catches, combine that filter with a full-text search of the narrative fields — for instance requiring the summary (`summary`) or complaints (`complaints`) to mention digital-asset terminology — or with an issuer filter on `entities.ticker` or `entities.cik` if you are tracking a specific crypto company. Each match comes back with the full structured payload, including the defendants (`entities`), violated provisions (`violatedSections`), and any penalties imposed (`penaltyAmounts`). ```json { "query": "tags:crypto", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I retrieve SEC cases where the defendant agreed to a settlement? Query the `/sec-litigation-releases` endpoint and require the agreed-to-settlement flag (`hasAgreedToSettlement`) to be `true`. The endpoint returns every release where at least one defendant entered into a settlement — for instance the Silvergate Capital release and the Burleson cherry-picking release have this flag set, while a release that is still actively contested has it `false`. Combine the settlement flag with other filters as needed: pair it with a tag (`tags`) to look only at settled bribery or insider-trading cases, with a date range on `releasedAt` to constrain a period, or with `entities.cik` to look at settlements involving a specific company. Each returned release exposes the settlement detail through the related fields — whether the defendant also agreed to pay (`hasAgreedToPayPenalty`), the per-defendant dollar amounts (`penaltyAmounts`), and the requested reliefs the SEC sought (`requestedRelief`). ```json { "query": "hasAgreedToSettlement:true", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find enforcement actions where the defendant agreed to pay a monetary penalty? Query the `/sec-litigation-releases` endpoint and require the agreed-to-pay-penalty flag (`hasAgreedToPayPenalty`) to be `true`. The endpoint returns the releases where at least one defendant agreed to a monetary payment — the World Tree Financial case, the CodeSmart fraud final judgment, and the Silvergate Capital release all carry this flag set, while cases that ended without a payment (or have not yet) carry it `false`. The accompanying penalty amounts are recorded in the penalties array (`penaltyAmounts`), where each entry contains the cleaned dollar value (`penaltyAmounts.penaltyAmount`), the raw text as written in the release (`penaltyAmounts.penaltyAmountText`), and the party the penalty was imposed on (`penaltyAmounts.imposedOn`). Note that a release can have the agreed-to-settlement flag (`hasAgreedToSettlement`) set without `hasAgreedToPayPenalty` — for example a non-monetary settlement involving only injunctions and bars — so filtering specifically on `hasAgreedToPayPenalty` isolates the cases that produced a payment. ```json { "query": "hasAgreedToPayPenalty:true", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I identify the largest monetary penalties imposed by the SEC over a given period? On the `/sec-litigation-releases` endpoint, the penalty information lives inside an array of per-defendant penalty objects (`penaltyAmounts`), with the cleaned dollar value carried as a numeric string in `penaltyAmounts.penaltyAmount`. To find the largest penalties over a period, constrain the publication-date field (`releasedAt`) to that window and sort the results by `penaltyAmounts.penaltyAmount` in descending order — releases like the $50 million Silvergate Capital penalty rise to the top, ahead of smaller hits such as the $526,974 ordered against Thomas Megas. Keep in mind that `penaltyAmounts` is an array — a single release can carry several penalty entries, one per defendant (Silvergate alone has separate entries for the company and for two of its officers). Because the value is stored as a numeric string in USD, treat it as a number when comparing. Page through the results in 50-record batches to compile a leaderboard of the largest fines for the window. ```json { "query": "releasedAt:[2024-01-01 TO 2024-12-31]", "from": 0, "size": 50, "sort": [{"penaltyAmounts.penaltyAmount":{"order":"desc"}}] } ``` ### How do I sum the total penalty dollars the SEC collected from a particular company across all its cases? To total the SEC penalties imposed on a specific company, first retrieve every release naming that company by querying the `/sec-litigation-releases` endpoint with `entities.cik` set to the company's CIK (or `entities.ticker` set to its symbol if you don't have the CIK — the `/mapping` endpoint can resolve a ticker to a CIK first if needed). Sort by publication date (`releasedAt`) descending and page through the matches in 50-record batches. For each returned release, walk the penalties array (`penaltyAmounts`) and sum the cleaned dollar values in `penaltyAmounts.penaltyAmount`. Because a release can list penalties against several defendants — officers as well as the company itself — restrict the sum to the entries whose `penaltyAmounts.imposedOn` matches the company's name when you only want what the company itself paid, or sum every entry to get the total dollars the SEC extracted from the entire case complex. The values are stored as numeric strings in USD, so convert to a number before adding. ```json { "query": "entities.cik:1418091", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find cases where a specific individual was personally fined and see the amount they paid? Query the `/sec-litigation-releases` endpoint and filter on the per-defendant penalty target (`penaltyAmounts.imposedOn`) for the individual's name — for example `Alan J. Lane` returns the Silvergate Capital release where the former CEO was personally fined $1 million, and `Wesley Perkins` returns the World Tree Financial release where he was fined $160,000. The endpoint returns every release that records a penalty against that person. Within each returned release, the dollar amount the individual paid lives alongside the name in the same penalty object: the cleaned numeric value in `penaltyAmounts.penaltyAmount` and the original wording from the release in `penaltyAmounts.penaltyAmountText`. Because the penalties array can list several defendants in a single case, pick out the entry whose `imposedOn` matches the individual to get their share. Names are written as they appear in the release, so use the full form (for instance `Thomas Megas` rather than just `Megas`) when filtering. ```json { "query": "penaltyAmounts.imposedOn:\"Alan J. Lane\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find enforcement actions where the SEC sought an officer-and-director bar against the defendant? Query the `/sec-litigation-releases` endpoint and filter on the requested-relief field (`requestedRelief`) for the phrase `officer-and-director bar`. The CodeSmart fraud release names this relief explicitly, as does the Provectus release against the former CEO; the Silvergate Capital release records a closely related variant (`officer-and-director bars`, plural). Use a phrase match on `officer-and-director` so both singular and plural wordings are covered. The `requestedRelief` field is an array of free-text relief descriptions taken from the release, so it commonly carries several entries alongside the bar — `permanent injunction`, `disgorgement of ill-gotten gains`, `civil penalties`, and so on. Pair the relief filter with other constraints — for example a date range on `releasedAt` or a tag on `tags` — to narrow to officer-and-director-bar actions of a specific kind or period. ```json { "query": "requestedRelief:\"officer-and-director bar\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find SEC cases that included a disgorgement order? Query the `/sec-litigation-releases` endpoint and filter on the requested-relief field (`requestedRelief`) for the word `disgorgement`. The relief wording is taken verbatim from the release, so the same concept appears in several forms — `disgorgement`, `disgorgement of profits`, `disgorgement of ill-gotten gains`, `disgorgement plus interest` — and a partial match on `disgorgement` covers all of them. The CodeSmart fraud release, the World Tree Financial release, the Internet Casino Sports Gaming release, and many others all carry a disgorgement entry in `requestedRelief`. Combine the filter with a date range on the publication-date field (`releasedAt`) to scope to a period, or with the agreed-to-pay-penalty flag (`hasAgreedToPayPenalty`) when you only want disgorgement orders that the defendant agreed to pay. The actual dollar amount, when one was set, is recorded in `penaltyAmounts.penaltyAmount`. ```json { "query": "requestedRelief:disgorgement", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I search for SEC actions where the alleged violations include Rule 10b-5? Query the `/sec-litigation-releases` endpoint and filter on the violated-sections field (`violatedSections`) for the phrase `Rule 10b-5`. The endpoint returns every release that cited the anti-fraud rule under the Securities Exchange Act — the CodeSmart fraud release, the Internet Casino Sports Gaming release, the Cowan Ponzi-scheme release, and the Burleson cherry-picking release all carry this entry in `violatedSections`. Because `violatedSections` is a free-text array of cited provisions taken from the SEC's complaint, the rule may appear alongside related citations such as `Section 10(b) of the Securities Exchange Act of 1934`, `Rules 10b-5, 13a-14, 13b2-1, 13b2-2, 14a-3 and 14a-9` (a combined enumeration), or simply `Rules 10b-5`. A phrase match on `10b-5` is the most reliable way to capture every wording. Pair the filter with a date range on `releasedAt` or with `entities.ticker` / `entities.cik` to narrow to a specific period or issuer. ```json { "query": "violatedSections:\"10b-5\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find SEC enforcement actions that ran in parallel with criminal charges from the Department of Justice or a U.S. Attorney's Office? Query the `/sec-litigation-releases` endpoint and filter on the parallel-actions field (`parallelActionsTakenBy`) for either `Department of Justice` or `U.S. Attorney`. The Lahr and Megas Ponzi-scheme release lists both `U.S. Attorney's Office for the Eastern District of Pennsylvania` and `Fraud Section of the Department of Justice`; the CodeSmart fraud release lists `U.S. Attorney's Office for the Eastern District of New York`. A phrase match on either of those substrings covers the common ways the DOJ and the various U.S. Attorney's offices are written. The `parallelActionsTakenBy` field is an array of free-text agency strings — alongside DOJ entries you will often see state regulators and federal banking authorities, which is how the Silvergate Capital release picks up the Federal Reserve Board and the California Department of Financial Protection and Innovation. To get only criminal-parallel cases, restrict the filter to DOJ-family strings rather than the broader set. ```json { "query": "parallelActionsTakenBy:\"Department of Justice\" OR parallelActionsTakenBy:\"U.S. Attorney\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find SEC cases that involved cooperation with a foreign regulator or law-enforcement agency? On the `/sec-litigation-releases` endpoint, the other-agencies field (`otherAgenciesInvolved`) is an array of agency objects, each with a name (`otherAgenciesInvolved.name`) and a country (`otherAgenciesInvolved.country`). To find cases that involved a non-U.S. regulator or law-enforcement body, filter on `otherAgenciesInvolved.country` and exclude `United States` — what remains are the releases where the cooperating agency is foreign, for example a Swiss Office of the Attorney General or a U.K. Financial Conduct Authority entry. If you want a particular country, set `otherAgenciesInvolved.country` to that country's name directly. You can also filter on the agency name (`otherAgenciesInvolved.name`) when you are tracking a specific foreign regulator. The returned releases carry the full structured payload — defendants (`entities`), charges (`complaints`), and any parallel criminal actions (`parallelActionsTakenBy`) — which together give the cross-border context of each case. ```json { "query": "otherAgenciesInvolved.country:* AND NOT otherAgenciesInvolved.country:\"United States\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I list every SEC case investigated by a specific regional office? Query the `/sec-litigation-releases` endpoint and filter on the investigation-conducted-by field (`investigationConductedBy`) for the office's name — for example `New York Regional Office` returns the CodeSmart fraud release, and `Los Angeles Regional Office` returns the World Tree Financial release. The field is an array of free-text entries that lists both individual staff members and the offices they belong to, so a phrase match on the office name is the right way to scope to a single regional office. The wording in `investigationConductedBy` mirrors how the release names the office, so values such as `New York Regional Office`, `SEC's Los Angeles Regional Office`, or `Division of Enforcement` may appear. A substring match on the core office name (for example `New York Regional`) captures the small variations. Pair the filter with a date range on the publication-date field (`releasedAt`) when you need a regional-office caseload for a specific period. ```json { "query": "investigationConductedBy:\"New York Regional Office\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find all enforcement cases litigated by a particular SEC staff attorney? Query the `/sec-litigation-releases` endpoint and filter on the litigation-led-by field (`litigationLedBy`) for the attorney's name. For example, filtering on `Jorge G. Tenreiro` returns the Silvergate Capital release, where he is one of the lead litigators; filtering on `Matthew Scarlato` returns the Lahr and Megas Ponzi-scheme release. The field is an array of names taken directly from the release. Names are written as they appear in the release — typically first name, middle initial, last name — so use the full form when filtering. The same person may also appear in the investigation-conducted-by field (`investigationConductedBy`) for cases where they led the investigation as well, so to capture an attorney's full footprint across the dataset, query both fields. Sort by publication date (`releasedAt`) descending to walk the attorney's caseload from most recent backward. ```json { "query": "litigationLedBy:\"Jorge G. Tenreiro\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I pull the linked court documents (complaints, judgments, opinions) attached to a litigation release? Each litigation release returned by `/sec-litigation-releases` carries a resources array (`resources`) where every entry has a label (`resources.label`) and a URL (`resources.url`) pointing at a related document on the SEC's site. The Lahr and Megas release, for example, exposes three resources — the SEC complaint, the judgment, and the memorandum opinion — each with its own label and a direct PDF URL; the CodeSmart fraud release exposes a single judgment PDF. To extract the documents for a release, read its `resources` array and iterate over the entries, using `resources.label` to tell complaints, judgments, opinions, and administrative-proceeding releases apart, and `resources.url` to fetch the actual PDF. The array can be empty for older releases where no linked documents were captured, so handle that case before downloading. ```json { "query": "releaseNo:\"LR-26115\"", "from": 0, "size": 50 } ``` ### How do I extract the court case caption and docket number for a given SEC enforcement action? The court caption and docket number for an action are recorded together in the case-citations field (`caseCitations`) on each release returned by `/sec-litigation-releases`. The field is an array of citation strings — for the CodeSmart fraud release the entry reads `Securities and Exchange Commission v. DiScala et al., No. 1:14-cv-04346 (E.D.N.Y. filed July 17, 2014; amended Jan. 19, 2016).`, where the case caption (`Securities and Exchange Commission v. DiScala et al.`), the docket number (`1:14-cv-04346`), and the court abbreviation (`E.D.N.Y.`) all sit inside one string. For most releases the array carries a single citation, but a case that produced parallel filings can carry several entries. To extract the structured pieces, parse each string into its components — caption (everything before the `, No.`), docket number (the `No.` segment), court and filing date (the parenthetical). Use the release-number field (`releaseNo`) to look up the specific release first and then read its `caseCitations` array. ```json { "query": "releaseNo:\"LR-26115\"", "from": 0, "size": 50 } ``` ### How do I find cases where an individual was named as a "relief defendant" rather than a primary defendant? On `/sec-litigation-releases`, every party named in a case is recorded in the entities array (`entities`), and each entity carries a role (`entities.role`) that distinguishes between primary defendants (`defendant`) and relief defendants (`relief defendant`). The Parrish prime-bank fraud release, for example, names `Eduard Akopian` and `Capital Bancorp` with `entities.role` set to `relief defendant`, alongside the primary defendants whose role is `defendant`. To find cases that include a relief defendant, query the endpoint and require `entities.role` to be `relief defendant`. To find cases where a specific individual was named as a relief defendant, combine the role filter with a filter on the entity name (`entities.name`) for that person. Relief defendants are parties who allegedly received ill-gotten gains but are not themselves charged with wrongdoing, which is why they appear in the same `entities` array but with a distinct role value. ```json { "query": "entities.role:\"relief defendant\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I distinguish corporate defendants from individual defendants in a result set? Every party in the entities array (`entities`) on a release returned by `/sec-litigation-releases` carries a type (`entities.type`) that tells you what kind of party it is. The value `company` marks corporate parties — for example `Silvergate Capital Corporation` or `Flowers Foods, Inc.` — and the value `individual` marks natural persons such as `Alan J. Lane` or `James Burleson`. A third value, `other`, covers everything that fits neither, such as the non-existent trust entity in the Cowan Ponzi-scheme release. To isolate corporate defendants in a result set, walk each release's `entities` array and keep the entries where `entities.type` is `company` and `entities.role` is `defendant`; do the symmetric thing with `entities.type` equal to `individual` for natural-person defendants. You can also push the filter into the query itself — for instance requiring `entities.type` to be `individual` and `entities.role` to be `defendant` — to retrieve only releases that name at least one individual defendant. ```json { "query": "entities.type:individual AND entities.role:defendant", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I find SEC enforcement actions that specifically charge investment advisers under the Investment Advisers Act? Query the `/sec-litigation-releases` endpoint and filter on the violated-sections field (`violatedSections`) for the phrase `Investment Advisers Act of 1940`. The Burleson cherry-picking release and the World Tree Financial release both cite `Sections 206(1) and (2) of the Investment Advisers Act of 1940` in `violatedSections`, and the Cowan release cites the broader `Sections 206(1), (2), and (4) of the Investment Advisers Act of 1940`. A phrase match on `Investment Advisers Act` captures every variant. For a tighter view, combine the filter with the agreed-to-settlement flag (`hasAgreedToSettlement`) or with a date range on the publication-date field (`releasedAt`) to scope to settled adviser cases in a given period. Each returned release exposes the related defendants (`entities`, often of type `individual` for the adviser and `company` for the advisory firm), the charges (`complaints`), and the requested reliefs (`requestedRelief`). ```json { "query": "violatedSections:\"Investment Advisers Act\"", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I count how many SEC enforcement actions per year are tagged as a particular type of misconduct so I can chart a multi-year trend? There is no dedicated aggregation endpoint, so build the year-over-year counts client-side from `/sec-litigation-releases`. For each year you want to chart, query the endpoint with two filters combined: the publication-date field (`releasedAt`) restricted to that year (for 2024, between `2024-01-01` and `2024-12-31`), and the tags field (`tags`) set to the misconduct label you care about — for example `insider trading`, `ponzi scheme`, or `crypto`. The response carries the count of matching releases as `total.value`, which is the data point for that year. Repeat the query for each year in the window — 2015 through 2024 for a ten-year trend, say — and plot the resulting `total.value` series against the year axis. When you also need the individual releases (for example to drill into a year), paginate through the matches by walking the page-offset field (`from`) in `50`-record increments; for a pure count, reading `total.value` from the first page is enough. ```json { "query": "tags:\"insider trading\" AND releasedAt:[2024-01-01 TO 2024-12-31]", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ### How do I rank companies by the total SEC penalties imposed on them over the last decade to identify the most-fined corporations? Like other aggregations, this is built client-side on top of `/sec-litigation-releases`. First, retrieve every release in the window by querying the endpoint with the publication-date field (`releasedAt`) restricted to the decade you care about (for the years 2015 through 2024, between `2015-01-01` and `2024-12-31`), sorted by `releasedAt` descending. Paginate through the matches by walking the page-offset (`from`) in `50`-record increments; if the window holds more than 10,000 releases, split it into smaller date sub-windows (typically by year) so each sub-query stays under the per-query cap. For each retrieved release, walk the entities array (`entities`) and the penalties array (`penaltyAmounts`) together: every entity of type `company` (`entities.type` equals `company`) is keyed by its CIK (`entities.cik`) or ticker (`entities.ticker`) when present, and you add up the cleaned dollar amounts in `penaltyAmounts.penaltyAmount` whose `penaltyAmounts.imposedOn` matches that company's name. The amounts are numeric strings in USD, so convert before adding. Sort the resulting company-keyed totals in descending order to produce the most-fined-corporations leaderboard for the period. ```json { "query": "releasedAt:[2015-01-01 TO 2024-12-31]", "from": 0, "size": 50, "sort": [{"releasedAt":{"order":"desc"}}] } ``` ## References - [SEC Enforcement Actions and Litigation](https://www.sec.gov/enforcement-litigation) - [SEC Litigation Releases](https://www.sec.gov/enforcement-litigation/litigation-releases) - [SEC Administrative Proceedings](https://www.sec.gov/enforcement-litigation/administrative-proceedings)