Skip to main content

Vintages: which filing a number comes from

/financials serves the latest restated value for every period. If a later filing restates a prior quarter in its comparative column, that later value is what you get — and fact-source names the filing it was read from, which may be a 10-Q filed a year after the quarter ended. That is correct behaviour, not a bug: it is what the company now says the period was. To see what the company originally filed, use the as-filed view with its default vintage:
vintage=original takes each period from the filing the company made for it; vintage=latest takes the restated comparatives. Every cell says which it is (own or comparative) and which document it came from. Macro series are bitemporal: the value for a date is what was known on that date. A backtest against this API never sees a revision before it happened.

Period basis: discrete or cumulative quarters

reporting_basis on /financials and /financials/as-filed chooses how interim periods are expressed — it is not a vintage:
  • individual (default) — the discrete three-month figure for each quarter.
  • as_reported — the cumulative year-to-date figure exactly as the interim filing prints it (Q3 = nine months).
Annual columns are the same under either. Cite with the same basis you queried.

Half-years

period_type=semiannual serves the statutory interim of Japanese and Transparency-Directive filers: H1 is the filer’s own six-month figure; H2 is derived as FY − H1 and only exists in a fiscal year whose H1 was filed. interim_cadence on the payload tells you whether a company reports quarterly, semiannually or annually only.

Derived fourth quarters

Most US filers do not file a Q4 10-Q. The fourth quarter is derived — annual total minus the first three quarters — and fact-source returns provenance: "derived_q4" with the arithmetic in composition. Segment blocks and note-table series derive Q4 the same way and mark it (q4Provenance, derived: true). A fiscal year without ingested Q1–Q3 has no Q4 column at all.

Missing is not zero

A null line means the serving gate withheld it or the company never reported it. Treat it as unavailable — never as 0, and never fill it with an estimate presented as data. The same holds one level up: a segment block, note table or company that fails a gate is absent or held, not approximated.

Currencies and bases

Statement values are in reporting_currency; the traded security’s listing_currency may differ. fx_usd_rates on /financials carries the per-column units-per-USD rate for non-USD reporters; market_cap in company lists is always USD. accounting_basis names the rulebook (us-gaap, ifrs-iasb, ifrs-sa, ifrs-tw, k-ifrs, ifrs-eu, …), and companies publishing under two rulebooks serve either through basis=. Fiscal years are labelled by fiscal_label_style — by end year unless the company says otherwise.

Provenance

Company financials come from SEC EDGAR XBRL and from exchange-published statements (inline XBRL, HTML or PDF), reconciled against the regulator’s own data where one exists, and pass per-company invariant batteries before being served. Macro data is FRED/ALFRED with full revision vintages. Transcripts come from licensed providers and issuer sites. For any figure you plan to quote, call /companies/{id}/fact-source — it returns the fact, the filing accession or document reference, and the arithmetic behind derived lines. Put the accession next to the number.
Nothing served by this API is investment advice. See the disclosures.