Total assets and total liabilities API for US public companies
Send a ticker, get total assets, total liabilities and equity from a US public company's latest SEC filing as JSON, checked against Assets = Liabilities + Equity where the filing reports the lines needed.
Total assets, total liabilities and equity in one request
Send a ticker, get that company’s total assets, total liabilities and equity from its latest SEC filing as JSON. Every figure comes with the period it is for and the date of the filing it was read from, so you can open the filing and compare.
curl -H "X-API-Key: YOUR_KEY" \
https://balanceproof.dev/api/company/AAPL
No key yet? https://balanceproof.dev/api/demo/AAPL returns the
same response with no sign-up, rate limited per address. A free key gives
1,000 calls a month with no card.
A real response
This is the response for Apple Inc. (AAPL), period ended 2026-06-27, filed 2026-07-31, read from the database when this page was rendered. It shows the totals and a few lines under them; the full response lists every balance sheet line the filer reported, and names the ones it did not.
{
"ticker": "AAPL",
"company_name": "Apple Inc.",
"period_end": "2026-06-27",
"filing_date": "2026-07-31",
"assets": {
"total_assets": {
"concept": "total_assets",
"value": 383266000000.0,
"period_end": "2026-06-27",
"filing_date": "2026-07-31",
"missing": false,
"restated": false
},
"cash": {
"concept": "cash",
"value": 39544000000.0,
"period_end": "2026-06-27",
"filing_date": "2026-07-31",
"missing": false,
"restated": false
},
"receivables": {
"concept": "receivables",
"value": 31398000000.0,
"period_end": "2026-06-27",
"filing_date": "2026-07-31",
"missing": false,
"restated": false
},
"property_plant_equipment": {
"concept": "property_plant_equipment",
"value": 51431000000.0,
"period_end": "2026-06-27",
"filing_date": "2026-07-31",
"missing": false,
"restated": false
}
},
"liabilities": {
"total_liabilities": {
"concept": "total_liabilities",
"value": 275746000000.0,
"period_end": "2026-06-27",
"filing_date": "2026-07-31",
"missing": false,
"restated": false
},
"long_term_debt": {
"concept": "long_term_debt",
"value": 71340000000.0,
"period_end": "2026-06-27",
"filing_date": "2026-07-31",
"missing": false,
"restated": false
}
},
"equity": {
"shareholders_equity": {
"concept": "shareholders_equity",
"value": 107520000000.0,
"period_end": "2026-06-27",
"filing_date": "2026-07-31",
"missing": false,
"restated": false
}
},
"data_quality_issues": [],
"source": "SEC Financial Statement Data Sets (as reported)",
"missing_concepts": ["goodwill", "loans", "trading_securities", ... 10 more]
}
The check, run on those figures:
Assets $383,266,000,000 − (liabilities $275,746,000,000 + equity $107,520,000,000) = $0
Result: balanced.
Who it is for, and where we work
BalanceProof is built in Ottawa, Canada, for data engineers, quants, fintech teams and analysts who work with US public companies, in the US and Canada. The data is companies that file periodic reports (10-K and 10-Q) with the US SEC, so 6,252 SEC filers are covered. A company that files only outside the US is not. Prices are in Canadian dollars (CAD) and are on the pricing page.
Why totals from a filing need a check
A balance sheet filed as XBRL does not hold one total assets figure. It holds the consolidated total plus a separate fact for every segment and subsidiary the filer breaks out, all valid, and only one of them is the number on the face of the statement. An API that takes the first match, or the largest, is right most of the time and wrong without leaving a trace.
Our work is the referee. We pick the combination of assets, liabilities and equity that satisfies Assets = Liabilities + Equity, and where a filing does not balance we publish it with the reason instead of adjusting it. The method is on how we verify, the measurement is in why naive XBRL extraction breaks balance sheets, and getting total liabilities from SEC EDGAR walks through the awkward cases.
Banks and other filers that report differently
A bank’s liabilities are mostly customer deposits and its equity is a thin block, so the same three totals look different from a retailer’s. The check runs on banks too. See how to read a bank balance sheet, or browse the financials sector, drawn to scale.
What it returns, and what it does not
- As filed. Figures are what the company reported in its periodic filings. Nothing is estimated, smoothed or backfilled.
- Missing is missing. A line the filer did not report is
listed under
missing_conceptsand is never returned as zero. - No prices. This is filing data. It does not return quotes, market caps or estimates.
- Not real time. A balance sheet appears after the company files it and the filing is loaded.