Company universe
GET /v1/public/companies lists the curated fundamentals universe (S&P 500 union Nasdaq-100) with sector and industry inline.Financial statements
GET /v1/companies/{idOrLookup}/financials returns income, balance-sheet, and cash-flow statements per reporting period.All fundamentals are derived from public SEC XBRL filings. Values are official-source and redistribution-safe. The
/v1/public/companies feed is part of the public surface; the /financials endpoint requires the data:read scope.The universe
/v1/public/companies is the curated, scored fundamentals universe: the constituents of the S&P 500 and the Nasdaq-100, deduplicated. Membership is defined by carrying a SEC-derived sector, which excludes raw ticker-directory filers. The feed is intentionally lean: identity plus classification inline, so sector-aware logic resolves without a per-company fan-out. Pull the underlying metrics through the financials endpoint or the observations API.
List the scored universe
Page size, 1 to 500.
Opaque pagination cursor from
meta.pagination.next_cursor.Field to sort by (endpoint-supported).
Sort direction:
asc or desc.Response
Conduit entity identifier. Use this (or the ticker / CIK) as the
idOrLookup for financials.Registered company name.
Primary listing ticker. May be null.
SEC Central Index Key, zero-padded. May be null.
Primary exchange. May be null.
Domicile country (ISO 3, e.g.
USA).SEC-derived sector. Every universe member carries one.
Industry within the sector. May be null.
Resolve a company
TheidOrLookup path segment for the financials endpoint accepts a Conduit entity id, a ticker, or a CIK. If you only have a ticker and want to confirm the entity first, resolve it:
Pull financial statements
GET /v1/companies/{idOrLookup}/financials returns three arrays: income statements, balance sheets, and cash-flow statements. Each array element is one reporting period, newest first. Line items are mapped from SEC XBRL concepts into stable keys.
Entity id, ticker, or CIK.
Restrict to a reporting frequency:
annual or quarterly. Omit to return both.Maximum statements per type, newest first. 1 to 100.
Response
Example figures above are illustrative. Pull live values from the endpoint.
Response shape
Conduit entity id for the resolved company.
Resolved ticker. May be null.
Resolved CIK. May be null.
Income statements, newest first.
Balance sheets, newest first.
Cash-flow statements, newest first.
Reporting frequency of the statement (
annual or quarterly).Period-end date the statement describes (ISO date). Statements are keyed and sorted by this field.
Reporting currency (USD for SEC filers).
Line items by statement
Income statement
Income statement
revenue, cost_of_revenue, gross_profit, operating_expenses, research_and_development, selling_general_and_administrative, operating_income, net_income, earnings_per_share_diluted, weighted_average_shares_diluted.Balance sheet
Balance sheet
total_assets, current_assets, cash_and_equivalents, inventory, accounts_receivable, accounts_payable, current_liabilities, total_liabilities, long_term_debt, shareholders_equity.Cash flow statement
Cash flow statement
net_cash_flow_from_operations.Worked example: resolve, then pull
Find the company in the universe
List
/v1/public/companies (or resolve a ticker) to get the identity and sector. You can also confirm membership and classification here before fetching statements.Request statements by ticker
Call
/v1/companies/{ticker}/financials with period=annual and a limit. No separate id lookup is required because the path accepts ticker and CIK.Read period-keyed line items
Iterate
income_statements, balance_sheets, and cash_flow_statements. Each element is one period; line items are stable keys. Missing keys mean the concept was not reported.Notes and caveats
Where the data comes from
Where the data comes from
Statements are assembled from individual SEC XBRL fundamentals observations, one per line item per period. The financials endpoint groups them into per-period statement objects so you do not have to.
Vintages and revisions
Vintages and revisions
When a period has multiple reported vintages, the most recent value is used for each line item. The full history, including superseded values, remains queryable through the observations API with the
as_of and knowledge-time filters. Note that as_of currently approximates the ingestion timestamp rather than full provider-vintage reconstruction.Coverage breadth
Coverage breadth
The universe is US issuers in the S&P 500 and Nasdaq-100. Use
GET /v1/public/coverage for the current catalog totals and covered categories rather than assuming a fixed count.Related
Economic calendar & events
SEC filings also surface as issuer-filing events in the unified events feed.
Sync & changes
Keep a downstream copy of fundamentals fresh with incremental sync.