Filings, fundamentals and prices across three markets. Every value carries the moment we learned it, so a question about the past returns the past.
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 EDGAR, read as filed. Annual and quarterly reports, current reports, foreign private issuer reports, insider transactions and institutional holdings, each with full text, exhibits and amendments.
10-K·10-Q·8-K·6-K·FORM 4·13F-HR
XBRL financials as reported, plus daily prices.
The disclosure trail and the record around it. Exchange filings and corporate actions, OCR'd annual reports, the company register, and the courts that decide what a company owes.
NSE + BSE EOD·ANNUAL REPORTS·CORP ACTIONS·MCA REGISTER·JUDGMENTS
High Court and district judgments with extracted text and source PDFs.
Shanghai and Shenzhen A-shares, unadjusted, with the adjustment factors kept separately so history is never silently rewritten. Delisted names are retained.
SSE DAILY·SZSE DAILY·ADJ FACTORS·HALT STATUS
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.
DocumentationEnough to evaluate every market and every endpoint without speaking to anyone.