/data/facts
Return structured facts for one filing by fact_id. For line-item-name queries (e.g. revenue, net income) use POST /data/line-items instead.
Filing selection: supply filing_id, or ticker and fiscal_year with optional form_type (default 10-K) and quarter. Giving both, or form_type or quarter with filing_id, returns 422.
Request:
filing_idintegerconditional1–10⁹.
tickerstringconditionalRequired if filing_id omitted. 1–32 characters.
form_typestringDefault 10-K, max 32.
fiscal_yearintegerconditionalRequired if filing_id omitted. 1990–2100.
quarterstringMax 4 characters.
fact_idsarray of stringrequiredNon-empty; max 500 strings; each max 128 characters.
detailstringDefault "full". "light" leaves out each result's dimensional_breakdowns. See Response detail.
Response:
ticker, form_type, fiscal_year, quarterFiling identity.
source_url_prefixSource-document URL base for this filing on its regulator's platform (SEC viewer for US filings; DART, EDINET, filings.xbrl.org, cninfo for KR / JP / EU / CN). May be null. Join it with each fact's source_locator for the document URL.
resultsArray of facts (each includes concept, fact_id, optional source_locator, values, units, period fields, plus dimensions, dimensional_breakdowns and is_consolidated_total — same meaning as in POST /data/line-items). source_locator may be null or a fragment / relative path (amendments may use a ../-relative locator); callers concatenate it with source_url_prefix as-is. Amendment-affected facts also carry restated: true plus a prior object: for a value-changed fact prior holds the superseded value (raw_value / calculated_value / unit / decimals / fact_id / source_locator; calculated_value is the XBRL value as filed); for a fact added by the amendment prior is the sentinel { "added_by_amendment": "This fact was not present in the original filing; it was added by an amendment." }. Both fields are always present; on original/unaffected facts they are null.
credits_usedceil(deduped_fact_id_count / 5) × 10.
amendment_contextOptional; same idea as under filings when applicable.
_warningsOptional strings (duplicate ids deduplicated, missing ids not found in the filing).
Errors:
| HTTP | error_code | When |
|---|---|---|
| 400 | DATA_FILING_QUARTER_REQUIRED | Several filings match without a quarter; message lists available quarters. |
| 404 | DATA_FILING_NOT_FOUND | No filing for the given id or identity. |
| 403 | PLAN_TIER_INSUFFICIENT_HISTORY, PLAN_TIER_INSUFFICIENT, PLAN_TIER_INSUFFICIENT_COVERAGE | The filing is outside your plan (see History truncation notice, Coverage scope notice). Not charged. |
| 402 | CREDITS_INSUFFICIENT | Not enough credits. |
| 422 | — | Validation (empty fact_ids, limits, filing selector). |