Skip to main content
stock_financials is columnar in schema 2. periods is the header; each field row aligns to that header. Schema 2 is the default. You can omit schema in new requests:
Measured token budgets from the committed capabilities catalog:

Single statement vs statements

A single requested statement is flattened: data.statement, data.periods, data.fields, and data.unavailable_fields live directly under data. When you request more than one statement, data carries shared subject-level metadata plus a statements map. Each key (income_statement, balance_sheet, cash_flow) contains the same columnar shape a single-statement call would have:
Write parsers that branch on data.statements: if present, iterate its blocks; if absent, parse data as the one statement block.

Annual columnar shape

Trimmed from tests/fixtures/render_v2/golden_aapl_income_core.wire.json; shown values are unchanged.

Quarterly IDs

Quarter IDs come from the filer’s DEI fiscal period and year, not the calendar quarter. AAPL’s fiscal Q2 FY2026 ended on 2026-03-28.
Trimmed from tests/fixtures/render_v2/golden_aapl_quarterly_income_core.wire.json.
Schema 2’s default quarterly window is five discrete quarters: latest + four prior. That puts the same fiscal quarter from a year ago at index 4 when all five retained quarters are available. The Q4FY2025 column is derived from FY - YTD_Q3. The period-level marker derived: "fy_minus_ytd_q3" means the column is not a filer-tagged discrete quarter.

YTD IDs

YTD periods use YTDkFYyyyy, where k is the quarter ordinal included in the cumulative period.
Trimmed from tests/fixtures/render_v2/golden_aapl_ytd_income_core.wire.json; shown values are unchanged.

Refusals inside statement rows

If a field cannot be proven for the requested period, schema 2 refuses at the narrowest honest altitude. Trimmed from tests/fixtures/render_v2/golden_aapl_quarterly_cash_flow_recovery_core.wire.json; shown values are unchanged.