Filing Items
Split a filing into its individual numbered Items — Item 1 (Business), Item 1A (Risk Factors), Item 7 (MD&A), Item 8 (Financial Statements), and the rest. Parsed deterministically from the SEC EDGAR primary document, so each Item's text is exactly what the filer attributed to it — no model, no paraphrase.
/v1/filings/itemsIdentify a filing by ticker + filing_type + period, or directly by accession_number. Supported forms: 10-K, 10-Q, and 8-K. Get the accession from the Filings endpoint.
503 rather than return text that might be mis-attributed. You get the right Items or an honest error — never a confidently-wrong slice.Query parameters#
tickerstringoptionalAAPL. Use with filing_type + period, or skip it and pass accession_number directly.filing_type"10-K" | "10-Q" | "8-K"optionalyearnumberoptional2024. Selects the filing together with filing_type (and quarter for a 10-Q).quarternumberoptional1–4, for a 10-Q.accession_numberstringoptional0000320193-24-000123. The most precise selector and required for 8-K (a company files many per year). Takes precedence over the year/quarter selectors.itemstring | string[]optionalitem=1A or item=1A&item=7. Omit to return every Item in the filing.include_exhibitsbooleanoptionaltrue, each Item carries an exhibits array of the exhibits attached to it. Defaults to false (the array is empty).include_exhibit_textbooleanoptionaltrue (with include_exhibits), exhibit entries include their full text, not just the reference. Defaults to false.resolvebooleanoptionalresolve=true to follow the reference and return the resolved body where possible. Defaults to false — the literal pointer text is returned as filed.Example request#
# By ticker + period (10-K)
curl "https://api.focusalpha.ai/v1/filings/items?ticker=AAPL&filing_type=10-K&year=2024" \
-H "X-API-Key: $FOCUSALPHA_API_KEY"
# A single Item
curl "https://api.focusalpha.ai/v1/filings/items?ticker=AAPL&filing_type=10-K&year=2024&item=1A" \
-H "X-API-Key: $FOCUSALPHA_API_KEY"
# An 8-K (accession required)
curl "https://api.focusalpha.ai/v1/filings/items?ticker=AAPL&filing_type=8-K&accession_number=0000320193-25-000079" \
-H "X-API-Key: $FOCUSALPHA_API_KEY"Response#
Returns the filing identifiers plus an items array, in document order.
resourcestringrequired"filings" — the resource this item set belongs to.tickerstringrequiredciknumberrequiredfiling_typestringrequiredaccession_numberstringrequiredyearnumberrequiredquarternumberoptional1–4. Present only for a 10-Q.itemsobject[]requireditem#
numberstringrequiredItem-1, Item-1A, Item-7A. For 8-K the dotted event code, e.g. Item-5.02. For a 10-Q the Part-qualified form, e.g. PART I, ITEM 1 / PART II, ITEM 1A, so Part I and Part II items that share a number don't collide.namestringrequiredBusiness, Risk Factors.textstringrequiredtext_mode"literal" | "resolved"requiredliteral — the text as filed (the default). resolved — a by-reference Item whose pointer was followed because you passed resolve=true.resolvedobjectoptionaltext_mode is resolved. Carries source ("in_document" or "annual_report_exhibit"),resolved_from (the pointer target parsed from the original stub, when available), text_chars (length of the resolved body), and truncated (boolean).exhibitsobject[]optionalinclude_exhibits=true.Example response#
{
"resource": "filings",
"ticker": "AAPL",
"cik": 320193,
"filing_type": "10-K",
"accession_number": "0000320193-24-000123",
"year": 2024,
"items": [
{
"number": "Item-1",
"name": "Business",
"text": "Business\n\nCompany Background\nThe Company designs, manufactures and markets smartphones...",
"text_mode": "literal",
"exhibits": []
},
{
"number": "Item-1A",
"name": "Risk Factors",
"text": "Risk Factors\n\nThe Company's business, reputation, results of operations...",
"text_mode": "literal",
"exhibits": []
}
]
}What you get vs. raw EDGAR HTML#
A 10-K is one long HTML document with running page headers, a table of contents, exhibit indexes, and financial schedules interleaved. This endpoint returns just the narrative body attributed to each numbered Item — boundaries computed from the document structure, with back-matter (signatures, exhibit indexes, financial-statement schedules, glossaries) bounded out so it doesn’t bleed into the last Item. Short Items the filer marks None., Not applicable., or [Reserved] are returned as-is rather than dropped.
Errors#
Standard statuses: 400 (a missing required parameter — ticker and year are always required, quarter is required for a 10-Q, and accession_number is required for an 8-K — or an unsupported filing_type), 401 (bad or missing API key), 402 (rate limit or monthly quota exceeded — upgrade required), 404 (no matching filing), 503 (the layout could not be parsed with confidence — fail-closed, not an outage). See Errors.