SEC enforcement and rulemaking
AAERs
https://api.sec-api.io/aaersSearch every Accounting and Auditing Enforcement Release the SEC has published since 1997. Each record carries the release metadata, the respondents, the entities involved, the alleged violations, the penalties, and links to the original SEC documents.
Authentication
Send the API key either as a header or as a query parameter. The header is preferred; the query parameter exists for cases where a header cannot be set, such as opening a URL directly in a browser.
Authorization: required header
The API key on its own. Do not prefix it with Bearer or any other word.
Example Authorization: YOUR_API_KEY
token: optional query parameter
The API key, appended to the URL. Use this only when a header is not possible.
A JSON object. Content-Type must be application/json.
query: required string
The search expression in Lucene syntax, written as field:value. Every field listed under Searchable fields can be used, combined with AND, OR, NOT, ranges and wildcards.
Example respondents.name:"Plug Power"
from: string, Maximum 10000
Index of the first result to return, used for pagination. Increment by the value of size to page through results.
Default "0"
size: string, Maximum 50
Number of AAERs to return in one response.
Default "50"
sort: array of object
Sort order. Each item maps one field to an order object, for example [{ "dateTime": { "order": "desc" } }]. Results are sorted by release date and time descending by default, starting with the most recent AAER.
Default [{ "dateTime": { "order": "desc" } }]
order: string
Either asc or desc.
Searchable fields
Every field below can be used inside query. 27 fields are searchable, and they match the structure of the objects returned in the response.
| Field | Description |
|---|---|
aaerNo | AAER release number (e.g. "AAER-4558") |
releaseNo | Other release numbers (e.g. "34-102226", "33-11356", "IA-6323") |
dateTime | Publication date / time of the AAER (ISO 8601) |
summary | Free-text summary of the AAER |
tags | Tags — e.g. "insider trading", "accounting fraud", "audit failure" |
respondents.name | Respondent name |
respondents.type | Respondent type — "individual" or "company" |
respondentsText | Comma-joined respondent names as a single string |
A JSON object. Nested attributes are collapsed; expand one to see its fields.
total: object
How many AAERs matched the query.
value: integer
Number of matching AAERs.
relation: string
Either eq, meaning value is exact, or gte, meaning value is a floor.
data: array of object
The matching AAERs, at most size per response and never more than 50.
id: string
Unique system-internal identifier of the AAER, for example dc5b96fb8b3c223b79d8181cab79a7cd.
aaerNo: string
AAER release number, for example AAER-4554.
releaseNo: array of string
Other release numbers linked to the AAER, such as litigation release numbers, for example ["33-11219", "34-98065", "IA-6323"].
dateTime: string
Release date and time of the AAER, ISO 8601 with a UTC offset, for example 2025-01-29T12:56:13-05:00.
respondents: array of object
The parties charged in the AAER.
respondentsText: string
The respondent names joined into a single string.
urls: array of object
Links to the original SEC documents of the AAER. The primary proceeding is always included.
summary: string
A short summary of the AAER.
tags: array of string
Tags describing the AAER, for example ["insider trading", "accounting fraud"].
entities: array of object
Every entity named in the enforcement action. This is broader than respondents and includes audited companies, employers and other involved parties.
complaints: array of string
The SEC complaints and allegations behind the AAER.
parallelActionsTakenBy: array of string
Other regulators or courts that took parallel action, for example ["Tokyo District Court"].
hasAgreedToSettlement: boolean
True if the respondent agreed to a settlement.
hasAgreedToPayPenalty: boolean
True if the respondent agreed to pay a penalty.
penaltyAmounts: array of object
The penalties imposed on the respondents.
requestedRelief: array of string
The reliefs the SEC requested, for example ["disgorgement", "cease and desist order"].
violatedSections: array of string
The securities laws and rules that were violated, for example ["Section 30A of the Exchange Act"].
otherAgenciesInvolved: array of object
Other regulators or organisations involved in the enforcement action. Populated only when other agencies took part.
Status codes
200 | Success. The response holds total and data. |
400 | The request body could not be parsed, or the Lucene expression in query is malformed. |
403 | The API key is missing, or it is not valid. |
429 | Too many requests. Slow the request rate and retry. |
500 | Server error. Retry, and report it if it persists. |