Skip to main content

Build a product on filed fundamentals

Arche serves income statements, balance sheets and cash flow statements for 17,000 SEC filers over 81 REST endpoints with an OpenAPI document, a typed Python SDK, and stable schemas, ordering and error semantics.

Fintech and financial applications

What an application needs from a data API

  • A stable contract. Schemas, ordering and error semantics are stable, and the same query returns the same result.
  • Values that reconcile. Figures are decimal strings, and statements are checked for accounting consistency (balance sheet equation, subtotals, gross profit, pre-tax income, change in cash) before they are served.
  • Honest coverage. Coverage endpoints report what Arche holds for a company or metric, and say whether a history has a gap, so an empty result is not mistaken for a zero.
  • A way to stay current. Restatement webhooks tell your application when a figure it already shows has changed.
  • Traceable numbers. Every value carries the accession number of its filing, so a figure on your screen can link to its source.

What Arche is not

Arche covers filed fundamentals only. It is not a market-data or price feed, and it does not serve analyst estimates. An application that needs prices or estimates pairs Arche with another source.

Worked example

Worked example: the quickstart in Python

From the Python SDK documentation: resolve a ticker, list statement versions, and ask what was knowable on a date.

python
import os
from arche_sdk import ArcheClient

with ArcheClient(api_key=os.environ["ARCHE_API_KEY"]) as client:
    resolved = client.companies.resolve("MSFT")
    statements = client.statements.list(
        resolved.cik,
        statement_type="INCOME_STATEMENT",
        page=1,
        page_size=10,
    )
    print(statements.total, "statement versions")

    point_in_time = client.statements.get_as_of_financials("2024-03-31", "0000320193")
    print(point_in_time.snapshot_hash)
pip install arche-sdk. The client raises typed exceptions, and every API error carries a request_id and trace_id.
Plans

What you need

Free covers any 25 companies with no card and no expiry. Developer ($149/month) opens the full corpus for one application, with restatement webhooks. Plans are priced per organization, not per seat; Scale adds bulk export as daily Parquet snapshots, and Enterprise adds a contracted SLA.

Current prices and limits are on the pricing page.

Documentation

Frequently asked questions
Is there an SDK for the Arche API?

Yes. The arche-sdk Python package wraps the public routes with typed models, pagination helpers and typed errors. Every endpoint is also described in a machine-readable OpenAPI document at https://api.arche.fi/openapi.json.

Does Arche provide stock prices?

No. Arche serves filed fundamentals from SEC EDGAR only: income statements, balance sheets and cash flow statements, with versions and provenance. It is not a market-data or price feed.

How is Arche priced for an application?

Per organization, not per seat, in U.S. dollars. There is a Free plan for any 25 companies; paid plans for the full corpus are published on arche.fi/pricing, and Enterprise is priced per agreement.

Further reading
Other use cases
  • Backtesting without look-ahead bias

    Backtest on SEC fundamentals as they stood on each rebalance date: as-of queries resolved by SEC acceptance time, restatements kept as versions, delisted companies retained.

  • AI agents and LLM tool use

    Give an AI agent SEC financial statements it can cite: Arche runs an MCP server whose tools call the same routes as the REST API, with accession numbers on every figure. Free plan included.

  • Quantitative research on restatements

    Study restatements directly: Arche keeps every filed version of a statement, computes per-metric deltas, classifies materiality and pushes a webhook when a filer restates.