Get revenue by country and region
Where the company's revenue comes from — ISO alpha-2 country codes + region rollups.
Returns the company's revenue split by country and region for one fiscal year. Mappable country rows come back with ISO alpha-2 codes so you can colour a world map directly.
When to use this
- "Where does Apple sell?"
- Building a revenue heatmap on a company page.
- Quantifying geographic exposure ahead of a market-shift event.
Path
| Field | Type | Description |
|---|---|---|
| companyrequired | string | Name, ticker, ISIN, or CIK. Examples: "Apple", "AAPL", "0000320193", "Neste". |
Query
| Field | Type | Description |
|---|---|---|
| year | integer | Fiscal year to query. Default: most recent available annual filing. |
Example
curl "https://api.clarifo.com/api/v1/data/companies/Apple/revenue-geography?year=2025" \
-H "Authorization: Bearer $CLARIFO_API_KEY"Response
{
"company_name": "Apple Inc.",
"company_id": "aapl",
"market": "us",
"year": 2025,
"quarter": null,
"period_type": "annual",
"currency": "USD",
"unit": "milj_usd",
"total_revenue": 416161.0,
"total_revenue_mappable": 216167.0,
"additive_layer": "country+other",
"overlap_warning": "Regions and countries overlap; total_revenue uses the country+other rows only. Do not sum all rows across categories.",
"total_revenue_reconciliation": {
"group_revenue": 416161.0,
"group_revenue_source": "esef",
"coverage_of_group_revenue": 1.0
},
"countries": [
{"name": "United States", "name_native": null, "iso_alpha2": "US",
"revenue": 151790.0, "page_id": "0000320193-25-000079"}
],
"regions": [
{"name": "Asia Pacific", "name_native": null, "entity_type": "multi_region",
"revenue": 67680.0, "page_id": "…"}
],
"other": [
{"name": "Other countries (US filing)", "name_native": null,
"entity_type": "other", "revenue": 199994.0,
"page_id": "0000320193-25-000079"}
]
}Top-level fields
| Field | Description |
|---|---|
quarter | Quarter number (1--4) for quarterly data, null for annual. |
period_type | "annual" or "quarterly". |
additive_layer | Which layer total_revenue sums: "country", "country+other", "region", "region+other", or "other". |
overlap_warning | How the layers overlap, plus any rows excluded from the total (per-segment, parent-company, or duplicate extractions). |
total_revenue_reconciliation | Cross-check against consolidated group revenue for the same period. Omitted when no group revenue figure is available. |
Each country, region, and other entry includes name_native (the name in
the original filing language, e.g. "Yhdysvallat" for Finland or null
when the filing is in English).
Country vs. region vs. other
The response is split into three buckets -- and they are not strictly
additive. The additive_layer field tells you which bucket can be safely
summed to match total_revenue.
| Bucket | Source | Notes |
|---|---|---|
countries | Country-level disclosures with ISO codes | Safe to sum when additive_layer starts with "country". |
regions | Multi-country rollups ("EMEA", "Asia Pacific") | Do not sum with countries -- some filers report both. |
other | "Other countries" catch-all | Can be large (40 %+) for filers that disclose only top markets. |
total_revenue is always one layer, never the sum of all rows. Filers
disclose geography at several granularities at once and those layers
overlap by construction: a "Europe" row and a "Finland" row describe the
same euros. The chosen layer is reconciled against consolidated group
revenue for the same period -- a layer whose sum exceeds group revenue is
provably overlapping and is rejected in favour of the largest layer that
does not.
Use total_revenue_reconciliation.coverage_of_group_revenue to see how much
of the company's revenue the breakdown actually accounts for. A value below
1.0 is normal and expected; most filers break out only their largest
markets.
Coverage
- Nordic: all filers tracked by Clarifo's PDF pipeline.
- US: ~1,450 filers with country-level XBRL disclosures (2020–2026). Smaller and segment-only filers may be absent.