Balance Proof
Reconciled SEC filings. Every number traceable.
Documentation
- A = L + E checked where the filing reports the lines needed
- As filed each figure with the SEC filing it came from
- The reason when a sheet doesn't balance, the response says why
- 1,000 free calls a month, no card
A balance sheet that doesn’t add up still loads without an error.
995 of 38,568
SEC filings failed our balance sheet check on 2026-10-09. In 971 of them a line item did not reach us. Read the study
Assets equal liabilities plus equity. Or we say why not.
Apple 10-Q, period ended 2026-06-27, filed 2026-07-31
$383.3B Total assets = $275.7B Liabilities + $107.5B Equity
"identity_status": "balanced"
Balanced, as filed. Both sides are the same money, counted twice.
Artius II Acquisition Inc. 10-Q, period ended 2026-06-30, filed 2026-08-05
$232M Total assets ≠ $17M Liabilities + -$17M Equity
"identity_status": "missing_tag"
Flagged, with the reason. The filer's own stated total for liabilities plus equity equals its total assets, so the filing balances as reported; the shortfall is in what this dataset read, not in the filing.
check_balance_sheet tests assets = liabilities + equity. Two real responses, captured from production 2026-10-19. No predictions, no scores, no recommendations. Nothing estimated: where a company doesn’t report a line, the response says so rather than showing zero. How the check works · Methodology
6,256 companies covered. On 2026-11-09 (UTC), across the latest balance sheet of each: 5,842 could be tested, 5,645 reconcile and 197 are flagged with a reason.
One call. The figures, the check and the filing.
REST, the Python client or an MCP server for your assistant. API reference · Python · MCP
Request Copy
# No key needed for the demo endpoint
curl https://balanceproof.dev/api/demo/AAPL
# Your own key opens the full API
curl -H "X-API-Key: YOUR_KEY" https://balanceproof.dev/api/company/AAPL
Response real, for AAPL · scrolls
{
"ticker": "AAPL",
"company_name": "Apple Inc.",
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"assets": {
"total_assets": {
"concept": "total_assets",
"value": 404548000000.0,
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"missing": false,
"restated": false
}
},
"liabilities": {
"total_liabilities": {
"concept": "total_liabilities",
"value": 292455000000.0,
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"missing": false,
"restated": false
},
"liabilities_and_equity": {
"concept": "liabilities_and_equity",
"value": 404548000000.0,
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"missing": false,
"restated": false
}
},
"equity": {
"shareholders_equity": {
"concept": "shareholders_equity",
"value": 112093000000.0,
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"missing": false,
"restated": false
}
},
"data_quality_issues": [],
"source": "SEC Financial Statement Data Sets (as reported)"
}
Trimmed to 4 of the 26 line items, the ones the check uses. The whole answer is /api/demo/AAPL.
Request Copy
# No key needed for the demo endpoint
curl.exe https://balanceproof.dev/api/demo/AAPL
# Your own key opens the full API
curl.exe -H "X-API-Key: YOUR_KEY" https://balanceproof.dev/api/company/AAPL
# Or PowerShell's own command, no curl.exe needed
Invoke-RestMethod -Uri https://balanceproof.dev/api/company/AAPL -Headers @{"X-API-Key"="YOUR_KEY"}
Response real, for AAPL · scrolls
{
"ticker": "AAPL",
"company_name": "Apple Inc.",
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"assets": {
"total_assets": {
"concept": "total_assets",
"value": 404548000000.0,
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"missing": false,
"restated": false
}
},
"liabilities": {
"total_liabilities": {
"concept": "total_liabilities",
"value": 292455000000.0,
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"missing": false,
"restated": false
},
"liabilities_and_equity": {
"concept": "liabilities_and_equity",
"value": 404548000000.0,
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"missing": false,
"restated": false
}
},
"equity": {
"shareholders_equity": {
"concept": "shareholders_equity",
"value": 112093000000.0,
"period_end": "2026-09-26",
"filing_date": "2026-11-03",
"missing": false,
"restated": false
}
},
"data_quality_issues": [],
"source": "SEC Financial Statement Data Sets (as reported)"
}
In Windows PowerShell, plain curl is an alias for Invoke-WebRequest and will not take these flags; curl.exe is the real curl that ships with Windows 10 and 11.
Request Copy
import requests
r = requests.get("https://balanceproof.dev/api/demo/AAPL", timeout=30)
r.raise_for_status()
sheet = r.json()
print(sheet["company_name"], sheet["assets"]["total_assets"]["value"])
# With your key, the full API:
# requests.get("https://balanceproof.dev/api/company/AAPL",
# headers={"X-API-Key": "YOUR_KEY"}, timeout=30)
Output real, for AAPL
Apple Inc. 404548000000.0
Needs pip install requests and nothing else. There is also a client: pip install balanceproof.
Request Copy
claude mcp add --transport http balanceproof https://balanceproof.dev/mcp
# Then ask: Does Apple Inc.'s latest balance sheet balance?
Response what the model is handed
Apple Inc. (AAPL) balances for the period ending 2026-09-26: assets equal liabilities plus equity within tolerance.
Total assets $404.55B ($404,548,000,000). Total liabilities $292.45B ($292,455,000,000). Shareholders' equity $112.09B ($112,093,000,000).
Not every component was reported: Goodwill
{
"ticker": "AAPL",
"period_end": "2026-09-26",
"balances": true,
"identity_basis": "as_filed",
"imbalance_pct": 0.0,
"total_assets": 404548000000.0,
"total_liabilities": 292455000000.0,
"total_equity": 112093000000.0
}
Claude Code, Cursor and other MCP clients take the same URL. Setup for each client.
Live demo
The real endpoint, the real data, no key needed. Generous: plenty to evaluate with. A free key gives you more.
Want the drawing instead of the JSON? Browse every company.
Pricing
Yearly: save $98 on Pro
Prices in Canadian dollars (CAD), plus applicable taxes. Every plan, side by side
Free
$0
No card, no password.
1,000 calls a month
- Balance sheet, income statement and cash flow, each period checked when the filing reports the lines (otherwise not_testable)
- 1 year of history
- MCP server for Claude, ChatGPT and Cursor
Pro
$49 /month
Billed monthly. Cancel any time.
10,000 calls a month
- Everything in Free
- Point-in-time figures for backtests (as_of)
- Feed of failed checks, last 90 days
- Check 50 companies in one request
Business
$99 /month
Billed monthly. Cancel any time.
50,000 calls a month
- Everything in Pro
- Webhooks into your systems (5 endpoints)
- SEC filing link on every balance sheet
Enterprise
Custom
Volume and terms set with you.
A call quota set to what you use
- Every paid-plan feature, plus the dataset
- Invoicing and a signed agreement
Data is for informational purposes only. Not financial advice.
Balance sheets that prove they balance.
Call it and compare the response with EDGAR. When a statement can't be tested, the API returns the reason instead of adjusting the numbers. Free tier: 1,000 calls a month, no card.
By getting a key you accept the Terms and Privacy Policy.