How we standardize financials

A plain-language overview of how secapi.dev maps as-reported XBRL into comparable canonical metrics — the same layer behind /v1/financials/metrics and standardized statement endpoints.

Last updated: July 7, 2026

Start from as-filed XBRL

Every standardized number begins with the filing the company actually submitted to the SEC. We ingest 10-K and 10-Q XBRL presentation and calculation linkbases, preserving accession numbers, form type, period end dates, and the original tag names.

Map tags to one canonical symbol

Companies rarely use the same XBRL tag for the same economic concept. Our canonical layer maps 200+ common as-reported tags into one storage key per metric (for example revenue, net_income_loss, total_assets) so screeners and models can compare issuers without hand-maintained tag tables.

  • -Income statement, balance sheet, and cash flow each have their own canonical vocabulary.
  • -Mappings carry a confidence score and retain the source tag on every point.
  • -When no high-confidence mapping exists, the value stays in as-reported endpoints only.

Keep as-reported available

Standardized endpoints are the fast path for analytics. As-reported statement grids remain available per accession for auditors and quants who need the exact presentation the filer used.

Source attribution on every response

Canonical series include fiscal year, form, period end, unit, source tag, and mapping confidence. That makes it straightforward to trace any value back to a specific SEC filing rather than treating the API as a black box.

Try it in the API

Canonical metrics return the mapped symbol, the original SEC tag, and a mapping confidence score so you can audit every number:

curl -G "https://api.secapi.dev/v1/financials/metrics" \
  -H "x-api-key: $SECAPI_API_KEY" \
  --data-urlencode "ticker=AAPL" \
  --data-urlencode "symbols=revenue,net_income_loss" \
  --data-urlencode "qtrs=4"

See also: Financials API reference and the public status page.