Filing search and retrieval
Filing Search
https://api.sec-api.ioSearch every filing and exhibit published on SEC EDGAR since 1993 with a Lucene expression, and get the filing metadata back as JSON. New filings are searchable 300 milliseconds after EDGAR publishes them.
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. Every field listed under Searchable fields can be used, combined with AND, OR, NOT, ranges and wildcards.
Example ticker:TSLA AND formType:"10-Q"
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 filings to return in one response.
Default "10"
sort: array of object
Sort order. Each item maps one field to an order object, for example [{ "filedAt": { "order": "desc" } }].
Default [{ "filedAt": { "order": "desc" } }]
order: string
Either asc or desc.
Searchable fields
Every field below can be used inside query. 45 fields are searchable, and they match the structure of the objects returned in the response.
| Field | Description |
|---|---|
accessionNo | Accession number of the filing |
formType | EDGAR form type — "10-K", "10-Q", "8-K", "S-1", … |
cik | CIK of the primary filer (leading zeros removed) |
ticker | Ticker symbol of the primary filer |
companyName | Primary filing company / person name |
companyNameLong | Long company name including filer type (Issuer, Filer, Reporting) |
description | Filing description, includes 8-K / 1-U item numbers |
filedAt | Filing acceptance timestamp (ISO 8601, Eastern Time) |
A JSON object. Nested attributes are collapsed; expand one to see its fields.
total: object
How many filings matched the query.
value: integer
Number of matching filings, capped at 10000. A value of 10000 with relation gte means more than 10000 filings matched.
relation: string
Either eq, meaning value is exact, or gte, meaning value is a floor.
filings: array of object
The matching filings, at most size per response. Every field of a filing object is itself searchable.
id: string
Internal unique id of the filing record. One filing produces several records when it references several entities, as Form 4 does. They share an accessionNo but differ by id.
accessionNo: string
Accession number of the filing, for example 0000028917-20-000033.
formType: string
EDGAR form type, for example 10-K or 10-K/A. All 150+ types are covered, including SEC correspondence.
filedAt: string
Timestamp EDGAR accepted the filing, ISO 8601 in Eastern Time. The offset is -04:00 during daylight saving and -05:00 otherwise. This is the Accepted attribute, which does not always fall on the same date as Filing Date.
cik: string
CIK of the filing issuer, leading zeros removed.
ticker: optional string
Ticker of the filer. Absent for non-listed filers such as mutual funds and asset-backed securities.
companyName: string
Name of the primary filing company or person.
companyNameLong: string
Company name including the filer type, for example ALLIED MOTION TECHNOLOGIES INC (0000046129) (Issuer).
description: string
Form description. On 8-K, D, ABS-15G and 1-U filings it also carries the reported item numbers.
periodOfReport: optional string
Reporting period, YYYY-MM-DD. Its meaning depends on the form: fiscal year end on 10-K, transaction date on Form 4, quarter end on 13F.
linkToFilingDetails: string
URL of the filing document itself on sec.gov. Pass this to the Download API or the PDF Generator API.
linkToHtml: string
URL of the filing index page on sec.gov.
linkToTxt: string
URL of the complete submission text file, which holds the filing and every exhibit. Can exceed several hundred megabytes.
linkToXbrl: optional string
URL of the XBRL instance document, when the filing has one.
effectivenessDate: optional string
Effectiveness date, YYYY-MM-DD. Reported on EFFECT, 18-K, TA-1 and a few other forms.
effectivenessTime: optional string
Effectiveness time, HH:mm:ss. Reported on EFFECT forms only.
registrationForm: optional string
Registration form type reported on EFFECT forms, for example S-1.
referenceAccessionNo: optional string
Referenced accession number reported on EFFECT forms.
items: optional array of string
Item codes reported on 8-K, D, ABS-15G and 1-U filings, for example Item 9.01: Financial Statements and Exhibits.
groupMembers: optional array of string
Group member names reported on SC 13D and SC 13G filings.
entities: array of object
Every entity the filing refers to. The first item is always the filing issuer.
documentFormatFiles: array of object
Primary files of the filing and its exhibits. The first item is the filing, the last is its .txt version. Everything between can be exhibits, press releases, graphics or XML.
dataFiles: array of object
Data files attached to the filing, primarily XBRL.
seriesAndClassesContractsInformation: optional array of object
Series and class or contract information, reported by funds.
Status codes
200 | Success. The response holds total, query and filings. |
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. |