Skip to main content

Treat a restatement as data, not as noise

When a company restates, Arche adds a version rather than overwriting the original, computes the per-metric deltas between versions and classifies how material the change was. “What changed, and did it matter” becomes a query rather than a reconstruction.

Quantitative research on restatements

Two questions, two parameters

Arche separates “what did the filer say at the time” from “what was knowable on this date”. as_reported=true returns each period as the filer originally stated it. as_of_date returns what was knowable on a date, which includes restatements that had already arrived by then. They answer different questions and can be combined.

What you can query

  • Statement version history, with is_restated, restatement_reason, supersedes_id and superseded_by_id on each version.
  • The restatement timeline for a statement and period: how many versions exist, which metrics changed, the largest delta per metric, and an overall severity.
  • Fact revisions: which individual facts changed between two versions of a statement.
  • Restatement alerts, polled from /v1/edgar/restatement-alerts or pushed as signed restatement.detected webhooks carrying each changed metric’s old value, new value and delta, and a materiality score.
  • Per-value provenance: the XBRL concept and filing accession behind each figure, and whether an override was applied.

Reading an empty answer correctly

A period with no metric changes returns an empty timeline with severity NONE rather than an error. Read that as “no restatement occurred”, not as missing data. The same distinction applies to fact revisions: an empty list means nothing was revised.

Worked example

Worked example: Axon’s fiscal 2024 balance sheet

On February 28, 2025 Axon Enterprise reported total current liabilities of $997,586,000 for fiscal 2024. On May 7 it filed an amendment moving $680,289,000 of convertible notes from long-term into current liabilities. Arche holds both versions; the webhook it sends for the amendment carries the change itself.

json
{
  "event_type": "restatement.detected",
  "cik": "0001069183",
  "ticker": "AXON",
  "accession_id": "0001069183-25-000075",
  "statement_type": "BALANCE_SHEET",
  "fiscal_year": 2024,
  "fiscal_period": "FY",
  "materiality_score": "HIGH",
  "summary_metrics": [
    {
      "metric_code": "total_current_liabilities",
      "change_type": "VALUE_REVISION",
      "old_value": "997586000",
      "new_value": "1677875000",
      "delta_value": "680289000"
    }
  ]
}
Excerpt of the restatement.detected payload in the webhooks documentation. Values there are marked illustrative.

To inspect the same change on demand, call GET /v1/edgar/companies/{cik}/statements/restatement-timeline with statement_type, fiscal_year and fiscal_period, or list both versions with include_restated=true.

Plans

What you need

Statement versions and restatement lineage are on every plan, including Free. Restatement webhooks start at Developer (up to 3 subscriptions) and are unlimited from Growth. The reconciliation ledger and summary start at Growth.

Current prices and limits are on the pricing page.

Documentation

Frequently asked questions
Does Arche keep the original figures after a restatement?

Yes. A restatement adds a new statement version and the previous one is never overwritten. Each version carries the filing it came from, and the per-metric deltas between versions are computed.

How do I find out when a company restates?

Poll /v1/edgar/restatement-alerts, or register a webhook from the Developer plan. Arche posts a signed restatement.detected event naming the statement, the version it supersedes and each changed metric with its old value, new value and delta.

What is the difference between as_reported and as_of_date?

as_reported=true returns each period as the filer originally stated it. as_of_date returns what was knowable on a given date, including restatements already filed by then. They answer different questions and can be combined.

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.

  • Fintech and financial applications

    A REST API for SEC financial statements to build products on: 81 documented endpoints, a typed Python SDK, decimal-string values, provenance on every figure and published per-organization pricing.