Airbnb & Booking Price Index avatar

Airbnb & Booking Price Index

Pricing

from $0.10 / actor start

Go to Apify Store
Airbnb & Booking Price Index

Airbnb & Booking Price Index

Get the true market-wide median and average nightly price for any city and dates — across the entire Airbnb and Booking.com market, not a small sample. No API keys or logins, just a free Apify account.

Pricing

from $0.10 / actor start

Rating

0.0

(0)

Developer

inovaflow

inovaflow

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 hours ago

Last modified

Share

Compare the real, market-wide median and average nightly price across many cities and date ranges at once — measured over every Airbnb and Booking.com listing, not a handful.

If you've ever priced a place to rent — or tried to pick the cheapest week for a trip — you've hit the same wall: what does a night here actually cost, and how do my dates or cities compare? Airbnb shows you one screen of listings, Booking.com another, and comparing "Lisbon next week vs the week after," or "Lisbon vs Porto," means running the same search over and over.

There's a faster way. Behind every price slider sits a little bar chart — the price histogram — that already counts how many listings fall in each price band, across the whole search. We built this to read that chart and turn it into a clean median and average over every listing — one read instead of hundreds of scrapes. Give it several cities and date ranges and it fills a comparison grid: one row per city, one column per date, so you can see at a glance which week and which city win.

You get a ready comparison table (CSV) for Excel/Sheets, the same grid as a dataset (for the API), and a detail record with the average, listing counts, and full price breakdown behind every number. No API keys, no Airbnb/Booking login — just a free Apify account.

🧪 Early access — runs at cost. No markup: you pay only Apify's raw platform usage (often a few cents, free within starter credits). Try it, and if it's useful, tell us what to add next — more sites, currencies, output, schedules. Your feedback shapes the roadmap → open an issue on the Issues tab. 🙏

Who it's for

  • Hosts & rental owners"is my nightly rate above or below the real market, and how does it shift week to week?"
  • Travelers picking dates"which week of July is cheapest in Lisbon — and is Porto cheaper?"
  • Hotels & revenue managers comparing price distributions across upcoming weekends in one run.
  • Analysts & data scientists pulling true median, average, and the full distribution for many cities × dates into a spreadsheet.
  • App builders & AI agents needing a cheap "what does a night cost here, on these dates?" lookup.

Input

Everything but the first two has a sensible default.

  • Locations — one or more, each City, Country (e.g. Lisbon, Portugal). A bare city is rejected so it can't hit the wrong Lisbon.
  • Date ranges — one or more stays (check-in + check-out, from a calendar). Not in the past, ≤ 90 nights each; each becomes a column.
  • Adults — 1–16 (default 1).
  • Currency — EUR, USD, GBP, CHF, or PLN (default EUR; no conversion).
  • Booking sites — Airbnb, Booking.com, or both. Default: Airbnb only (fast, near-free); add Booking.com for the fuller picture (it runs a browser, so it's slower/costlier).

Every location is priced for every date range (a run is capped at 200 city × date-range combinations — split bigger jobs).

How to set it up

  1. Create a free Apify account and open this Actor — no Airbnb/Booking login, no API keys.
  2. Click Try for free / Start.
  3. Add your locations and date ranges, tweak guests / currency / sites if you like, and Start.
  4. Open the Output tab and download comparison.csv — one row per city & site, one column per date (median nightly price). Or use the dataset (JSON/API) or the detail record.

(Optional) Use the Schedule tab to re-run the same grid over time.

That's it. Airbnb grids come back fast; Booking.com adds ~a minute of browser time per city × date.

Output

  • comparison.csv — the table ready for Excel/Sheets: Booking site, Location, Currency, then one column per date range (3 Jul → 6 Jul) holding the market-wide median nightly price. A blank cell means that combination was blocked or had no listings.
  • The same grid as a dataset (API/JSON), with clean column names. (The dataset's own table sorts the date columns alphabetically — use comparison.csv for the intended order.)
  • A detail record (detail, JSON) — per city × date × site: the median and average, the total number of listings (the whole market, not a sample), the full price-band breakdown, the actual ISO dates, and a short reason for any blank.

Costs

No per-result fee, no markup — you pay only Apify platform usage (compute + a little proxy bandwidth), roughly a few cents per (city × date range) when Booking.com is on; the default Airbnb-only grid is near-free.

Almost all of it is the Booking.com step — each read launches a real headless browser (~1.5 GB, ~a minute) to clear its anti-bot challenge. Airbnb is one light request, seconds-fast.

Tip: Booking.com is opt-in — leave it off for near-free Airbnb grids; give the run more memory for large Booking grids to finish faster.

Use it from your AI assistant (MCP)

Call it as a tool from any MCP client (Claude, Cursor, …) via Apify's MCP server — just ask "compare the median nightly price in Lisbon and Porto for the first two weeks of July." The only credential is your Apify API token (Console → Settings → Integrations → API tokens).

claude mcp add --transport http apify-price-index \
"https://mcp.apify.com?tools=inovaflow/airbnb-booking-price-index" \
--header "Authorization: Bearer <YOUR_APIFY_TOKEN>"

Any MCP client works the same way (OAuth too). This Actor also powers our Travel Planner Actor, which prices accommodation alongside flights, trains, and buses in one trip-planning call.

Notes

This Actor reads publicly visible search data from Airbnb and Booking.com — it logs into nothing and creates nothing on either site. Every figure is computed over the whole result set (total_listings), not a sample. One caveat: Airbnb prices its histogram for the whole stay, so per-night figures are the stay total ÷ nights and run slightly high on short stays (the raw whole-stay numbers are in the detail record); Booking.com is already per-night. Respect each site's Terms of Service.

Found a bug, want another site or currency, or need tailored output? Open an issue on the Issues tab — custom tweaks on request.