SEC Filings API Reference
Every balance sheet on this site, as JSON. One header, one key, no SDK. Every figure is reconciled against A = L + E before it is stored — here is why that matters. Filed figures only — nothing here is derived, scored or predicted.
Getting a key
A key is issued the moment you give an address. The free tier needs no payment and no card — it is not a trial that stops.
Authentication
Send the key in an X-API-Key header. It is
not a bearer token, it does not expire, and there is no OAuth dance.
Treat it like a password: anyone holding it can spend your calls. Your
key is stored as a hash. The full value is shown once at issue;
regenerate from the dashboard if lost.
curl -H "X-API-Key: YOUR_KEY" \
https://balanceproof.dev/api/company/JPM
Lost it? Sign in. The dashboard shows the first eight characters, so you can tell which key an account is holding, and a Regenerate button that issues a new one — the old key stops working the moment you press it.
Endpoints
/api/company/{ticker}
X-API-Key required · counts as one call
The balance sheet as filed: every line item, its period end, and the filing it came from. The same numbers the drawing on /company/{ticker} is built from.
/api/demo/{ticker}
No key · no per-person limit
The same response, ungated, so you can see the shape before deciding whether to register.
/api/user/status
X-API-Key required · free
Your tier, the calls you have spent this calendar month, and what is left. Checking never costs a call.
/api/download-dataset
X-API-Key required · $79.99 one-off
Every fundamental figure this site holds, streamed as CSV. One purchase, no subscription, re-downloadable whenever you like.
/api.json
Public
This page's machine-readable index — the endpoint list, as JSON.
/health
Public
Whether the service is up and can reach its database. Cheap, and the one to point an uptime monitor at.
Limits
Counted per calendar month and reset on the first, whatever day you registered. A call that fails on our side is not counted.
| Plan | Calls / month | Over the limit |
|---|---|---|
| Free | 10 | 429, with the reset date |
| Pro | 10,000 | 429, with the reset date |
An expired Pro subscription falls back to the free allowance. It does not lock you out, and the key does not change.
Responses
JSON on every path, including the errors — a failure never returns an HTML page to something that asked for data.
| Code | Means |
|---|---|
| 200 | Here it is. |
| 401 | No key, or a key that is not ours. |
| 404 | Nothing filed for that ticker. |
| 429 | Month spent, or the demo's daily cap. |
# what a spent month looks like
curl -sS -o /dev/null -w "%{http_code}\n" \
-H "X-API-Key: YOUR_KEY" https://balanceproof.dev/api/company/AAPL
429
Try it without a key
Five a day from any one address, no registration.
curl -sS https://balanceproof.dev/api/demo/JPM | head -40
Data is for informational purposes only. Not financial advice.