GET /v1/filings/items splits a single SEC filing (10-K, 10-Q, or 8-K) into its constituent items with full text. Use it when you know which document you want — the risk factors of a specific 10-K, the MD&A of a specific 10-Q, the items of a specific 8-K. When you want what a company said about a topic without naming a document, use POST /v1/retrieve instead.
These routes return bare wrapper-key responses (no meta envelope) and use the flat { error, message } error body — see Errors. Unknown query parameters are silently ignored.
GET /v1/filings/items
Returns one filing, split into items with text. The filing is identified byticker + filing_type + year (plus quarter for a 10-Q, or accession_number for an 8-K).
Plan: Free and above · Credits: 1 per call — automatically refunded when the response carries no items because the document could not be parsed
string
required
Trading symbol. Resolved to a CIK internally.
string
required
One of
10-K, 10-Q, 8-K. Only these three form schemas can be split into items.integer
required
Calendar year of the filing’s period of report.
integer
Quarter 1–4. Required for 10-Q; ignored for 10-K and 8-K.
string
Filing accession number, with or without dashes. Required for 8-K — it selects the exact current report, since a company can file many 8-Ks in a year. Get it from
GET /v1/filings.string[]
Optional item-code filter, repeatable (
?item=Item-1A&item=Item-7). Accepts 1A, item-1a, Item-1A, or dotted 8-K codes like 2.02. Omit to get every extracted item.boolean
default:"false"
When
true, populate each owning item’s exhibits[] with exhibit metadata (number, description, url). Body text is not fetched unless include_exhibit_text is also set.boolean
default:"false"
When
true and include_exhibits is true, also fetch each exhibit’s body text. Exhibit text is capped per exhibit, so a large investor presentation cannot blow up the response.boolean
default:"false"
Selects the item-body resolution mode:
false(default, literal): each item’stextis the body that physically sits under its SEC heading. A core item incorporated by reference (e.g. an Item 8 that reads “see Part IV, Item 15”) returns its short pointer sentence.true(resolved): by-reference core items are expanded to the full recovered body and carrytext_mode: "resolved"plus aresolvedprovenance block. Recommended for LLM/RAG and audit pulls.
Response fields
Each entry initems[] carries:
number— canonical item code:Item-1A(10-K/10-Q) orItem-2.02(8-K).name— the human section title.text— the stripped section text.text_mode—"literal"or"resolved"(always present).resolved— provenance block, present only whentext_modeis"resolved":{ source: "in_document" | "annual_report_exhibit", resolved_from?, text_chars, truncated }.exhibits— exhibit list ({ number, description, url, text? }); empty unlessinclude_exhibitswas set and this item owns exhibits.
quarter. When the filing was fetched but could not be split into items, the response is a 200 with an empty items array and items_unavailable_reason: "unparseable_document" — and the credit for the call is refunded.
In default (literal) mode, a by-reference item — most commonly Item 8 of a 10-K whose financial statements live in Part IV — returns its pointer sentence, not the financial statements. Pass
resolve=true to expand it.8-K example
An 8-K is identified by itsaccession_number, since a company can file many current reports in one year. List the filings first, then fetch the one you want:
GET /v1/filings/items/types
Reference map of the item codes each supported form type can contain — item numbers and their standard titles for 10-K, 10-Q, and 8-K. Use it to know whichitem values are meaningful before filtering.
Plan: Free and above · Credits: free (not metered)
Item-1A → “Risk Factors” under 10-K, Item-2.02 → “Results of Operations and Financial Condition” under 8-K).