SEC enforcement and rulemaking

Administrative Proceedings

POSThttps://api.sec-api.io/sec-administrative-proceedings

Search more than 18,000 SEC administrative proceedings published from 1995 to present, including cease-and-desist orders, orders imposing remedial sanctions and notices of proposed plans of distribution. Structured data is extracted from each new proceeding and is searchable in real time as soon as the SEC releases it.

Read the guide for this API →

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.

Request body

A JSON object. Content-Type must be application/json.

query: required string

The search criteria 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 entities.ticker:UPS

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 proceedings to return in one response.

Default "50"

sort: array of object

Sort order. Each item maps one field to an order object, for example [{ "releasedAt": { "order": "desc" } }].

Default [{ "releasedAt": { "order": "desc" } }]

order: string

Either asc or desc.

Searchable fields

Every field below can be used inside query. 34 fields are searchable, and they match the structure of the objects returned in the response.

FieldDescription
releaseNoSEC release numbers (e.g. "33-11328", "34-101702", "AAER-4542")
fileNumbersFile numbers (e.g. "3-22327") — link multiple releases under one proceeding
releasedAtPublication date / time (ISO 8601)
titleTitle of the administrative proceeding
summaryFree-text summary of the proceeding
tagsTags — e.g. "accounting fraud", "audit failure", "insider trading"
respondents.nameRespondent name
respondents.typeRespondent type — "individual", "company", or "other"

Response

A JSON object. Nested attributes are collapsed; expand one to see its fields.

total: object

How many proceedings matched the query.

value: integer

Number of matching proceedings, capped at 10000. A value of 10000 with relation gte means more than 10000 proceedings matched.

relation: string

Either eq, meaning value is exact, or gte, meaning value is a floor.

data: array of object

The matching administrative proceedings, at most size per response.

id: string

System internal unique identifier of the administrative proceeding.

releasedAt: string

Publication date and time of the proceeding, for example 2025-02-04T10:00:21-05:00. Format: yyyy-MM-ddTHH:mm:ssXXX.

releaseNo: array of string

SEC release numbers of the proceeding, for example ["33-11364", "34-102332", "AAER-4562"]. An AAER release number is listed here when one exists.

fileNumbers: array of string

File numbers of the proceeding, for example ["3-22448"]. Several releases of the same proceeding, such as a cease-and-desist order followed by a distribution plan, share the file number but carry different release numbers.

respondentsText: optional string

Names of all respondents joined into a single string.

title: string

Title of the proceeding as stated in the official release.

summary: string

Brief summary of the proceeding.

tags: array of string

Tags associated with the proceeding, for example accounting fraud or audit failure.

complaints: array of string

The complaints or charges brought in the proceeding, one sentence per item.

parallelActionsTakenBy: array of string

Other agencies that took parallel actions related to the proceeding, for example U.S. Department of Justice in the case of criminal charges.

hasAgreedToSettlement: boolean

True when the respondent has agreed to a settlement.

hasAgreedToPayPenalty: boolean

True when the respondent has agreed to pay a penalty.

requestedRelief: array of string

The requested reliefs, for example cease-and-desist order, permanent injunctions or civil penalties.

violatedSections: array of string

Securities laws violated by the respondents, for example Section 17(a)(3) of the Securities Act of 1933 or Rules 13a-14 and 13b2-1.

orders: array of string

Orders issued by the SEC in the proceeding, for example Respondent is suspended from appearing or practicing before the Commission as an accountant.

investigationConductedBy: array of string

SEC divisions and offices that conducted the investigation, for example Division of Enforcement.

litigationLedBy: array of string

SEC divisions and offices that led the litigation, for example Division of Enforcement.

Status codes

200Success. The response holds total and data.
400The request body could not be parsed, the Lucene expression in query is malformed, or size is above 50.
403The API key is missing, or it is not valid.
429Too many requests. Slow the request rate and retry.
500Server error. Retry, and report it if it persists.