Price Index API

The Numbeo Price Index API gives you every Numbeo price-level index as JSON, for cities and countries worldwide. There are two families: the long-running Cost of Living indices, built from prices contributed by Numbeo users and available historically since 2009, and three newer indices computed from supermarket and restaurant menu prices collected automatically. It is part of the Numbeo Data API.

What you get with the Price Index API

Cost of Living Indices (New York City = 100)

Supermarket Price Index

Restaurant Price Index

Which index should I use?

You want to compareCost of Living indices (crowdsourced + collected automatically)Supermarket and restaurant indices (collected automatically)
Overall cost of livingCost of Living Index, Cost of Living Plus Rent Index–
HousingRent Index–
GroceriesGroceries Index (cities and countries)Supermarket Price Index, Branded Products Price Index (countries)
Eating outRestaurant Price Index (cities and countries)Menu Price Index (cities)
What salaries buyLocal Purchasing Power Index–
Change over timeHistorical rankings since 2009Current values only

The two families measure the same things in different ways: the crowdsourced indices from a small basket of items priced by Numbeo users, the newer indices from thousands of product listings and restaurant menus. Using both gives you an independent cross-check.

Where the Price Index API is used

HR, payroll & global compensationCompensation teams set cost-of-living adjustments and location-based pay from city and country index differentials, and track how they move over time.
Purchasing power & price-level comparisonAnalysts compare what money buys across countries and cities, from overall cost of living down to groceries and eating out.
Pricing localisation & market sizingCompanies set regional prices and prioritise markets by local price levels and purchasing power.
Marketing & advertisingProgrammatic platforms adjust bids and budgets by each market's spending power.
Economic & academic researchResearchers and consultancies use the indices, and the historical rankings since 2009, as consistent cross-country price-level series.
Relocation & global mobilityMobility platforms compare origin and destination cities to size allowances and explain cost differences to employees.

Example queries

All endpoints require an api_key parameter. Replace YOUR_API_KEY below with your own key. For every parameter, see the full API documentation.

Cost of Living Indices for a City or a Country

curl "https://www.numbeo.com/api/indices?api_key=YOUR_API_KEY&query=London,%20United%20Kingdom"
curl "https://www.numbeo.com/api/country_indices?api_key=YOUR_API_KEY&country=Germany"

Sample response (truncated):

{
  "name": "London, United Kingdom",
  "city_id": 6512,
  "cpi_index": 87.6,
  "rent_index": 65.1,
  "cpi_and_rent_index": 77.1,
  "groceries_index": 70.2,
  "restaurant_price_index": 90.1,
  "purchasing_power_incl_rent_index": 138.4,
  "quality_of_life_index": 153.1,
  "contributors_cost_of_living": 286
}

Cost of Living Rankings, Current and Historical

section=1 selects the cost of living rankings. Historical rankings are keyed by period ("2009" … "2026-mid"):

curl "https://www.numbeo.com/api/rankings_by_city_current?api_key=YOUR_API_KEY&section=1"
curl "https://www.numbeo.com/api/rankings_by_city_historical?api_key=YOUR_API_KEY&section=1"
curl "https://www.numbeo.com/api/rankings_by_country_historical?api_key=YOUR_API_KEY&section=1"

Sample response of rankings_by_city_current (truncated):

[
  {
    "city_id": 6378,
    "city_name": "Zug",
    "country": "Switzerland",
    "cpi_index": 123.7,
    "rent_index": 84.3,
    "cpi_and_rent_index": 105.4,
    "groceries_index": 107.0,
    "restaurant_price_index": 138.4,
    "purchasing_power_incl_rent_index": 136.6
  }
]

Supermarket Price Index

Returns the full ranking of countries, most expensive first; add country for one country:

curl "https://www.numbeo.com/api/supermarket_price_index?api_key=YOUR_API_KEY"
curl "https://www.numbeo.com/api/supermarket_price_index?api_key=YOUR_API_KEY&country=Germany"

Sample response of supermarket_price_index (truncated):

