Numbeo Cost of Living Scraper avatar

Numbeo Cost of Living Scraper

Pricing

Pay per event

Go to Apify Store
Numbeo Cost of Living Scraper

Numbeo Cost of Living Scraper

Scrape cost-of-living data from Numbeo.com — city rankings with indices, detailed price lists per city, and city-to-city comparisons. Covers 486+ cities with 93 price items each.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Scrape cost-of-living data from Numbeo.com — the world's largest database of user-contributed data about cities and countries. Extract city rankings, detailed price lists, and city-to-city comparisons in structured JSON, CSV, or Excel format.

What data can you scrape?

This actor supports three scraping modes:

1. City Rankings

Scrape the global cost-of-living rankings table with indices for 486+ cities worldwide. Each city includes:

  • Cost of Living Index — relative to New York City (100)
  • Rent Index — apartment rent prices relative to NYC
  • Cost of Living + Rent Index — combined metric
  • Groceries Index — grocery prices relative to NYC
  • Restaurant Price Index — dining costs relative to NYC
  • Local Purchasing Power Index — relative purchasing power

2. City Prices

Get detailed price breakdowns for specific cities. Each city page contains ~93 individual price items organized by category:

  • Restaurants — meal prices, coffee, beer, water at restaurants
  • Markets — grocery prices for milk, bread, eggs, cheese, fruits, vegetables, meat
  • Transportation — public transit tickets, taxi fares, gasoline prices
  • Utilities — electricity, water, heating, internet, mobile plans
  • Sports and Leisure — gym memberships, cinema tickets, tennis court rentals
  • Childcare — preschool, international school fees
  • Clothing and Shoes — brand-name and mid-range clothing prices
  • Rent Per Month — apartments (1-bedroom and 3-bedroom, city center and outside)
  • Buy Apartment Price — price per square meter in and outside city center
  • Salaries and Financing — average monthly salary, mortgage interest rates

3. City Comparison

Compare two cities side by side. Get price differences for every item with percentage comparisons, making it easy to understand the relative cost of living.

Use cases

Relocation research

Moving to a new city? Compare cost of living between your current city and potential destinations. Understand exactly how much more or less you will spend on rent, groceries, dining out, and transportation.

Salary benchmarking

HR teams and recruiters use cost-of-living data to set competitive salaries across different locations. Compare purchasing power indices to understand what equivalent salaries look like in different cities.

Remote work location planning

Digital nomads and remote workers can evaluate potential base cities by comparing living costs. Find cities with the best quality-of-life-to-cost ratio by analyzing purchasing power alongside rent and grocery indices.

Academic and economic research

Researchers studying urbanization, economic development, and quality of life use Numbeo data as a primary source. Export structured datasets for statistical analysis and cross-city modeling.

HR compensation planning

Build location-based compensation tiers backed by real data. Use rankings indices to create multipliers for different office locations and calculate equitable pay adjustments.

Market analysis

Companies evaluating expansion into new markets can use cost-of-living data to estimate operational costs, employee compensation requirements, and consumer purchasing power in target cities.

Real estate investment

Compare rent indices and apartment purchase prices across cities to identify markets with favorable rent-to-price ratios or emerging affordable markets.

How to use

Rankings mode (default)

Scrape the global rankings table. Set maxCities to limit results.

{
"mode": "rankings",
"maxCities": 20
}

Output example:

{
"rank": 1,
"city": "Hamilton",
"country": "Bermuda",
"costOfLivingIndex": 148.17,
"rentIndex": 95.38,
"costOfLivingPlusRentIndex": 123.43,
"groceriesIndex": 155.89,
"restaurantPriceIndex": 138.22,
"localPurchasingPowerIndex": 97.24,
"url": "https://www.numbeo.com/cost-of-living/in/Hamilton"
}

City Prices mode

Scrape detailed prices for specific cities.

{
"mode": "city_prices",
"cities": ["New York", "London", "Tokyo", "Berlin"]
}

Output example:

