Restatements and revisions data

The revisions endpoint lists annual facts whose reported value changed between the earliest version held and the latest filing that states them, with both values, both EDGAR accessions, the relative change and a changeType naming the mechanism where the evidence identifies one. It reads XBRL data from 10-K and 10-Q filings, covers US domestic filers, and excludes foreign private issuers filing 20-F or 40-F.

The same data is browsable on the public restatements page, which lists the last 60 days of revised figures and rebuilds nightly. The point-in-time corpus behind the keyed endpoint updates in batches that follow the SEC's quarterly financial statement datasets.

Fetch revised facts for a ticker

curl
curl -s "https://api.distillmarkets.com/api/v1/sec/revisions/KHC?minDelta=0.05" \
-H "X-Api-Key: $DISTILL_API_KEY"
python (requests)
import os
import requests
 
HEADERS = {"X-Api-Key": os.environ["DISTILL_API_KEY"]}
BASE = "https://api.distillmarkets.com"
 
r = requests.get(
f"{BASE}/api/v1/sec/revisions/KHC",
params={"minDelta": 0.05},
headers=HEADERS,
timeout=30,
)
r.raise_for_status()
data = r.json()
print(data["revisedFactKeys"], "of", data["annualFactKeys"], "annual facts revised")
for rev in data["revisions"]:
print(rev["conceptGroup"], rev["periodEnd"], rev["originalValue"], rev["latestValue"], rev["changeType"])

Sample response

GET /api/v1/sec/revisions/KHC?minDelta=0.05
{
"ticker": "KHC",
"cikNumber": "<10-digit CIK>",
"annualFactKeys": <number>,
"revisedFactKeys": <number>,
"revisions": [
{
"conceptGroup": "<string>",
"periodEnd": "<date>",
"originalValue": <number>,
"originalFiled": "<date>",
"originalAccession": "<EDGAR accession>",
"latestValue": <number>,
"latestFiled": "<date>",
"latestAccession": "<EDGAR accession>",
"relDelta": <fraction>,
"originalBasis": "<first-print|earliest-held>",
"changeType": "<entity-change|multi-period-recast|amendment|unclassified>"
}
]
}
Shape only. This endpoint needs an API key, so no response was captured for it. Field names come from the endpoint reference; <...> marks a value that varies. A free key receives the two counts with revisions empty; detail rows need the Analyst tier.
Recent revised figures across all companies
{
"asOf": "2026-10-02T23:58:32.930263Z",
"days": 60,
"count": 178,
"items": [
{
"eventDate": "2026-08-20",
"kind": "restatement",
"ticker": "FLUX",
"cikNumber": "0001083743",
"conceptGroup": "Cash",
"periodEnd": "2025-06-30",
"originalValue": 1334000.0000,
"revisedValue": 1300000.0000,
"relDelta": -0.025500,
"originalFiledAt": "2025-09-17",
"accession": "0001493152-26-039471"
},
{
"eventDate": "2026-08-20",
"kind": "restatement",
"ticker": "FLUX",
"cikNumber": "0001083743",
"conceptGroup": "PPE",
"periodEnd": "2025-06-30",
"originalValue": 1554000.0000,
"revisedValue": 708000.0000,
"relDelta": -0.544400,
"originalFiledAt": "2025-09-17",
"accession": "0001493152-26-039471"
},
{
"eventDate": "2026-08-20",
"kind": "restatement",
"ticker": "PSEC",
"cikNumber": "0001287032",
"conceptGroup": "RetainedEarnings",
"periodEnd": "2025-06-30",
"originalValue": -1253880000.0000,
"revisedValue": -1194137000.0000,
"relDelta": 0.047600,
"originalFiledAt": "2025-08-26",
"accession": "0001287032-26-000269"
}
]
}
Real response, captured Oct 4, 2026. Fetched from the public feed behind the /restatements page, trimmed to the first three items whose original value is at least 1,000,000 in absolute terms. The top-level nextCursor and note fields are omitted.

Limits

Related