{
  "index_name": "Supermarket Price Index",
  "base": "US = 100",
  "basket_size": 361,
  "countries": [
    {
      "rank": 31,
      "country_code": "DE",
      "name": "Germany",
      "index": 77.0,
      "low": 72.4,
      "high": 81.9,
      "items": 342,
      "coverage": 0.95,
      "currency": "EUR"
    }
  ]
}

Branded Supermarket Products Index

Returns the full ranking of countries by what the same branded products cost, most expensive first; add country for one country:

curl "https://www.numbeo.com/api/branded_supermarket_price_index?api_key=YOUR_API_KEY"
curl "https://www.numbeo.com/api/branded_supermarket_price_index?api_key=YOUR_API_KEY&country=Spain"

Sample response of branded_supermarket_price_index with country=Spain:

{
  "index_name": "Branded Products Price Index",
  "base": "US = 100",
  "countries": [
    {
      "rank": 137,
      "country_code": "ES",
      "name": "Spain",
      "index": 89.38,
      "low": 88.67,
      "high": 90.09,
      "items": 3998,
      "currency": "EUR"
    }
  ]
}

Restaurant Price Index

Returns the full ranking of cities, most expensive first; add country for the cities of one country:

curl "https://www.numbeo.com/api/restaurant_menu_price_index?api_key=YOUR_API_KEY"
curl "https://www.numbeo.com/api/restaurant_menu_price_index?api_key=YOUR_API_KEY&country=Portugal"

Sample response of restaurant_menu_price_index (truncated):

{
  "index_name": "Menu Price Index",
  "base": "New York = 100",
  "cities": [
    {
      "rank": 159,
      "city_id": 6029,
      "name": "Lisbon, Portugal",
      "country": "Portugal",
      "index": 65.75,
      "low": 60.73,
      "high": 71.2,
      "items": 58
    }
  ]
}

How the indices are computed

Cost of Living indices compare weighted prices of everyday goods and services, contributed by Numbeo users, with New York City (= 100). A Cost of Living Index of 120 means everyday expenses, excluding rent, are about 20% higher than in New York. See Cost of Living indices explained and our methodology.

Supermarket, Branded Products and Menu Price indices compare the same products in every country or city they are sold in, so differences in what is on sale do not distort the result. A statistical model (the country-product-dummy method used by statistical offices for price-level comparisons) estimates each place's price level from all the prices together; prices far off the model are trimmed. The Supermarket Price Index weights its basket by household spending category (meat and fish, fresh produce and dairy weigh the most), and a country is indexed only when it prices at least 80% of the basket. The low and high values give an approximate 95% interval: the narrower it is, the more precise the index.

Ready to start?

See plans and pricing on the Numbeo Data API page, or read the complete API documentation for every available endpoint and parameter. Want to use our data in spreadsheets, or just for a one-time project? See the commercial Data License.

More Numbeo data APIs

Frequently asked questions

How is the Groceries Index different from the Supermarket Price Index?

The Groceries Index is part of the Cost of Living indices: it is built from grocery prices contributed by Numbeo users, relative to New York City, for cities and countries. The Supermarket Price Index is computed from prices collected automatically from online supermarkets, over a much larger basket, relative to the United States, for countries. They are independent measurements of the same thing.

Is historical index data available?

Yes, for the Cost of Living indices: city and country rankings are available yearly since 2009 and twice a year since 2014. The Supermarket, Branded Products and Menu Price indices return current values.

Why is a country or city missing from an index?

Each index includes only places with enough data to be reliable. For the Supermarket Price Index, a country must price at least 80% of the basket; for the Menu Price Index, a city's menus must cover enough of the index basket.

What do the low and high values mean?

They give an approximate 95% interval around the index: the true price level is very likely to lie between them. A narrow interval means a precise index.

How often are the indices updated?

The Cost of Living indices are updated continuously as new prices are contributed, with rankings published twice a year. The Supermarket, Branded Products and Menu Price indices are recomputed whenever the underlying prices are refreshed.

Is the Price Index API free?

Numbeo offers paid API plans with monthly request quotas. See the Numbeo Data API page for current plans and pricing.