/v1/cost-breakdownGet a detailed cost-of-living breakdown for a location vs a baseline
Return a detailed cost-of-living breakdown for a location, compared against a baseline country. Each category (food, housing, transport, health, etc.) is reported with its current CPI value, a percentage difference from the baseline, and a year-over-year trend arrow (`up` / `down` / `stable`). **When to use:** answer 'What does cost of living look like in Germany vs the US?', 'Which categories are cheaper in Japan compared to the UK?', or 'Build a per-category inflation dashboard'. **Inputs:** - `location` — country or city; accepts names, ISO codes, and major city aliases. - `compare_to` — baseline country (default `US`), same input formats. **Response shape:** a `CostBreakdown` with headline `overall_cpi` and `overall_vs_baseline_pct`, plus a `categories` list where each item has `category_code`, `category_name`, `value`, `vs_baseline_pct`, and `trend`. **Trend threshold:** yoy change > 0.5% = `up`, < -0.5% = `down`, otherwise `stable`. Source: BLS CPI, Eurostat HICP, OECD CPI. Required scope: `costapi:read`.
Authentication
Requires API key via X-API-Key header.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| location | query | string | required | Country or city — name or ISO code (e.g., 'Germany', 'Tokyo', 'US') |
| compare_to | query | string | optional | Baseline country for comparison (default: US) |
Example request
curl -X GET \
"https://col.wageapi.com/api/v1/cost-breakdown?location=%3Clocation%3E&compare_to=US" \
-H "X-API-Key: YOUR_API_KEY"Responses
dataCostBreakdownrequiredFull cost breakdown for a location with baseline comparison.
location_codestringrequiredISO alpha-2 code of the queried location
location_namestringrequiredName of the queried location
baseline_codestringrequiredISO alpha-2 code of the baseline location
baseline_namestringrequiredName of the baseline location
overall_cpianyoptionalOverall CPI value
overall_vs_baseline_pctanyoptionalOverall percentage vs. baseline
categoriesarray<CostBreakdownCategory>optionalPer-category breakdown with trends
category_codestringrequiredcategory_namestringrequiredvalueanyoptionalCPI index value for this category
vs_baseline_pctanyoptionalPercentage vs. baseline country (positive = more expensive)
trendstringoptionalenum: up | down | stableTrend direction based on YoY change: 'up', 'down', or 'stable'
default "stable"
metadataMetadataSchemarequiredsourcesarray<SourceSchema>optionalnamestringrequiredData source name (e.g., 'BLS', 'OECD', 'Eurostat')
datasetstringrequiredSpecific dataset identifier
urlanyoptionalURL to the source dataset
last_updatedanyoptionalWhen this data was last refreshed
request_idstringrequiredUnique request identifier
rate_limitanyoptionalremainingintegerrequiredRemaining requests today
daily_limitintegerrequiredTotal daily request limit
reset_atstring (date-time)requiredWhen the rate limit resets
paginationanyoptionalpageintegerrequiredpage_sizeintegerrequiredtotalintegerrequiredtotal_pagesintegerrequireddata_vintageanyoptionalData freshness (e.g., 'CPI data from February 2026')
methodology_notesanyoptionalMethodology notes (e.g., 'CPI rebased to 2020=100')
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
Try this endpoint
Create a free Aethar account and generate an API key in 2 minutes.
Create free account →