Our fundamentals are Point-in-Time correct
And so should your algorithm.

“StockFit is the only financial API I’ve found that provides a true Point-In-Time (PIT) Temporal Rollback Ledger out of the box. Exposing the exact SEC amendment trail allowed me to mathematically eliminate Lookahead Bias from my quantitative execution engine in a single weekend. It is an absolute game-changer for deterministic backtesting.”
Revenue, expenses, and net income
Pick an endpoint and hit Run to see live SEC data.
Comprehensive coverage of all US equities, dead or alive, sourced from official SEC filings.
Income statement, balance sheet, and cash flow normalized from raw XBRL. Every value carries its source filing, filing date, and prior-value trail, so any as-of date is reconstructable.
Resolve by ticker, CIK, CUSIP, or FIGI, including companies that were delisted, renamed, or had their ticker reassigned. Batch lookups and former-name search keep entities stable across time.
Sector-aware ratios, per-share metrics, and growth rates ready to feed a cross-sectional model. Composite quality scores include Altman-Z and Piotroski-F.
Positioning and crowding from the source: 13F institutional holders, Schedule 13D/13G beneficial owners, and Form 3/4/5 insider transactions, each with history.
Predicted and historical earnings dates for event studies and PEAD work, with consensus EPS and analyst count for the upcoming report, plus full EPS and dividend history and earnings-quality scoring.
Full 10-K, 10-Q, and 8-K documents with extracted sections and categorized 8-K items, ready as an NLP corpus. Predicted filing calendar for timing the next release.
Point-in-time fundamentals API for backtesting and factor research: income statement, balance sheet, and cash flow with a per-value audit trail. Survivorship-bias-free universe resolvable by CIK, CUSIP, and FIGI. 13F, Schedule 13D/13G, and Form 3/4/5 ownership flows. All normalized from SEC XBRL.
Fresh data from SEC EDGAR every trading day
Parsed directly from XBRL filings — fully traceable
Simple REST API with clear JSON responses
Every endpoint mentioned links to its full Swagger documentation.
sources block keyed by SEC accession number, each with the dateFiled of the filing the value came from. When a later filing restates a value, the superseded number is preserved under before, so a figure can be reconstructed as it stood on any date. Available on GET /api/financials/income-statement, /api/financials/balance-sheet, and /api/financials/cash-flow-statement.dateFiled, not the period end date. A fiscal-2024 figure first filed in February 2026 was not knowable in January 2025, and the sources block tells you exactly when each value became public. Where a value was later restated, the before entry gives you the number the market actually saw. For the untouched XBRL facts behind the normalized line items, use GET /api/financials/as-reported.sources block carries an entry such as Q4-Recon-FY-9M with "type": "Q4-Recon" next to the 10-K accession, so a derived quarter is never mistaken for a filed one. Request it via period=quarter on GET /api/financials/income-statement.delistedAt and the tickers they last traded under.symbol returns whoever holds the ticker today; querying by cik pins the entity. BBBY is the clean example: today it resolves to CIK 1130713, which is Beyond, Inc., formerly Overstock.com. The Bed Bath & Beyond that wound down in 2023 is CIK 886158, and its last annual report is still there. A universe keyed on tickers splices the two together. Resolve identifiers with GET /api/lookup/cik, /api/lookup/cusip, /api/lookup/figi, or /api/lookup/batch in bulk.splitAdjust normalizes EPS and weighted-average share counts onto the current split basis so a series stays continuous, and each adjusted period carries its splitFactor. Periods a later filing already restated are left alone, so there is no double adjustment, and absolute dollar amounts are never touched. Pass splitAdjust=false for the values exactly as originally filed. Either way the audit trail stays as-filed. Split events themselves are at GET /api/company/stock-splits.period alongside fiscalYear and fiscalPeriod, so 52/53-week and non-December calendars are not snapped to month ends. Apple's fiscal 2026 Q3, for instance, ends 2026-06-26. Aligning on period keeps cross-sectional comparisons honest for filers whose quarters do not line up.currency with any ISO 4217 code. Flow items convert at the period-average rate and balance-sheet items at the period-end spot rate, and a per-period fx block records the exact rates applied so each conversion is reproducible. Values already in the target currency pass through untouched, anything that cannot be priced for a period is left in its native currency and flagged under fx.unconverted, and currency=original disables conversion entirely.epsEstimate together with numEstimates, the analyst count behind it, alongside the predicted earnings date and expected report time. Both fields are omitted when no estimate is available, and coverage thins on small caps. Note that this is forward-looking only: there is no historical consensus archive, so a surprise series has to be accumulated by capturing the estimate before each print and pairing it with reported EPS from /api/earnings/eps-history.Get your free API key in seconds. No credit card required.