Arche documentation
Arche is a developer-first API and MCP server for deterministic, versioned, point-in-time financial fundamentals. It reads SEC EDGAR filings into income statements, balance sheets and cash flow statements that you can retrieve as they stood on any date. A restatement adds a version rather than overwriting the last one, and every value carries the accession number of the filing it came from.
Arche is built for quant research and backtesting, financial applications, data engineering pipelines, and AI agents, which reach the same data over MCP.
Use the docs in this order:
Make a real request, retrieve a company's statements, and run an as_of query.
Learn how restatements, version history, and point-in-time correctness fit together.
Browse the live OpenAPI contract for route-level request and response details.
See how restatement drift changes research results when history is not queried correctly.
Start here
If your use case depends on historical correctness, Arche is usually about one of four tasks:
- resolve a company identifier into a canonical issuer record
- retrieve statements or filings for that issuer
- see every filing's statement for a period across restatements
- query what was knowable on a specific date
What Arche solves
Traditional datasets often expose the latest corrected history. That is convenient for present-day analysis, but it breaks reproducibility when historical values change later.
Arche preserves:
- each SEC filing's statement, the original and every amendment
- point-in-time query semantics
- deterministic retrieval for the same request
If you backtest with the latest restated values instead of what was actually knowable on the decision date, your historical results can drift over time.
First request
Resolve a ticker into a canonical issuer record:
Resolve a company
curl -X GET "https://api.arche.fi/v1/edgar/companies:resolve?ticker=MSFT" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Accept: application/json"
Representative response:
{
"data": {
"as_of": "2026-09-20",
"cik": "0000789019",
"ticker": "MSFT"
}
}
This route answers one question: which CIK this ticker meant on this date. For an issuer's name, listings or SIC code, request the company profile:
GET /v1/edgar/companies/0000320193
Representative response:
{
"data": {
"cik": "0000320193",
"entity_name": "Apple Inc.",
"tickers": ["AAPL"],
"exchanges": ["XNAS"],
"sic": "3571",
"sic_description": "Electronic Computers",
"fiscal_year_end": "0926"
}
}
Core workflows
Move from ticker lookup into filings and statement discovery.
Reconstruct what a statement looked like on a specific date.
Build research jobs that preserve knowability and reproducibility.
Quantify how historical results can change when restatements arrive later.