SEC Enforcement Actions Database

The Enforcement Actions Database provides access to all SEC enforcement actions from 1997 to present, including administrative proceedings, orders, complaints, civil actions and more. The database includes structured data in JSON format extracted from SEC enforcement actions, providing the following information:

  • Publication date of the action
  • Name and roles of parties being charged, 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 Enforcement Actions 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, litigation releases, and more.

Examples of enforcement actions 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 enforcement actions are published by the SEC.

Dataset size:
Over 10,000 SEC enforcement actions from 1997 to present.
Data update frequency:
New charges and actions are added to the database as they are published by the SEC in real-time.
Survivorship bias free:
Yes. The database includes all SEC enforcement actions from 1997 to present.

API Endpoint

To search the Enforcement Actions Database, send a HTTP POST request with the search criteria as JSON payload to the following API endpoint:

https://api.sec-api.io/sec-enforcement-actions

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-enforcement-actions, 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-enforcement-actions?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-enforcement-actions, 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 and supports AND and OR operators. Examples: entities.ticker:IEP or tags:bribery AND filedAt:[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
In order to download structured data of all enforcement actions published between 2004 and 2022, you can use a date range query as follows. This query will return the first 50 results. In order to retrieve all results, you can paginate through the results by increasing the from parameter by 50 on each subsequent request.

JSON
1 {
2 "query": "releasedAt:[2004-01-01 TO 2022-12-31]",
3 "from": 0, // set to 50 for the next page, then 100, 150, etc.
4 "size": 50,
5 "sort": [{ "releasedAt": { "order": "desc" } }]
6 }

Monitoring Most Recent Enforcement Actions
To monitor the most recent enforcement actions published by the SEC, you can use the following query. This query will return the 50 most recent enforcement actions. You can then periodically query the API to retrieve the latest enforcement actions, for example, every 60 seconds.

JSON
1 {
2 "query": "releaseNo:*",
3 "from": 0,
4 "size": 50,
5 "sort": [{ "releasedAt": { "order": "desc" } }]
6 }

Searching for Specific Companies
If you are interested in enforcement actions involving specific companies, you can use the ticker or cik filters. The example will return actions involving eToro (ticker: ETOR, CIK: 1493318).

JSON
1 {
2 "query": "entities.ticker:ETOR", // or "entities.cik:1493318"
3 "from": 0,
4 "size": 50,
5 "sort": [{ "releasedAt": { "order": "desc" } }]
6 }

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 an enforcement action and includes the following fields:

  • id (string) - A system internal unique identifier of the enforcement action.
  • releaseNo (string) - The SEC release number of the enforcement action, e.g., 2011-279.
  • releasedAt (string) - The publication date and time of the enforcement action, e.g.2024-08-27T13:30:00-04:00. Format: yyyy-MM-ddTHH:mm:ssXXX. Records prior to 2012 only have the date part, e.g., 2011-12-29.
  • url (string) - The URL to the original SEC press release.
  • resources (array of objects) - An array of objects with label and url fields, providing links to related documents, such as litigation releases and complaints.
  • title (string) - The title of the enforcement action.
  • summary (string) - A brief summary of the enforcement action.
  • tags (array of strings) - Tags associated with the enforcement action, such as bribery, insider trading, etc.
  • entities (array of objects) - An array of objects representing the parties involved in the enforcement action, including name,type, role, ticker, and cik. The type field can be individual, company, or other. The role field can be respondent, defendant or other. The ticker and cik fields are optional and are only present if the name was successfully matched to a known publicly traded company.
  • complaints (array of strings) - An array of complaints or charges filed in the enforcement action, 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. The penaltyAmount represents the cleaned penalty amount in USD, while penaltyAmountText provides the original penalty amount as stated in the enforcement action. The imposedOn field indicates the party on which the penalty was imposed.
  • requestedRelief (array of strings) - An array of requested reliefs in the enforcement action, 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 enforcement action, such as the Swiss Office of the Attorney General (Switzerland) in case of international cooperation.

Response Example

JSON
1 {
2 "total": 1,
3 "data": [
4 {
5 "releaseNo": "2011-279",
6 "releasedAt": "2011-12-29",
7 "url": "https://www.sec.gov/news/press/2011/2011-279.htm",
8 "resources": [
9 {
10 "label": "SEC complaint v. the companies",
11 "url": "https://www.sec.gov/litigation/complaints/2011/comp22213-co.pdf"
12 },
13 {
14 "label": "SEC Complaint v. the executives",
15 "url": "https://www.sec.gov/litigation/complaints/2011/comp22213-ex.pdf"
16 },
17 {
18 "label": "Litigation Release No. LR-22213",
19 "url": "https://www.sec.gov/litigation/litreleases/2011/lr22213.htm"
20 }
21 ],
22 "title": "SEC Charges Magyar Telekom and Former Executives with Bribing Officials in Macedonia and Montenegro",
23 "summary": "The SEC charged Magyar Telekom and three former executives with bribing officials in Macedonia and Montenegro, resulting in a $95 million settlement involving both civil and criminal charges.",
24 "tags": ["bribery", "foreign corrupt practices", "telecommunications"],
25 "entities": [
26 {
27 "name": "Magyar Telekom",
28 "type": "company",
29 "role": "defendant",
30 "ticker": "MYTAY",
31 "cik": "1047564"
32 },
33 {
34 "name": "Deutsche Telekom AG",
35 "type": "company",
36 "role": "defendant",
37 "ticker": "DTEGY",
38 "cik": "946770"
39 },
40 {
41 "name": "Elek Straub",
42 "type": "individual",
43 "role": "defendant"
44 },
45 {
46 "name": "Andras Balogh",
47 "type": "individual",
48 "role": "defendant"
49 },
50 {
51 "name": "Tamas Morvai",
52 "type": "individual",
53 "role": "defendant"
54 }
55 ],
56 "complaints": [
57 "Magyar Telekom and its executives bribed government and political party officials in Macedonia and Montenegro to win business and shut out competition.",
58 "Magyar Telekom's subsidiaries in Macedonia made illegal payments of approximately $6 million under bogus consulting and marketing contracts.",
59 "Magyar Telekom paid approximately $9 million through four sham contracts to funnel money to government officials in Montenegro.",
60 "Deutsche Telekom AG violated books and records and internal controls provisions of the FCPA."
61 ],
62 "parallelActionsTakenBy": ["U.S. Department of Justice"],
63 "hasAgreedToSettlement": true,
64 "hasAgreedToPayPenalty": true,
65 "penaltyAmounts": [
66 {
67 "penaltyAmount": 31200000,
68 "penaltyAmountText": "$31.2 million",
69 "imposedOn": "Magyar Telekom"
70 },
71 {
72 "penaltyAmount": 59600000,
73 "penaltyAmountText": "$59.6 million",
74 "imposedOn": "Magyar Telekom"
75 },
76 {
77 "penaltyAmount": 4360000,
78 "penaltyAmountText": "$4.36 million",
79 "imposedOn": "Deutsche Telekom AG"
80 }
81 ],
82 "requestedRelief": [
83 "disgorgement of profits",
84 "civil penalties",
85 "permanent injunctions"
86 ],
87 "violatedSections": ["Foreign Corrupt Practices Act (FCPA)"],
88 "investigationConductedBy": ["Adam Eisner", "Charles Cain"],
89 "litigationLedBy": ["Robert Dodge"],
90 "otherAgenciesInvolved": [
91 {
92 "name": "Fraud Section of the Department of Justice's Criminal Division",
93 "country": "United States"
94 },
95 {
96 "name": "Federal Bureau of Investigation",
97 "country": "United States"
98 },
99 {
100 "name": "Hungarian Financial Supervisory Authority",
101 "country": "Hungary"
102 },
103 {
104 "name": "German Federal Financial Supervisory Authority (BaFin)",
105 "country": "Germany"
106 },
107 {
108 "name": "Swiss Office of the Attorney General",
109 "country": "Switzerland"
110 }
111 ]
112 }
113 ]
114 }

References

Miscellaneous