ParseForge Scrapers

Numbeo Cost of Living Scraper

parseforge/numbeo-scraper

Developer toolsAutomationOther

Scrapes Numbeo cost of living indices, country rankings, city prices, and two-city comparisons. Returns each item as a flat row for export to CSV, JSON, Excel, or XML.

Run this scraper See the API call
Total users
20
Monthly active
2
Total runs
213
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

Numbeo Cost of Living Scraper

Scrape Numbeo cost of living data for 500+ cities and 150+ countries, or compare prices between any two cities. Get indices, individual prices, and comparison tables in one flat row per item. No login or API key. Export to CSV, JSON, Excel, or XML.

Numbeo's cost of living data is spread across city pages, country rankings, and comparison tables, and the site has no official API. This Actor reads the public pages directly and returns each city, country, price, or comparison as a structured row. You can pull rankings for hundreds of locations or drill into a single city's prices, all without writing a scraper.

Who uses it What they scrape Numbeo for
Market researchers Benchmark living costs across cities for reports and market entry studies.
HR and relocation teams Compare cost of living between current and target cities to set relocation packages.
Data analysts Build datasets of price indices and item-level costs for trend analysis.
Journalists Pull current cost of living figures for stories on affordability and urban economics.
Travel and expat platforms Enrich destination pages with up-to-date price comparisons and indices.

What it does

This Actor collects Numbeo cost of living indices, country rankings, individual city prices, and two-city comparisons, and returns each item as a flat row.

  • ๐Ÿ™๏ธ City Rankings: cost of living indices for 500+ cities, including rent, groceries, and local purchasing power.
  • ๐ŸŒ Country Rankings: indices for 150+ countries, with the same breakdown as city rankings.
  • ๐Ÿ›’ City Prices: individual prices for a specific city, from a loaf of bread to a monthly transit pass.
  • โš–๏ธ Compare Two Cities: side-by-side price comparison between any two cities, with percentage differences.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Numbeo data

๐Ÿ“Š Build a cost of living index dataset.

A data analyst runs the rankings mode with maxItems set to 500 to collect indices for all major cities, then joins the output with internal data for a global affordability dashboard.

๐Ÿข Set relocation packages.

An HR team uses the compare mode with city1=New-York and city2=London to see the price difference for housing, groceries, and transportation, then adjusts the cost of living allowance.

๐Ÿ“ฐ Fact-check a story on urban affordability.

A journalist runs cityPrices for a specific city to get current prices for a basket of goods, then cites the numbers in an article about rising living costs.

๐ŸŒ Enrich a travel website.

A travel platform runs countryRankings monthly and stores the indices to show cost of living badges on destination pages.

Why choose this scraper

What you get
No official API Numbeo does not offer a public API, so this Actor is the fastest way to get structured data.
Four modes in one Switch between rankings, city prices, and comparisons without changing your workflow.
Flat output Every result is a single row, ready for spreadsheets, databases, or BI tools.
No login needed The Actor reads public pages, so you do not need a Numbeo account or API key.

Configure the run

Drive the Actor with a mode and optional city or country parameters. Rankings return all available locations up to your maxItems limit, while cityPrices and compare modes need the URL-friendly city names from Numbeo. The Input tab lists every parameter.

A first run with the defaults:

{
 "mode": "rankings",
 "maxItems": 10,
 "city": "New-York",
 "city1": "New-York",
 "country1": "United-States",
 "city2": "London",
 "country2": "United-Kingdom"
}

A larger pull:

{
 "mode": "rankings",
 "maxItems": 200,
 "city": "New-York",
 "city1": "New-York",
 "country1": "United-States",
 "city2": "London",
 "country2": "United-Kingdom"
}

Pricing

Pay-per-result: $0.0049 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.49
1,000 results $4.90
10,000 results $49.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Numbeo Cost of Living Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Numbeo through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/numbeo-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that the mode is set correctly and that any required city or country parameters are filled in. For cityPrices and compare modes, use the URL-friendly format from Numbeo, like 'New-York' not 'New York'.

Why is my city name not working?

Numbeo uses hyphenated, accent-free names. Look at the city page URL on Numbeo and copy the exact slug, for example 'Buenos-Aires' or 'Sao-Paulo'.

Why did I only get 10 items?

Free runs are limited to 10 items as a preview. Upgrade to a paid plan and set maxItems to a higher number to get more results.

Why are some prices missing?

Numbeo may not have data for every item in every city. The Actor returns only what is published on the page, so missing fields are left empty.

Why does the compare mode return an error?

Make sure you provided both city and country for each side, and that the names match Numbeo's URL format. For example, city1=New-York and country1=United-States.

FAQ

Question Answer
What is Numbeo cost of living data? Numbeo publishes crowd-sourced price and index data for cities and countries, covering groceries, restaurants, transportation, utilities, and rent. This Actor extracts that data into structured rows.
How do I get city rankings? Set mode to 'rankings' and optionally set maxItems. The Actor returns one row per city with its cost of living index, rent index, grocery index, and more.
How do I get country rankings? Set mode to 'countryRankings'. The output is similar to city rankings but aggregated at the country level.
How do I get prices for a specific city? Set mode to 'cityPrices' and provide the city name in URL-friendly format, like 'New-York' or 'Buenos-Aires'. The Actor returns individual prices for dozens of items.
How do I compare two cities? Set mode to 'compare' and provide city1, country1, city2, and country2. The Actor returns a comparison table with prices and percentage differences.
What is the URL-friendly city format? Numbeo uses hyphenated names without spaces or accents, like 'New-York', 'London', 'Tokyo', or 'Buenos-Aires'. Check the city page URL on Numbeo to confirm.
Is there a limit on how many items I can scrape? Free users are limited to 10 items as a preview. Paid users can set maxItems up to 1,000,000.
Do I need a Numbeo account or API key? No. The Actor reads public pages directly, so no login or key is required.
What output formats are supported? You can export the dataset to CSV, JSON, Excel, or XML from the Apify platform.
How often is the data updated? The Actor scrapes live data from Numbeo on each run, so you always get the latest published figures.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Numbeo. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
mode required string (4 options) Select the scraping mode. 'rankings' returns cost of living indices for 500+ cities. 'countryRankings' returns indices for 150+ countries. 'cityPrices' returns individual prices for a specific city. 'compare' compares prices between two cities. rankings
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
city string City name for 'cityPrices' mode. Use the URL-friendly format from Numbeo (e.g. 'New-York', 'London', 'Tokyo', 'Buenos-Aires'). New-York
city1 string First city for comparison (e.g. 'New-York'). Used only in 'compare' mode. New-York
country1 string Country of first city (e.g. 'United-States'). Used only in 'compare' mode. United-States
city2 string Second city for comparison (e.g. 'London'). Used only in 'compare' mode. London
country2 string Country of second city (e.g. 'United-Kingdom'). Used only in 'compare' mode. United-Kingdom

Pricing

from $4.40 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.0044 to $0.0049

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~numbeo-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Numbeo Cost of Living Scraper on Apify All scrapers