Segment revenue that adds up

Ask how much of a company's revenue comes from a product, a business or a region. You get the answer from its SEC filings, with each breakdown checked against the revenue the company reported.

Get an API keyConnect an agent

Company

AAPL Apple Inc.10-K, year to 2025-09-27, USD millions

srt:ProductOrServiceAxis

Apple's product lines
iPhone209,586
Service109,158
Wearables Home and Accessories35,686
Mac33,708
iPad28,023
Sum of the rows416,161
Revenue reported416,161
iPhone is 50.4% of Apple's revenue: $209,586 million of $416,161 million, in its 10-K for the year to 2025-09-27. Reconciled: the rows come to 100.0% of the revenue reported.

Press "All in one list" to see what a source that drops the axis returns.

Breakdown
iPhone is 50.4% of Apple's revenue: $209,586 million of $416,161 million, in its 10-K for the year to 2025-09-27. Apple's product lines, as the API returns them.

5,540 companies and 28,555 filings, extracted with plain code and no AI model. You can try 10 of the companies free in the sandbox, without a card.

Data for each company

All of it comes from the company's SEC filings, and you can get it over REST, MCP or bulk files.

  • Segments

    Revenue for each business, product line and region, with operating income, assets and depreciation where the filing tags them.

  • Segment history

    One breakdown across every filing, with each restatement kept beside the filing it appeared in.

  • Segment notes

    The text of the segment note, for when you need the context behind a number.

  • Fundamentals

    14 lines from the income statement, balance sheet and cash flow statement, as filed.

  • Filings

    Every 10-K, 10-Q, 20-F and 40-F, annual and quarterly, with its dates and fiscal period, amendments marked.

  • Bulk files

    Parquet and CSV of every table, rebuilt each day, for a notebook or a warehouse.

Revenue counted more than once in a merged list

In a 10-K, the company breaks the same revenue down more than once: by operating segment, by product line and by region. Each breakdown adds up to total revenue on its own, and the company tags each one in XBRL as an axis. A source that drops the axis puts every row in one list, and in that list revenue is counted two or three times, with no warning.

  • Business segments, 3 rows: Productivity and Business Processes 139,996; Intelligent Cloud 137,791; More Personal Computing 54,052100.0%
  • Product lines, 10 rows: Server Products and Cloud Services 129,425; Microsoft 365 Commercial Products and Cloud Services 101,997; XBOX 21,790; LinkedIn Corporation 19,817; Windows and Devices 17,084; Search Advertising 15,176; Microsoft 365 Consumer Products and Cloud Services 9,175; Dynamics Products and Cloud Services 9,006; Enterprise and Partner Services 8,260; Other Products and Services 109100.0%
  • Regions, 2 rows: United States 170,794; Non-US 161,045100.0%
  • All in one list, 15 rows: Productivity and Business Processes 139,996; Intelligent Cloud 137,791; More Personal Computing 54,052; Server Products and Cloud Services 129,425; Microsoft 365 Commercial Products and Cloud Services 101,997; XBOX 21,790; LinkedIn Corporation 19,817; Windows and Devices 17,084; Search Advertising 15,176; Microsoft 365 Consumer Products and Cloud Services 9,175; Dynamics Products and Cloud Services 9,006; Enterprise and Partner Services 8,260; Other Products and Services 109; United States 170,794; Non-US 161,045300.0%
Microsoft, 10-K for the year to 2026-06-30. Each breakdown comes to the revenue the company reported, and every row in one list comes to more.

Check a list you already have

Run the open-source checker on segment lists in JSON to see whether each axis adds up. It's under the MIT licence, on GitHub.

Here segments.json has two lists: Microsoft's rows from numi, and a list from a source that drops the axis. The second list has no ticker, so it appears as #2 in the output.

Terminal
$ npx @numi-sh/reconcile segments.json
MSFT: reconciled, business 100.0%, product 100.0%, geography 100.0%
#2: mixed_axes_likely, 143.0% of total

Every breakdown is marked with its result

A breakdown that misses its total is marked over or under, and it stays in the data with its numbers instead of being rounded into a pass.

Reconciled

The rows, with any reconciling items, come to 95% to 105% of the revenue the filing reports.

Microsoft's business segments come to 331,839 of 331,839 million, or 100.0%.

Over

Above 105%, which usually means two breakdowns share one axis.

Meta lists US Canada and United States as separate regions, so US revenue counts twice: 275,746 of 200,966 million, or 137.2%.

Under

Below 95%, which means the company tags rows for only part of its revenue.

Netflix tags one regional row, United States, at 18,500 of 45,183 million, or 40.9%.

Unknown

There's no total to check against, or no row has revenue.

Chevron's regional rows, United States and Non-US, have no revenue figure.

One call returns the whole breakdown

