Filing search and retrieval

Full-Text Search

POSThttps://api.sec-api.io/full-text-search

Search the full text of every EDGAR filing published since 2001, including every attachment such as exhibits. The API returns the metadata of matching filings and exhibits: accession number, CIK, form type, document type and the URL of the source document.

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.

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

query: required string

The case-insensitive search term or phrase. It can be a single word, a phrase, or a combination of both. Wildcards (gas*), boolean OR, exclusions (-term or NOT term) and exact phrase matching in quotation marks are supported. Terms are joined by an implicit AND. A wildcard cannot start a word, sit inside a word, or appear inside an exact phrase.

Example "substantial doubt"

formTypes: optional array of string

EDGAR form types to search in. When set, only filings of these types and their attachments are considered, and all other types are ignored.

Default all form types·Example ["8-K", "10-Q", "10-K"]

ciks: optional array of string

CIKs to restrict the search to. Leading zeros are optional and may be included.

Default all CIKs·Example ["0001811414", "1318605"]

startDate: optional string

Start of the filed-at date range, format yyyy-mm-dd. Used together with endDate to find filings and exhibits filed between the two dates.

Default 30 days ago·Example 2021-02-19

endDate: optional string

End of the filed-at date range, in the same format as startDate.

Default today·Example 2021-06-14

page: optional string

Page of results to return. Each page holds up to 100 filings, so page 3 returns filings 201 to 300. At most 10000 filings are retrievable per query.

Default "1"·Example "2"

Response

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

total: object

How many filings and exhibits matched the query.

value: integer

Number of matching filings. It is capped at 10000. Exact counts are not calculated above 10000.

relation: string

Either eq, meaning value is exact and below 10000, or gte, meaning more than 10000 filings matched.

filings: array of object

The matching filings and exhibits, at most 100 per response. They are sorted by an internal score based on how often the search term appears in the document, highest score first.

accessionNo: string

Accession number of the filing, for example 0000065011-21-000020.

cik: string

CIK of the filer, leading zeros removed, for example 65011.

companyNameLong: string

Full name of the filing company, for example MEREDITH CORP (MDP) (CIK 0000065011).

ticker: optional string

Ticker symbol of the filer, when one is available.

description: string

Description of the document, for example EXHIBIT 99 FY21 Q2 EARNINGS PRESS RELEASE.

formType: string

EDGAR form type of the filing, for example 8-K.

type: string

Document type of the matching file, for example EX-99. It differs from formType when the match is in an exhibit.

filingUrl: string

URL of the matching filing or attachment on sec.gov, for example https://www.sec.gov/Archives/edgar/data/65011/000006501121000020/fy21q2exh99earnings.htm.

filedAt: string

Filing date, format yyyy-mm-dd, for example 2021-02-04.

Status codes

200Success. The response holds total and filings.
400The request body could not be parsed, or the search expression in query is malformed.
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.