Bills, contracts and ledgers logo

SEC Filing Integrity Check: XBRL Footing, Tie-Outs, Revisions

$1.00 USDC per call · Business, finance and compliance · POST /api/v1/filing-integrity-check · Id filing-integrity-check

Before a figure from a US 10-K or 10-Q is quoted, re-checks it with exact integer arithmetic on SEC XBRL data: balance sheet identity (including noncontrolling and temporary equity), net income bridge, cash flow to balance sheet cash tie-out with restricted cash and roll-forward, EPS recomputation, every calculation-linkbase relationship the filing declares, and same-period values that a later 10-K/10-Q reports differently (disclosure-rounding differences excluded) plus Item 4.02 non-reliance 8-Ks. Returns per-check PASS, FAIL, NOT_APPLICABLE or INSUFFICIENT_DATA with expected, actual, delta and the smallest line-item set that explains each gap, and the SHA-256 of every SEC document read. No LLM. Limits: non-dimensional facts only (SEC companyfacts omits extension concepts and dimensional data), US GAAP 10-K/10-Q filers, and a revision is reported without a cause. Not legal, accounting, audit or investment advice.

What you get

A research or RAG agent can cite a filing figure with a signed record that the statements foot, tie across statements and were not changed in a later filing, instead of trusting a model's arithmetic.

Call it

Send the JSON body below to https://agents.writerslogic.com/api/v1/filing-integrity-check. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.

curl -i -X POST https://agents.writerslogic.com/api/v1/filing-integrity-check \
  -H 'content-type: application/json' \
  -d '{"ticker":"AAPL","fiscal_year":2025,"period":"FY"}'

Input

FieldTypeRequiredDescription
tickerstring; length 1..12noExchange ticker, e.g. AAPL or BRK.B. Give exactly one of ticker or cik.
cikstring; length 1..10noSEC CIK, digits only.
accessionstring; length 18..20noAccession number of a 10-K or 10-Q, e.g. 0000320193-25-000079. Give this or fiscal_year with period.
fiscal_yearinteger; 2009..2100noFiscal year of the filing's DocumentFiscalYearFocus.
periodstring; one of "FY", "Q1", "Q2", "Q3"noFY selects the 10-K; Q1 to Q3 select 10-Qs (there is no Q4 filing).
checksarray<string; one of "balance_identity", "net_income_tie_out", "cash_tie_out", "eps_recomputation", "restatement_scan", "calculation_footing">; max 6 itemsnoChecks to run; default all six.
rounding_modestring; one of "exact", "reported_precision"noexact: any nonzero difference fails. reported_precision (default): differences within half a unit of the filing's reporting scale per rounded figure pass and are flagged.

Example request body

{
  "ticker": "AAPL",
  "fiscal_year": 2025,
  "period": "FY"
}

Result

The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.

FieldTypeRequiredDescription
verdictstring; one of "CLEAN", "ARITHMETIC_FAILURE", "REVISION_FLAGGED", "INCONCLUSIVE"yesARITHMETIC_FAILURE: a footing or tie-out check failed. REVISION_FLAGGED: statements foot but a later 10-K/10-Q reports a primary-statement value of this filing differently, or an Item 4.02 notice followed. CLEAN: all applicable checks passed. INCONCLUSIVE: some check lacked data.
confidencenumberyesShare of applicable checks that reached PASS or FAIL, times 0.97.
summarystringyes
next_stepstringyes
at_stakeobjectyes
filingobjectyes
checksarray<object>yes
restatementsarray<object>yesSame concept and period with different values in two 10-K/10-Q filings, one of them this filing. Disclosure-precision differences are excluded; cause is not determined.
restatement_summaryobjectno
non_reliance_noticesarray<object>no
non_reliance_scan_fromone ofno
footing_coverageobjectno
reported_scale_usdstringno
rounding_modestringno
data_scopestring; one of "companyfacts", "companyconcept"no
not_runarray<object>yes
partialbooleanyes
top_evidencearray<object>yes
source_manifestarray<object>yes
llmstring; one of "not_used"no
disclaimerstringyes

Pay and connect

Available through: x402 (USDC on Base), MCP, RapidAPI, Apify.

Machine-readable