Pushbuild

SEC XBRL Company Facts: Point-in-Time Shares & Financials

Every value a US public company reported for any XBRL concept, with its filing date: shares outstanding, public float, revenue, EPS and more. Point-in-time 'as of' lookups for backtests, plus cross-sectional frames across all filers.

$0.24 per 1,000 facts

Get an API key

What it returns

Every value a US public company has reported in its SEC filings for any XBRL concept, **with the date it was filed**. Use it to rebuild what the market knew on any day, without look-ahead bias.

Each row includes the ticker, CIK, company, concept, unit, period start and end, value, **filed date**, form, fiscal year and period, accession number and frame.

Request

POST https://api.pushbuild.com/sec-company-facts/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
companieslist of stringsTickers or CIK numbers, e.g. AAPL, GME, 320193.
conceptslist of stringsXBRL concepts, e.g. dei:EntityCommonStockSharesOutstanding, us-gaap:Revenues, or shortcuts sharesOutstanding, publicFloat, revenue, netIncome, eps, assets, cash, weightedShares. Default: shares outstanding and public float.
asOfstringYYYY-MM-DD. Returns only the latest value filed on or before this date, per company and concept.
filedFromstringYYYY-MM-DD filing date lower bound.
filedTostringYYYY-MM-DD filing date upper bound.
formslist of stringsOnly facts from these forms, e.g. 10-K, 10-Q, 20-F.
framePeriodstringCross-section of every filer for the first concept, e.g. CY2025Q2I (instant), CY2025Q2 (quarter), CY2024 (year). Ignores companies.
unitstringFrames only: shares, USD, USD-per-shares or pure. Default: tried in that order.
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/sec-company-facts/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"companies": ["GME"], "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.24 per 1,000 facts. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.