Filing search and retrieval

Item Extractor

GEThttps://api.sec-api.io/extractor

Extract one text section from a 10-K, 10-Q or 8-K filing, such as Item 1A Risk Factors or Item 7 MD&A, and get it back as cleaned plain text or cleaned HTML. Every section of every 10-K, 10-Q and 8-K filed since 1994 is covered, and a section of a new filing is available within 300 milliseconds of its publication on EDGAR.

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.

Appended to the URL as a query string.

url: required string

URL of the 10-K, 10-Q or 8-K filing on www.sec.gov. Either the .htm or the .txt version of the filing works. Amended filings such as 10-K/A, 10-Q/A and 8-K/A are supported, as are the 10-K variants 10-KT, 10KSB, 10-K405 and their amendments.

Example https://www.sec.gov/Archives/edgar/data/1318605/000156459021004599/tsla-10k_20201231.htm

item: required string

Code of the section to extract. One item per call. 10-K codes: 1, 1A, 1B, 1C, 2, 3, 4, 5, 6, 7, 7A, 8, 9, 9A, 9B, 10, 11, 12, 13, 14, 15. 10-Q codes: part1item1 to part1item4 and part2item1, part2item1a, part2item2 to part2item6. 8-K codes use a hyphen instead of a full stop, so Item 4.01 is 4-1: 1-1 to 1-5, 2-1 to 2-6, 3-1 to 3-3, 4-1, 4-2, 5-1 to 5-8, 6-1 to 6-6, 6-10, 7-1, 8-1, 9-1 and signature. A code that the form type does not define returns 404, so the 10-K code 1A cannot be used on a 10-Q, where the risk factors code is part2item1a.

Example 1A

type: optional string, text or html

Format of the returned section. text returns formatted plain text with no XBRL, XML or HTML tags, which suits NLP work. HTML character entities such as   are kept, and the start and end of a table are marked with ##TABLE_START and ##TABLE_END. html returns the original, cleaned HTML of the section, including its tables.

Default "text"

Content-Type: text/plain or text/html.

body: string

The extracted section itself, returned as the whole response body: plain text or HTML, depending on type.

Content-Type: response header

text/html when type is html and the filing URL points at the .htm version. text/plain in every other case, including a .txt filing requested as html.

processing: string

The body is the single word processing when the section has not been extracted yet. This happens for a filing published moments ago, and for a section that the filing may not contain at all, which is common on 8-K filings. Wait 500 to 1000 milliseconds and retry. If it persists after three retries the section is most likely absent. For an 8-K, confirm which sections exist by reading the items array returned by the Filing Search API.

Status codes

200Success. The body holds the extracted section, or the word processing.
400The URL is on www.sec.gov but the form type behind it could not be resolved to a 10-K, 10-Q or 8-K.
403The API key is missing, or it is not valid.
404The url is not a www.sec.gov URL, the filing is not a 10-K, 10-Q or 8-K, or the item code is not supported for that form type. The response body lists the supported item codes.
429Too many requests. Slow the request rate and retry.
500Server error. Retry, and report it if it persists.