404 Company not found, never a partial answer. Coverage grows
daily, so the inventory below is generated from the API rather than typed — and the same
inventory is available live, to you and to any agent, without a key.
The live inventory
GET /api/v1/landing/coverage returns universe totals (companies by sector and exchange,
filings by year and type, facts, prices, macro, transcripts, observations, narratives,
guidance) and a markets[] array — for every country served: its exchanges, published
companies, the earliest reporting period held, the median completeness score, served note
tables, and for each data type the reporting periods held versus the periods that
exist. It is the authoritative answer to “what is your coverage of Saudi Arabia?”; ask
it before answering from memory. GET /api/v1/companies?country=SA then lists the
companies themselves.
Coverage today
As of 2026-09-12 the API serves 729 published companies across 25 countries, built from 64,515 parsed filings (1994–2026) carrying roughly 55.8M XBRL financial facts and 2.0M segment facts; 12,171 earnings-call transcripts across 499 companies (2010–2026), read into 742k verified observations, 72,582 extracted guidance commitments and 2,521 narratives linked by 8,522 validated claim edges; 3.7M insider transactions, 15.6M 13F holding rows and 151k 8-K events; 6.6M daily price bars for 1,120 securities since 1962; 1,127 macro series across 34 economies with 2.9M point-in-time observations since 1854; and 5,621 central-bank documents.How to read the table. History since is the earliest reporting period any served company in that market
reaches back to. Completeness is the median company score (0–100) over its whole public life — the share of the
data types a fully covered company would hold. The data-type columns are reporting periods held ÷ periods that
exist for those companies: 92% under Statements means the standardized statements exist for 92% of the
quarters and years those companies have reported since listing. 13F applies to SEC registrants only. Every
number comes from the serving tables, refreshed hourly — the same figures
prom coverage prints and
GET /api/v1/landing/coverage returns. Snapshot taken 2026-09-12.Markets
Filings from every market flow through the same standardization and the same gates, so a
Tadawul issuer’s balance sheet and a Nasdaq issuer’s balance sheet share one template and one
citation mechanism (
fact-source). The differences are exposed, not hidden:
- Currency.
listing_currency(SAR, AED, KWD, QAR, JPY, TWD, KRW, EUR, …) andreporting_currencyare fields on the company and statement payloads; statement values are in the reporting currency, andfx_usd_rateson/financialsgives the per-column rate for non-USD reporters.market_capin the company list is always USD. - Accounting basis. The company payload carries
primary_accounting_basisand anaccounting_bases[]list (basis code, rulebook, regulator). A company with more than one advertised basis — TSMC’sifrs-twstatutory statements beside its 20-F — serves either throughbasis=<code>on/financialsand/fact-source. - Interim cadence.
interim_cadenceon/financialsisquarterly,semiannualorannual_only. Japanese filers report half-years; ask forperiod_type=semiannual. - Fiscal labels.
fiscal_label_stylesays whether a fiscal year is named by its end year (end_year, the default), its start year, or its month end. - Provenance caveat. Where a non-SEC issuer’s numbers come from a printed PDF rather than
tagged XBRL, the company payload’s
provenance_caveatsays so, andfact-sourcereturns the page and printed text instead of an XBRL context.
Identifiers
{id} in every /companies/{id}/… path accepts three forms, resolved in this order:
- Numeric SEC CIK (
1045810or0001045810) — the SEC registrant. - Platform key — a letter prefix plus digits, exactly ten characters (
XSAU000001,XDFM000002,XJPX000018,DSMD000001). Case-insensitive. This is thecikfield the API returns for every non-SEC issuer, and the only unambiguous way to address one. - Ticker — upper-cased and looked up in the security registry. When a symbol exists on
more than one exchange the SEC registrant wins:
LULUis lululemon athletica, not Lulu Retail Holdings on ADX. Non-US tickers (2280,SIE,005930) resolve when they collide with nothing, but the platform key is the stable choice.
GET /api/v1/companies takes country (ISO-2), sector, search, sort
(name | price | net_change | change | volume | market_cap | pe), direction, limit
(1–1000, default 100), offset, and scope (public, the default; private for the
private-company lane, whose keys start with XPRV; or all).
Accession numbers work the same way: an SEC accession (
0001045810-25-000230, dashes
optional) or a source-document reference (SAU-2280-2025FY-FS, SAU-2280-20260331-DECK)
is accepted wherever a filing or document is addressed. Every cited value tells you which
kind it is in filing.accession_number and filing.document_ref.What “published” means
A company resolves only when its record is published and not hidden. Behind that flag are the platform’s gates: statements must tie, values are reconciled against the regulator’s own data where one exists (the SECcompanyfacts API for EDGAR filers), share counts and
restatements are cross-checked, and segment blocks, note tables and derived quarters each
carry their own gate verdicts. A company that is still being ingested is invisible to the API
until it passes — which is why a name you know may return 404 today and 200 next week.
Within a published company the same rule applies line by line: a null is a value the gate
withheld or the company never reported. Treat it as unavailable, never as zero. See
Data semantics.