Restaurant Prices API

The Numbeo Restaurant Prices API returns what eating out costs in cities around the world. Prices come from the menus restaurants publish online: every dish and drink is classified, and the API returns the typical price a restaurant in the city charges, as JSON, in the local currency or any currency you choose. It is part of the Numbeo Data API.

What you get with the Restaurant Prices API

You can browse the same data on the website: Restaurant Prices.

Where the Restaurant Prices API is used

Corporate travel & per diemsTravel managers and governments set meal allowances and per-diem rates from what meals actually cost in each destination city.
Expense managementExpense platforms check submitted meal costs against typical local prices and flag claims that are out of line for the city.
Restaurant chains & franchisingChains benchmark their menu prices against the local market and compare cities when choosing where to open next.
Food delivery & hospitality platformsDelivery apps, hotel groups and booking platforms position prices and estimate dining spend city by city.
Travel & tourismTravel apps, guides and tourism boards show visitors what a coffee, a pizza or a dinner costs, and rank destinations by affordability.
Food & beverage consultingConsultancies size markets and advise on pricing with like-for-like menu prices across cities.

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.

Restaurant prices for a city

Query by city and country, by free text, or by coordinates, exactly as with /api/city_prices; add currency to convert:

curl "https://www.numbeo.com/api/city_restaurant_prices?api_key=YOUR_API_KEY&city=Lisbon&country=Portugal"
curl "https://www.numbeo.com/api/city_restaurant_prices?api_key=YOUR_API_KEY&query=Lisbon,%20Portugal&currency=USD"

Sample response (truncated):

{
  "name": "Lisbon, Portugal",
  "city_id": 6029,
  "last_update": "2026-10-23",
  "menu_price_index": { "index": 65.75, "low": 60.73, "high": 71.2, "rank": 159,
                        "of": 234, "items": 58, "base": "New York = 100" },
  "dish_types": [
    {
      "dish_type": "MEAT",
      "label": "Red meat & pork mains",
      "median_price": 22.4,
      "band_low": 16.55,
      "band_high": 29,
      "currency": "EUR",
      "restaurants": 77
    }
  ],
  "items": [
    {
      "item_id": 103,
      "item_name": "Cappuccino",
      "family": "Coffee",
      "median_price": 4.09,
      "currency": "EUR",
      "restaurants": 37
    }
  ]
}

How the data is collected

We read the menus restaurants publish online and classify every dish and drink into a fixed catalog of comparable items and dish types, so a cappuccino is compared with a cappuccino and a margherita with a margherita. For each city, the API returns the typical (median) restaurant's price. A price is published only when at least 13 restaurants in the city list it, so thin data is left out rather than shown. For dish types, the band shows the range charged by the 40% of restaurants around the typical price.

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 this different from restaurant prices in the Cost of Living API?

The Cost of Living API reports a few restaurant items (such as a meal at an inexpensive restaurant) from prices contributed by Numbeo users. The Restaurant Prices API is built from the menus restaurants publish online and covers many more items and dish types, each backed by the number of restaurants listed in the response.

Why is an item missing for a city?

An item is returned only when at least 13 restaurants in the city list it on their menus. Below that, a typical price would not be reliable, so it is left out.

Which cities are covered?

Cities where enough restaurants publish their menus online. The Menu Price Index is included for cities whose menus cover enough of the index basket.

How often is the data updated?

Menus are collected continuously and city prices are recomputed regularly; each response reports its last_update date.

Is the Restaurant Prices API free?

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