Numbeo Cost of Living Scraper avatar

Numbeo Cost of Living Scraper

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Numbeo Cost of Living Scraper

Numbeo Cost of Living Scraper

Scrape cost of living prices, indices and city rankings from Numbeo. Extracts 55+ price items per city across 9 categories: food, rent, transport, utilities, salaries and more. Supports cities, countries and global rankings.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

24

Total users

3

Monthly active users

5 days ago

Last modified

Categories

Share

Numbeo Cost of Living Scraper — City Prices, Rent, Salaries & Rankings to JSON & CSV

Numbeo Cost of Living Scraper

Scrape real-world cost of living data, rental prices, salaries, quality-of-life scores and city rankings from Numbeo.com, the world's largest crowdsourced database of city prices. This Numbeo scraper extracts 55+ price items per city — each with low / average / high ranges — plus global city rankings and country-level averages. No API key, no login — just list the cities or countries you want and export Numbeo data to JSON, CSV or Excel.

Numbeo is the go-to reference for comparing cost of living between cities and countries, used by expats, remote workers, HR teams, researchers and real-estate investors. This Actor turns those public pages into clean, flat, spreadsheet-ready rows.

✨ What this Actor does / Key features

  • 🏙️ 55+ price items per city — restaurants, groceries, transport, utilities, sports & leisure, childcare, clothing, rent and apartment purchase prices, salaries and mortgage rates.
  • 📊 Global city rankings — Cost of Living Index, Rent Index, Groceries Index, Restaurant Price Index, Local Purchasing Power Index and more, ranked across hundreds of cities.
  • 🌐 Country-level averages — nationwide average prices for high-level country comparisons.
  • 🔬 Seven data categoriescost-of-living, quality-of-life, crime, health-care, pollution, traffic and property-investment.
  • 📈 Low / average / high ranges — every price item includes the reported spread, not just a single number.
  • 📋 Flat, one-row-per-item output — no nested arrays, so the data drops straight into Excel, Google Sheets, BigQuery or any database.
  • 🛡️ Residential proxy support — Numbeo rate-limits datacenter IPs, so residential proxy is strongly recommended for reliable runs.
  • ⚙️ Polite by design — lightweight static HTML parsing with limited concurrency and randomized delays.

🔍 Input

FieldTypeDescription
citiesarray of stringsCity names to scrape, exactly as they appear on Numbeo. For US cities include the state, e.g. New York, NY. International examples: Istanbul, London, Berlin, Tokyo. Each city generates one request per selected category.
countriesarray of stringsCountry names for national average price data (same 55+ items, averaged country-wide). Use the English country name as shown on Numbeo.
scrapeRankingsbooleanWhen enabled, scrapes the global city rankings table for each selected category. Default true.
scrapeCategoriesarray of stringsNumbeo sections to scrape: cost-of-living, quality-of-life, crime, health-care, pollution, traffic, property-investment. Default ["cost-of-living"].
maxCitiesintegerMaximum number of cities to include from the global rankings pages. 0 = all available cities. Default 500.
proxyConfigurationobjectProxy settings. Residential proxy (RESIDENTIAL group) is strongly recommended — Numbeo aggressively rate-limits datacenter IPs.

🚀 Example input

{
"cities": ["Istanbul", "London", "New York, NY", "Berlin", "Tokyo"],
"countries": ["Turkey", "Germany", "Japan"],
"scrapeRankings": true,
"scrapeCategories": ["cost-of-living", "quality-of-life", "crime"],
"maxCities": 500,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

📦 Output

Each record is a flat row — one per price item or ranking entry — exportable to CSV, Excel, JSON or XML, or accessible via the Apify API. The type field tells you what each row is: city_price, country_price or ranking.

FieldDescription
typeRow type: city_price, country_price or ranking
cityCity name / page title (city and ranking rows)
countryCountry name (country rows)
categoryNumbeo category (e.g. cost-of-living, crime)
currencyLocal currency the price is displayed in
itemNameName of the price item (e.g. "1 Bedroom Apartment in City Centre")
avgPriceAverage reported price
lowestPriceBottom of the reported range
highestPriceTop of the reported range
categoryGroupGroup the item belongs to (e.g. "Rent Per Month", "Markets")
rankPosition in the global rankings table (ranking rows)
urlSource Numbeo URL
scrapedAtISO-8601 scrape timestamp

Ranking rows additionally carry the composite index columns (Cost of Living Index, Rent Index, Groceries Index, Restaurant Price Index, Local Purchasing Power Index, etc.).

Sample city price row

{
"type": "city_price",
"city": "Cost of Living in London",
"category": "cost-of-living",
"currency": "GBP",
"itemName": "1 Bedroom Apartment in City Centre",
"avgPrice": 2367.24,
"lowestPrice": 1700,
"highestPrice": 3150,
"categoryGroup": "Rent Per Month",
"url": "https://www.numbeo.com/cost-of-living/in/London",
"scrapedAt": "2026-03-14T14:21:51.404Z"
}

💡 Use cases

  • Relocation & expat planning — compare real rent, groceries, transport and utility costs across potential destinations.
  • HR & salary benchmarking — adjust compensation for remote workers and international hires using local purchasing power.
  • Real estate & investment research — track apartment prices per m² and rental costs across global markets over time.
  • Market research & pricing strategy — calibrate product pricing for different regional markets by affordability.
  • Academic & economic research — feed cost-of-living data into purchasing power parity (PPP) and inequality studies.
  • Journalism & data visualization — power cost-of-living comparison articles, maps and "most affordable city" rankings.

❓ Frequently Asked Questions

Is scraping Numbeo legal? The Actor reads only publicly visible Numbeo web pages. Use the data responsibly, respect Numbeo's terms, and attribute the source where appropriate. You are responsible for how you use the output.

Do I need a Numbeo API key or account? No. Unlike Numbeo's paid official API (which requires a subscription and an API key), this Actor works from the public website with no authentication.

Why is a proxy recommended? Numbeo aggressively rate-limits datacenter IPs and can return upstream errors. Using Apify Proxy with the RESIDENTIAL group significantly improves reliability, especially when scraping more than a few cities.

How do I format city names? Use the city name as it appears on Numbeo. For US cities include the state (e.g. New York, NY). If a city isn't found, check its exact spelling in the Numbeo URL.

How much data will I get? Roughly 55 items per city for cost-of-living, so 100 cities produces about 5,500 rows; global rankings add around 600–700 rows. Selecting more categories adds one request and more rows per city.

Is the data current or historical? Numbeo prices are crowdsourced and updated continuously by contributors. Each run captures a snapshot of current prices — schedule the Actor to build your own history over time.

What output formats are supported? Every run produces a structured dataset you can export to JSON, CSV, Excel or XML, or access through the Apify API.

⏰ Scheduling & integration

Schedule this Actor on Apify to refresh cost-of-living data weekly or monthly and build a historical price archive. Export results to JSON, CSV or Excel, or use the Apify API and webhooks to push data into Google Sheets, BigQuery, a database or a BI dashboard.


Changelog

  • 2026-05-20 — Maintenance pass: reviewed the input schema and default values for a smooth one-click start, and rebuilt the Actor on the latest base image.

Last reviewed: 2026-05-20.