Filing search and retrieval
Item Extractor
https://api.sec-api.io/extractorExtract 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.
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
200 | Success. The body holds the extracted section, or the word processing. |
400 | The 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. |
403 | The API key is missing, or it is not valid. |
404 | The 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. |
429 | Too many requests. Slow the request rate and retry. |
500 | Server error. Retry, and report it if it persists. |