Filings, fundamentals, prices and court records across three markets. Served point-in-time, traced to the source document, metered by credits.
100,000 credits on sign-up. No sales call.
A CIK is not a CIN is not an A-share code. Corpus keeps each market's own identifier and shares only the request and response shape.
SEC filings with full text and exhibits, XBRL financials as reported, insider transactions, 13F holdings, and daily prices.
NSE and BSE daily prices, annual reports, syndicated news, MCA company master data, and High Court and district judgments.
Shanghai and Shenzhen A-share daily prices, unadjusted. A suspended day carries its halt status rather than a forward-filled price.
Point-in-time: Every value carries the time we learned it, separately from the time it describes. A query as of a past date returns what was knowable then.
Traceable: Every record carries its accession, source id and retrieval time. Source bytes are content-addressed, so the document behind a number can be replayed exactly as fetched.
Unrevised: Restatements are kept as separate observations. The figure a filing first reported stays readable after the company corrects it.
Marked: A suspended trading day says suspended. An unaudited figure says unaudited. Coverage gaps are reported, not interpolated.
One key, one response envelope. The jurisdiction and the point-in-time flag travel with the payload rather than living in the docs.
curl "https://corpus-api.onera.app/us/financials/income-statements?ticker=AAPL&limit=1"
--header "X-API-KEY: $CORPUS_API_KEY"
{
"income_statements": [{
"ticker": "AAPL",
"report_period": "2025-09-27",
"revenue": 416161000000,
"net_income": 112010000000
}],
"meta": { "point_in_time": true }
}Typed envelopes. Every response carries its jurisdiction and its point-in-time metadata. OpenAPI schema published.
DocumentationThe same surface for agents. Same key, same credit accounting, no second integration to keep in step.
DocumentationNatural-language questions planned into real queries, answered with the rows and the citations behind them.
DocumentationEvery account carries the full public surface. No tier gates an endpoint. Reads are cheap. Work that fans out across documents costs more, because it costs us more.
At zero the API returns 402. Your key keeps every permission it held, so you top up rather than re-request access.
Sign upAccess is not a redistribution licence. Some sources carry no resale rights, and Corpus cannot grant rights it does not hold. Read the provenance page before building anything that republishes.
Data provenanceEnough to evaluate every market and every endpoint without speaking to anyone.