Company financials from SEC filings. Every figure links to its filing.
The Belfort Data API returns figures taken only from the filings companies make with the SEC. Each one names its filing, the value first reported and anything we adjusted. A figure our rules can’t settle is left out, not guessed.
Free trial: 1,000 credits for 14 days. No card needed.
{ "data": [{ "metric": "revenue", "value": 416161000000, "currency": "USD", "period_end": "2025-09-27", "fiscal_year": 2025, "adjustments": [], "source": { "form": "10-K", "filed": "2025-10-31", "filing_url": "https://www.sec.gov/Archives/edgar/…" }, "first_reported": { "value": 416161000000, "filed": "2025-10-31" } }, …] }
Consolidated statements of operations
| $ millions | Fiscal 2025 |
|---|---|
| Net sales | 416,161 |
| Cost of sales | 220,960 |
| Gross margin | 195,201 |
| Research and development | 34,550 |
What the API serves today. Freshness from the live status route.
Figures current to 7 Nov 2026. Statements current to 7 Oct 2026, the SEC’s latest quarterly data set.
Each figure carries what you need to check it.
The fields below come back on every financial figure, so you can match it to the filing yourself, or have your agent do it.
- source
- The filing the figure comes from: its form, the date it was filed, and a link to it on the SEC’s site.
- first_reported
- The value the first filing for this period reported. When a later filing restates it, you get both numbers.
- adjustments
- Anything we did beyond copying one filed number, such as taking another filing’s figure when one was filed a thousand times too large. Empty when we changed nothing.
- null
- A value the filing leaves blank comes back as null, never as zero.
- Left out
- When filings disagree and our rules can’t settle which is right, the figure is left out of the series and the response says so. A call where every figure was left out is free.
Error rates, measured and published.
We checked the newest figure for 100 companies, chosen by hash, against the filing’s own page. A zero in a small sample is not a zero rate.
| Figure | Banks | Insurers | Other companies | All filers, weighted |
|---|---|---|---|---|
| Revenue | 2 of 27 wrong | 0 of 20 | 0 of 43 | 0.65% |
| Net income | 0 of 30 | 0 of 20 | 0 of 49 | 0% |
| Cash and equivalents | 1 of 30 wrong | 0 of 20 | 2 of 50 wrong | 3.9% |
Revenue 0.65%all filers, weighted
- Banks
- 2 of 27 wrong
- Insurers
- 0 of 20
- Other companies
- 0 of 43
Net income 0%all filers, weighted
- Banks
- 0 of 30
- Insurers
- 0 of 20
- Other companies
- 0 of 49
Cash and equivalents 3.9%all filers, weighted
- Banks
- 1 of 30 wrong
- Insurers
- 0 of 20
- Other companies
- 2 of 50 wrong
Checked on snapshot metrics-7141c1f133996c9c. The API serves newer data now. This table changes when the next measurement runs, not with each data load.
Weighted by how many banks (571), insurers (141) and other companies (5,826) file. Ranges are 95% Wilson intervals: a zero in a small sample is not a zero rate.
Bank revenue. Where a bank files no total revenue line, we return total interest income, the top total on its statement. Counting those as wrong too gives 16 of 27.
Not yet checked. No person has read our statements against the filings line by line. These checks test which figure we chose, not whether a company’s own numbers are right. Method and every grade
What’s in it, and what isn’t.
Only what companies file with the SEC. The status route shows how fresh each dataset is.
In the API
- Financial figures
Revenue, net income, diluted EPS, operating cash flow and cash. Annual and quarterly, across each company’s filed history.
6,533companies - Statements as filed
Income statement, balance sheet, cash flow and comprehensive income, line by line with the filing’s own labels. From the fourth quarter of 2024.
7,869companies - Filings
Each company’s periodic and current reports, with links.
- Insider trades
Forms 3, 4 and 5.
- Institutional holdings
Quarterly 13F reports.
Not in the API
- Share prices, analyst estimates or real-time data.
- Companies that don’t file with the SEC.
- Statements newer than the SEC’s latest quarterly data set, which can lag about a quarter. Financial figures arrive sooner.
- Guesses. A blank in a filing stays blank.
Call it from code, or from an AI app.
The same data three ways. Two use an account and credits; one lets an agent pay per call with no account.
| Way | Use it when | You need | You pay with |
|---|---|---|---|
| REST APIHTTPS + JSON | You’re writing your own code. | An API key, sent in the X-API-Key header. | Credits |
| MCP serverModel Context Protocol | You want an AI app that supports MCP to look figures up for you. | An API key. The server runs on your computer for now. | Credits |
| Pay per callx402 · not yet open | Your agent should pay as it goes, with no sign-up. | A wallet holding USDC on Base. | USDC, per call |
REST API
For your own code. Send an API key in the X-API-Key header.Pays with credits
MCP server
For an AI app that supports MCP. Needs an API key; the server runs on your computer for now.Pays with credits
Pay per call (x402)
Not yet open. For an agent that pays as it goes, with no sign-up. Needs a wallet holding USDC on Base.Pays in USDC, per call
# Apple's revenue, newest period first curl -H "X-API-Key: $BELFORT_API_KEY" \ "https://api.belfortagent.xyz/v1/companies/AAPL/metrics?metric=revenue"
A ticker or a CIK works as the company id. Status needs no key: /v1/status.
get_companyName, tickers, fiscal year endget_metricsThe five figures over timeget_statementsStatements as filedget_filingsFilings, with linksget_insider_tradesForms 3, 4 and 5get_form13fInstitutional holdingsstatusHow fresh the data is
Every tool is read-only. Setup for each app is in the docs.
Start with a free trial. Buy credits when you need more.
Questions.
- Where do the figures come from?
- Only from the filings companies make with the SEC. No other data vendor, no estimates.
- What happens when a company restates a figure?
- You get the current reading, and
first_reportedkeeps the value first filed for that period. Older readings aren’t kept as versions. - Can I show these figures in my own app?
- Yes, with the line “Data: Belfort Research, from SEC filings”. Reselling or redistributing the data itself needs a license.
- Is there an uptime guarantee?
- Not during the pilot. The status route shows how fresh each dataset is.
- Who sells it?
- Belfort Research. The terms are in the API terms, which anyone can read before signing up.
- Is this investment advice?
- No. It is data taken from public filings. The SEC does not endorse it and we are not affiliated with the SEC.
Get a key and check the first figure yourself.
Free trial: 1,000 credits for 14 days. No card needed.
- 1Sign in with your email and start the free trial.
- 2Create a key and copy it. We show it once.
- 3Ask for a company’s figures and open the filing link.
Belfort