{
"city": "New York",
"country": "United States",
"category": "Restaurants",
"item": "Meal, Inexpensive Restaurant",
"price": 25.00,
"currency": "USD",
"range": "15.00-40.00",
"url": "https://www.numbeo.com/cost-of-living/in/New-York",
"scrapedAt": "2026-03-26T10:30:00.000Z"
}

Comparison mode

Compare two cities side by side.

{
"mode": "comparison",
"cities": ["New York", "London"]
}

Output example:

{
"city1": "New York",
"city2": "London",
"category": "Restaurants",
"item": "Meal, Inexpensive Restaurant",
"city1Price": 25.00,
"city2Price": 20.00,
"difference": "-20.00%",
"currency": "USD",
"url": "https://www.numbeo.com/cost-of-living/compare_cities.jsp?city1=New+York&city2=London",
"scrapedAt": "2026-03-26T10:30:00.000Z"
}

Input parameters

ParameterTypeDefaultDescription
modestringrankingsScraping mode: rankings, city_prices, or comparison
citiesarray[]List of city names (for city_prices and comparison modes)
maxCitiesinteger50Max cities to return in rankings mode
yearstring(current)Year for historical data (e.g., "2024")
currencystring(local)Display currency code (e.g., "USD", "EUR")
languagestringenLanguage code
requestDelayinteger500Delay between requests in milliseconds

City name format

Use city names as they appear on Numbeo. Multi-word cities use spaces in the input and are automatically converted to URL slugs:

  • "New York" becomes /in/New-York
  • "Buenos Aires" becomes /in/Buenos-Aires
  • "Ho Chi Minh City" becomes /in/Ho-Chi-Minh-City
  • "London" becomes /in/London

Output format

Data is stored in the default dataset and can be exported as:

  • JSON — structured data for programmatic use
  • CSV — spreadsheet-compatible format
  • Excel — direct download as .xlsx
  • XML — for data pipeline integration

Access results via the Apify API, Console UI, or integrate with tools like Google Sheets, Zapier, Make, or custom webhooks.

Performance and limits

MetricValue
Memory256 MB
Rankings (all cities)~5 seconds
Per city (prices)~2 seconds
Default rate limit500ms between requests
Retry attempts3 with exponential backoff

Pricing

This actor uses pay-per-event pricing:

EventPrice
Run started$0.01 (one-time)
City scraped (FREE tier)$0.005 per city
City scraped (BRONZE)$0.0045 per city
City scraped (SILVER)$0.004 per city
City scraped (GOLD)$0.00325 per city
City scraped (PLATINUM)$0.0025 per city
City scraped (DIAMOND)$0.002 per city

Example costs:

  • Rankings (50 cities): $0.01 + 50 x $0.005 = $0.26
  • City prices (10 cities): $0.01 + 10 x $0.005 = $0.06
  • Comparison (2 cities): $0.01 + 2 x $0.005 = $0.02

Integrations

Connect this actor to your existing workflows:

  • Google Sheets — automatically export data to spreadsheets
  • Slack / Discord — get notifications when scraping completes
  • Zapier / Make — trigger downstream automations
  • Webhooks — receive data via HTTP callbacks
  • API — programmatic access to datasets and runs

Tips

  1. Start with rankings to identify cities of interest, then use city_prices for detailed data.
  2. Use the currency parameter to normalize all prices to a single currency for easier comparison.
  3. Historical data is available by setting the year parameter — useful for tracking trends over time.
  4. Rate limiting — the default 500ms delay works well. Increase if you encounter issues.
  5. Comparison mode is ideal for quick A-vs-B decisions; use city_prices for comprehensive data.

Data freshness

Numbeo data is updated continuously by user contributions. The scraper extracts the latest available data at the time of each run. For historical analysis, use the year parameter to access archived data.

This actor scrapes publicly available data from Numbeo.com. Users are responsible for complying with Numbeo's Terms of Service and applicable data regulations. The actor implements polite scraping practices with rate limiting and retry backoff.

Support

  • Bug reports: Open an issue on the actor's Apify Store page
  • Feature requests: Contact the author via Apify messaging
  • Documentation: Refer to this README and the input schema tooltips