Booking.com Scraper

Pay-per-result on Apify · no login, no API key

Scrape Booking.com at scale: search a city, region or country to discover every hotel, with live per-night and per-room prices, availability & occupancy (rooms left, sold-out, scarcity), a forward availability calendar, and guest reviews - including rating-only ones - with reviewer country, stay date and the hotel's reply. One row per hotel; reviews and calendar in their own datasets.

Booking.com Scraper output: one row per hotel with guest score, review count, stars, per-night and total price, currency, rooms left, scarcity and city
The Overview: one row per hotel - score, stars, per-night & total price, rooms left and scarcity, all populated.

See it in action

Watch: a 96-second walkthrough of the Booking.com Scraper on Apify.

What you get

Four datasets, each clean and tabular - so prices, reviews and calendar never explode into one another:

Search a place, get every hotel

Put Rome, Bali or Germany in Discover hotels in a place and the actor expands it into every hotel there, priced and scored. A single run of Lisbon returns the market:

HotelClassGuest scorePer nightRooms leftCity
Maxime Boutique Hotel Avenida da Liberdade3★8.8 (3,692)$164.524Lisboa
MASA Hotel & Spa Campo Grande Collection4★8.5 (11,998)$96.141Lisboa

Prefer exact hotels? Name a hotel (e.g. The Venetian Macao) or paste Booking.com links. Grab the full sample to see the rooms, reviews and calendar rows.

Sample output

One hotel row (trimmed). Download results as JSON, CSV, Excel, or HTML:

{
  "hotelId": 55361, "hotelName": "Hotel Le Meurice",
  "city": "Nice", "country": "France",
  "stars": 3, "reviewScore": 8.6, "reviewCount": 497,
  "currency": "USD", "perNightPrice": 330.58, "grossPrice": 330.58,
  "availableRooms": 2, "scarcityMessage": "We have 2 left",
  "rooms": [
    { "roomName": "Junior Suite", "pricePerNight": 330.58, "priceTotal": 330.58,
      "mealPlan": "Continental breakfast costs $20 per person per night.",
      "breakfastIncluded": false, "refundable": false, "maxOccupancy": "2", "roomSurfaceM2": 20 }
  ],
  "url": "https://www.booking.com/hotel/fr/le-meurice.html"
}
Booking.com Scraper Rooms & rates view: one row per bookable rate with room name, rate name, price per night, total, meal plan and cancellation terms
The Rooms & rates view: one row per bookable rate with meal plan and cancellation terms.
Booking.com Scraper Reviews dataset: score, title, review text, published date, stay date, room type, traveller type and reviewer country per row
The separate Reviews dataset: score, text, stay date, room type and reviewer country - rating-only reviews included.

Why this scraper

Who it's for

How it works

Open the actor on Apify, enter a place (or exact hotels / links), keep prices on and toggle reviews and the availability calendar, click Start, and download results as JSON, CSV, Excel, or HTML - or pull them from the API on a schedule. Field dictionary and copy-paste snippets are in the GitHub docs.

Booking.com Scraper input form on Apify: discover hotels in a place, name a destination or hotel, or paste links, then toggle prices, reviews and the availability calendar
One-screen setup: discover a place, name a hotel or paste links, then toggle prices, reviews and the calendar.

How much does it cost?

Pay only for what you pull - no start fee. Four events: Hotel $0.003 (each hotel returned), Prices $0.005 (each priced hotel - breakdown, per-room rates and occupancy), Review $0.001 (each review), and Calendar day $0.0005 (each forward day). New Apify accounts get free monthly credit, and paid plans get a lower per-event rate. See the actor page for current pricing.

Frequently asked questions

How much does it cost to scrape Booking.com?
Pay-per-event, no start fee: Hotel $0.003, Prices $0.005 per priced hotel, Review $0.001, Calendar day $0.0005. A "50 hotels with prices + 20 reviews each" run is well under a dollar. New accounts get free monthly credit; turn reviews or the calendar off to run cheaper.
Do I need a Booking.com account or API key?
No. Everything runs inside the actor on Apify - no login, no Booking.com API key, no proxy or anti-bot setup.
Can I discover all hotels in a city instead of pasting URLs?
Yes - put a city, region or country in Discover hotels in a place and the actor returns every hotel there, with prices, scores and availability.
Does it get all reviews, including ones with no text?
Yes. No 500-review cap, and rating-only reviews are included and flagged isRatingOnly, each with reviewer country, traveller type, stay date and the hotel's reply.
Does it have an availability calendar?
Yes - turn on Include availability calendar for a forward day-by-day calendar per hotel with the minimum price and available/sold-out status.
Which currencies and languages are supported?
25 currencies (USD, EUR, GBP, INR, JPY, MYR, VND, PHP, TRY and more) and 20 display languages.
Can I schedule daily price monitoring?
Yes. Run it on an Apify schedule and append each run to build a price and availability history - Apify handles the cron, storage, API and webhooks.
Is it legal to scrape Booking.com?
Scraping publicly available data is generally lawful, but you are responsible for how you use it. Follow Booking.com's Terms and applicable data-protection law, especially for personal data in reviews.

Try it free on Apify

Read the full guide: step-by-step tutorial → · Google Hotels scraper → · Expedia scraper → · Agoda scraper →