Ask for a company by ticker or CIK and an axis. Every row comes with its XBRL member, and every axis with its total and its result.

Shell
curl "https://api.numi.sh/v1/companies/MSFT/segments?axis=product" \
  -H "X-API-Key: $NUMI_API_KEY"

The response, first two of 10 rows shown

{
  "axis": "product",
  "reconciliation": "reconciled",the result
  "coverage_ratio": 1,sum of rows รท revenue
  "revenue_total": 331839000000,
  "currency": "USD",
  "segments": [
    {
      "member": "msft:ServerProductsAndCloudServicesMember",
      "label": "Server Products and Cloud Services",
      "revenue": 129425000000,
      "revenue_share": 0.390023
    },
    {
      "member": "msft:MicrosoftThreeSixFiveCommercialProductsAndCloudServicesMember",
      "label": "Microsoft 365 Commercial Products and Cloud Services",
      "revenue": 101997000000,
      "revenue_share": 0.307369
    }
  ]
}

Give your agent the segment data

The MCP server works with Claude, ChatGPT, Cursor, Claude Code and any client that supports remote servers. In a client that supports OAuth you sign in with your account; in the others you add an API key.

Serverhttps://api.numi.sh/mcp

Open Settings, then Connectors, and add a custom connector with the server's URL.

Then ask

  • Break down Microsoft's revenue by product line for its last fiscal year, and say whether the lines add up to total revenue.
  • Compare how Apple and NVIDIA split their revenue by region in their latest annual reports.
  • How has Amazon's revenue by business segment changed across its recent annual filings?

Read the MCP guide

Fundamentals as the filing states them

Each of the 14 lines has the XBRL concept it came from, its unit and its period.

Microsoft, 10-K for the year to 2026-06-30
LineValueUnitXBRL concept
Revenue331,839USD millionsRevenueFromContractWithCustomerExcludingAssessedTax
Operating income155,237USD millionsOperatingIncomeLoss
Net income133,749USD millionsNetIncomeLoss
Diluted earnings per share17.95USD per shareEarningsPerShareDiluted

Results across every filing

As of 2026-10-26, the data has 36,463 axes from 28,555 filings of 5,540 companies. 84.1% of all axes reconcile, and 63.2% of companies have a reconciled business or product axis in their latest annual report.

Axes by result
AxisReconciledOverUnderUnknownAll
Business segments12,2873664261,65214,731
Product lines11,0616111,10467513,451
Regions7,3094993121618,281
Every axis30,6571,4761,8422,48836,463
Results by axis
ResultBusinessProductRegionsAll
Reconciled12,28711,0617,30930,657
Over3666114991,476
Under4261,1043121,842
Unknown1,6526751612,488
Every axis14,73113,4518,28136,463

Pricing

You can use the data commercially on both plans, and start on the sandbox without a card.

Sandbox

  • 10 companies
  • 250 requests a day
  • 20 requests a minute
  • The bulk sample

$0

Get a sandbox key

The companies: MSFT, AAPL, NVDA, AMZN, GOOGL, META, NFLX, CVX, JPM and SONY.

Builder

  • Every company
  • 10,000 requests a day
  • 300 requests a minute
  • The full bulk file
  • Any company not covered yet, on request

$20 a month

Start with Builder

Plus local tax where it applies.

Sign up, then upgrade from your account page.

Questions

Where does the data come from?
It comes from the XBRL data in each company's SEC filings: 10-K, 10-Q, 20-F and 40-F reports. We extract it with plain code and no AI model, so you get the same answer from the same filing every time.
How fresh is it?
We add new filings every morning at 07:00 UTC. On Builder you can also ask for an SEC filer that isn't covered yet.
What does reconciled mean?
The rows of an axis, plus reconciling items such as eliminations, come to 95% to 105% of the revenue the filing reports. Outside that band the axis is marked over or under, and with nothing to check against it's marked unknown.
Can I use the data in a product I sell?
Yes. On every plan, the free one included, Nui Systems L.L.C. grants you a non-exclusive commercial licence to use, display and redistribute numi data inside your own products and analyses, with no attribution required. You may not resell the bulk file, or a substantial part of it, as a dataset.
What is in the sandbox?
The sandbox has 10 companies: MSFT, AAPL, NVDA, AMZN, GOOGL, META, NFLX, CVX, JPM and SONY. They are the companies in the examples on this page, plus a bank and a foreign filer that reports in yen. With a sandbox key you can read them over REST and MCP and in the bulk sample, and search across every company. A request for any other company returns 403 sandbox_restricted.
Which agents can connect?
You can connect any MCP client that supports remote servers, such as Claude, ChatGPT, Cursor and Claude Code. Point it at https://api.numi.sh/mcp, then sign in with OAuth or add an API key.