Free SEC fundamentals API: what the free key includes

A free key reads SEC balance sheets as JSON with no card. This page lists what it includes and what it does not, from the same table the API enforces.

What the free key is

A key from the dashboard, with no card. It reads SEC balance sheets for 6,251 SEC filers as JSON, each checked against Assets = Liabilities + Equity before it is served where the filing reports the lines needed, and it gives you 1,000 calls a month. Calls are counted per calendar month and reset on the first, whatever day you signed up. A call that fails on our side is not counted. Past the limit the API answers 429 with the reset date; nothing is billed, because there is no card on file.

curl -H "X-API-Key: YOUR_KEY" \
  https://balanceproof.dev/api/company/AAPL/history

Want to look first? https://balanceproof.dev/api/demo/AAPL needs no key and is rate limited per address.

A real response from the free plan

This is GET /api/company/AAPL/history on the Free plan, built by the same function the endpoint calls and read from the database when this page was rendered. Each entry in the real response carries every line item; three totals per period are shown here, and the first two periods of 3.

{
  "ticker": "AAPL",
  "years_requested": 1,
  "years_allowed": 1,
  "plan": "free",
  "periods": 3,
  "available_from": "2023-09-30",
  "balance_sheets": [
    {
      "period_end": "2026-06-27",
      "filing_date": "2026-07-31",
      "total_assets": 383266000000.0,
      "total_liabilities": 275746000000.0,
      "shareholders_equity": 107520000000.0
    },
    {
      "period_end": "2026-03-31",
      "filing_date": "2026-05-01",
      "total_assets": 371082000000.0,
      "total_liabilities": 264591000000.0,
      "shareholders_equity": 106491000000.0
    }
  ]
}

What Free includes

  • GET /api/company/{ticker} — the latest balance sheet, every line item, with the filing it came from.
  • GET /api/company/{ticker}/history — 1 year back. Ask for more and you are answered with what the plan allows, and the response says so in years_allowed.
  • GET /api/company/{ticker}/statements — income statement and cash flow, each checked, to the same depth.
  • GET /api/user/status and GET /api/plans — your remaining calls and this table as data. Checking your status never costs a call.

What is not in Free

Read from the same table the API enforces, so this cannot drift from what a call is actually allowed to do:

Features by plan
FeatureFree Needs
Balance sheet history1 year back—
What changed since the last filingNot includedStarter and above
Watchlist and email alertsNot includedStarter and above
Bulk verificationNot includedPro and above
Filing links on every figureNot includedBusiness and above
WebhooksNot includedBusiness and above
Point-in-time as_of queriesNot includedPro and above
The exceptions and restatements feedNot includedPro and above

Calls per month by plan:

Monthly calls by plan
PlanCalls a month
Free1,000
Starter5,000
Pro10,000
Business50,000

What each paid plan costs is on the pricing page, which is the only copy that is kept current.

What free does not mean here

  • Not a trial. The key does not expire. A paid plan that lapses falls back to the free allowance and the key does not change.
  • Not market data. This is filing data: balance sheets, income statements and cash flows as reported to the SEC. No prices, no estimates.
  • Filed, not live. A figure appears after the company files and the filing is loaded.

Common questions

Is there a free SEC fundamentals API?

Yes. A free BalanceProof key gives 1,000 calls a month of SEC balance sheets as JSON, with no card, and each balance sheet is checked against Assets = Liabilities + Equity when it reports the lines needed.

What does the free plan include?

The latest balance sheet for any covered company, balance sheet history going back 1 year, and income statement and cash flow to the same depth. Change tracking, watchlists, bulk verification, filing links, webhooks, point-in-time queries and the exceptions feed need a paid plan.

What happens when I use all my free calls?

The API answers with a 429 and the date the allowance resets. Calls are counted per calendar month and reset on the first. Nothing is charged, because no card is on file.

Do I need a credit card for the free API key?

No. You sign up with an email address and get a key from the dashboard.