Numbeo Scraper
Pricing
from $3.00 / 1,000 results
Numbeo Scraper
Scrape Numbeo.com — the world's largest cost-of-living, quality-of-life, crime, healthcare, pollution, traffic, and property-price database. Get full price tables, index breakdowns, and city rankings for thousands of cities globally.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(16)
Developer
Crawler Bros
Maintained by CommunityActor stats
16
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Scrape Numbeo.com — the world's largest crowd-sourced cost-of-living, quality-of-life, crime, healthcare, pollution, traffic, and property-price database — for any city worldwide.
What you get
Per-mode output:
costOfLiving
Full price table for a city: groceries, restaurants, transportation, utilities, sports & leisure, childcare, clothing, rent, salaries.
{"city": "New York, NY, United States","indices": { "Cost of Living Index": 100.0, ... },"prices": [{"item": "Meal at an Inexpensive Restaurant", "price": 25.0, "currency": "$","rangeLow": 15.0, "rangeHigh": 45.0},...],"nearbyCities": [{"city": "Jersey City, New Jersey", "distanceKm": 7.38}, ...]}
qualityOfLife
Quality-of-life index breakdown plus component sub-indices (Purchasing Power, Safety, Health Care, Climate, Cost of Living, Property-Price-to-Income).
crime / healthCare / pollution / traffic
Each returns the city's index summary plus the labelled sub-rows ("Level of crime: 55.23 / Moderate", "Skill and competency of medical staff: 75.16 / High", etc.). The pollution mode also returns the WHO PM10 / PM2.5 panel.
propertyInvestment
Rent prices (1 / 3 bedroom apartments — city centre vs outside) plus the property index summary (Price-to-Income, Mortgage-as-Percentage-of-Income, Rent Yields, Affordability Index).
costOfLivingComparison
Side-by-side price comparison between two cities, with each row carrying both city prices and the percent difference.
topCities
Numbeo's annual city rankings — every city in the table with its Cost of Living, Rent, Cost of Living Plus Rent, Groceries, Restaurant, and Local Purchasing Power indices. Year selectable via rankingsYear (e.g., 2024, 2024-mid).
byUrl
Pass any Numbeo URL — the actor auto-routes to the right parser.
Modes
| Mode | URL pattern |
|---|---|
costOfLiving | /cost-of-living/in/<City> |
costOfLivingComparison | /cost-of-living/compare_cities.jsp?... |
qualityOfLife | /quality-of-life/in/<City> |
crime | /crime/in/<City> |
healthCare | /health-care/in/<City> |
pollution | /pollution/in/<City> |
traffic | /traffic/in/<City> |
propertyInvestment | /property-investment/in/<City> |
topCities | /cost-of-living/rankings.jsp?title=2024 |
byUrl | any of the above |
Example inputs
Cost of living for New York
{"mode": "costOfLiving","city": "New York","maxItems": 1}
Quality of life for multiple cities
{"mode": "qualityOfLife","cities": ["Berlin", "Tokyo", "Lisbon", "Mexico City"],"maxItems": 4}
Compare New York with Berlin
{"mode": "costOfLivingComparison","country1": "United States","city1": "New York, NY","country2": "Germany","city2": "Berlin"}
Top cities ranked by cost of living for 2024
{"mode": "topCities","rankingsYear": "2024","maxItems": 100}
Mixed URL list
{"mode": "byUrl","urls": ["https://www.numbeo.com/cost-of-living/in/Tokyo","https://www.numbeo.com/crime/in/Sao-Paulo,Brazil","https://www.numbeo.com/cost-of-living/rankings.jsp?title=2024"],"maxItems": 10}
City naming
Numbeo uses single-segment hyphenated slugs in URLs. Globally unique cities use just the city name; ambiguous US cities append the two-letter state code with a hyphen:
| Plain English | Numbeo slug |
|---|---|
New York | New-York |
Berlin | Berlin |
São Paulo | Sao-Paulo |
Tokyo | Tokyo |
Cambridge, MA | Cambridge-MA |
Birmingham, AL | Birmingham-AL |
Mexico City | Mexico-City |
Pass the plain-English form — the actor builds the slug for you and falls back through alternative slug forms automatically if the first guess returns "Cannot find city id".
FAQ
Why are some price ranges missing?
Numbeo only shows the contributor-supplied range when there are enough samples. The actor omits rangeLow / rangeHigh rather than emitting null.
Are there separate currencies for non-US cities?
The price field is the value Numbeo displays for the page (typically the page's local currency or USD if the page is rendered in USD). The currency symbol is captured in the currency field when present.
How frequently does Numbeo update? Numbeo is contributor-driven — popular cities update weekly, smaller cities monthly to quarterly.
Is the actor blocked by Numbeo's anti-bot?
Numbeo uses light bot detection. The actor uses curl_cffi's Chrome 131 TLS impersonation, which is sufficient from Apify datacenter IPs in our testing. If you see 403s, enable useProxy or rely on autoEscalateOnBlock (the default).
Why are my numbers different from the website? Numbeo recomputes indices on every contributor update — the dataset captures the values at scrape time. The page itself may show slightly different numbers a day later.
Can I get historical data?
Yes for rankings (rankingsYear accepts back-years from 2017 onward). Per-city pages always show the latest data only.
Limitations
- Comparison mode only supports two cities at a time (Numbeo's UI limitation).
- The
topCitiesrankings page shows ~370 cities by default — usemaxItemsto cap. - Numbeo's "indices" use US prices as the 100 baseline; lower numbers mean cheaper.
Source
Data is scraped from https://www.numbeo.com. Numbeo aggregates contributor surveys; review their terms of use before redistributing.


