Booking.com Scraper - Hotels, Reviews, Prices & Availability avatar

Booking.com Scraper - Hotels, Reviews, Prices & Availability

Pricing

from $0.002 / hotel

Go to Apify Store
Booking.com Scraper - Hotels, Reviews, Prices & Availability

Booking.com Scraper - Hotels, Reviews, Prices & Availability

Scrape Booking.com hotels for any destination or hotel: guest reviews (incl. rating-only), live prices, room rates, availability and occupancy, plus a forward availability calendar. Search a city or country, or paste hotel links. Structured JSON/CSV, no code, no login.

Pricing

from $0.002 / hotel

Rating

5.0

(4)

Developer

Factden

Factden

Maintained by Community

Actor stats

4

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape Booking.com hotels at scale — guest reviews (including rating-only), live prices, per-room rates, availability & occupancy (rooms left, sold-out), and a forward availability calendar. Search a whole city or country, or paste hotel links, and get clean JSON, CSV or Excel — no code, no login, no Booking.com account.

▶ Watch the walkthrough: https://www.youtube.com/watch?v=mxaye6x1E8U

Input form

What does Booking.com Scraper do?

Booking.com Scraper turns any Booking.com destination or hotel into structured data. Give it a place (Rome, Bali, Germany) to discover every hotel there, an exact hotel name, or Booking.com links, and it returns one clean row per hotel plus separate datasets for reviews and availability. It runs on the Apify platform, so you get API access, scheduling, proxy rotation, storage, and integrations (Make, Zapier, n8n, Google Sheets) out of the box.

Four things it extracts, each toggle-able:

  • Prices & occupancy (on by default) — gross / net / per-night price, per-room rates, rooms left, sold-out rooms, scarcity ("We have 2 left").
  • Guest reviews — score, positive/negative text, reviewer country, traveller type, stay date, room type, and the hotel's reply. Includes rating-only reviews (a score with no text).
  • Availability calendar — a forward day-by-day calendar of price and availability.
  • Discovery — expand a city/region/country into all of its hotels.

What data can I extract from Booking.com?

The actor writes to four datasets so each record type stays clean and tabular:

DatasetOne row perKey fields
Hotels (default)hotelhotelId, hotelName, stars, reviewScore, reviewCount, perNightPrice, grossPrice, netPrice, currency, availableRooms, scarcityMessage, rooms[], city, country, latitude, longitude, url, markdownContent
Reviewsguest reviewscore (0-10), title, reviewText, textPositive, textNegative, reviewerName, reviewerCountryCode, travellerType, roomType, stayDate, stayNights, publishedAt, hotelierResponse, isRatingOnly
Calendardaydate, available, minPrice, currency, lengthOfStay
Rooms & rates (a view of Hotels)bookable rateroomName, rateName, pricePerNight, priceTotal, mealPlan, breakfastIncluded, refundable, freeCancellationUntil, maxOccupancy, roomSurfaceM2

Hotels overview

What makes this different?

  • All four in one actor. Most Booking.com tools do reviews or prices or discovery. This one does discovery + prices + occupancy + reviews + calendar in a single run.
  • Search a place, get every hotel. The searchLocation field expands a city/region/country into all its hotels — you don't need to paste URLs.
  • Complete reviews, including rating-only. No 500-review cap; it returns every written review plus the score-only ones other scrapers drop.
  • Per-room rate matrix. A "Rooms & rates" view unwinds every bookable rate with its price, meal plan and cancellation terms.
  • LLM-ready. Every hotel and review carries a markdownContent block for RAG / vector-DB ingestion.

How to scrape Booking.com step by step

  1. Click Try for free and open the input form.
  2. Enter a place in Discover hotels in a place (e.g. Rome), or an exact hotel name in searchTerms, or paste Booking.com links in startUrls.
  3. Choose what to pull: prices & occupancy (on by default), reviews, and/or the availability calendar.
  4. (Optional) set check-in/out dates, guests, currency, language, and Min rating / price filters.
  5. Click Save & start. When it finishes, Export the Hotels, Reviews and Calendar datasets as JSON, CSV, or Excel — or pull them from the API.

Booking.com API vs this scraper

Booking.com has no public data API for hotels, prices or reviews — its Connectivity/Demand APIs are for accredited partners managing their own inventory, not for market research. This scraper gives any user structured Booking.com data with no partner accreditation, no keys, and no per-call contract: search-by-place discovery, prices, occupancy, reviews and a calendar, delivered as JSON/CSV.

Who is it for?

Revenue managers and hotels (rate parity, comp-set pricing), OTAs and travel startups (catalog + availability), market researchers and analysts (guest sentiment, occupancy signals), and AI teams building travel assistants that need real hotel data.

Common use cases

Rate shopping & comp-set pricing

Track a competitor set's per-night prices and per-room rates over time by scheduling daily runs on a fixed hotel list or a city.

Full-market discovery

Point searchLocation at a city or country to build a complete hotel catalog with scores, stars, geo and lead prices.

Guest-sentiment datasets

Pull every review (with text, score, traveller type, stay date and the hotel's reply) into a dataset for NLP or a RAG knowledge base.

Availability & occupancy monitoring

Use the availability calendar and availableRooms / scarcityMessage to watch demand and sell-out patterns across dates.

Input

Provide at least one of these three (combine freely):

FieldWhat it does
searchLocationA city / region / country per line (Rome, Bali, Germany) → discovers every hotel there.
searchTermsA destination or hotel name → a city's hotels, or that one hotel. Name matching works best with a clean, distinctive name; for one exact hotel every time, use a startUrls link instead.
startUrlsBooking.com hotel or search URLs (plain list or [{"url": "..."}] objects). Resolved by page slug (a stale dest_id in the URL is ignored). The most reliable way to target one exact hotel.

Data toggles: includePrices (default on — price breakdown + per-room rates + occupancy), includeReviews, includeAvailabilityCalendar. Stay: checkInDate, checkOutDate, adults, children, childrenAges, rooms. Discovery filters: maxResults, minGuestRating, minPrice, maxPrice. Reviews: maxReviews, reviewsSort, reviewLanguages. Market: currency (25 options) and language (20 options). Plus proxyConfiguration.

Output

Hotels (default dataset) — one flat row per hotel:

{
"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"
}

Rooms & rates

Reviews dataset — one row per guest review (rating-only reviews included, flagged isRatingOnly):

{
"hotelId": 55361,
"score": 7.2,
"title": "Great location",
"reviewText": "Cozy hotel in the heart of the city...",
"reviewerName": "Biermans",
"reviewerCountryCode": "NL",
"travellerType": "Solo traveler",
"roomType": "Standard Double Room",
"stayDate": "2026-08-06",
"stayNights": 5,
"publishedAt": "2026-08-11T13:30:42+00:00",
"isRatingOnly": false
}

Reviews

Calendar dataset — one row per forward day: { "date": "2026-08-17", "available": true, "minPrice": 331, "currency": "USD" }.

Availability calendar

You can download every dataset as JSON, CSV, Excel, HTML or XML, or read it from the Apify API.

How much does it cost to scrape Booking.com?

Pay-per-result, no start fee. You are charged only for what you pull:

EventPrice / 1,000
Hotel returned$3.00
Prices & availability (per priced hotel)$5.00
Review returned$1.00
Availability-calendar day$0.50

A typical "50 hotels with prices + 20 reviews each" run costs well under a dollar. Turn off reviews or the calendar to pay only for what you need. New Apify accounts get free monthly usage credit to start.

Run it on a schedule

Use Apify Schedules to run daily/weekly for price tracking or fresh reviews, and wire the dataset into Make, Zapier, n8n, Google Sheets, or a webhook so new data flows straight into your stack.

AI agents & RAG

Every hotel and review row includes a self-contained markdownContent block — drop it straight into a vector DB or an LLM prompt with no reshaping. The actor is also discoverable by AI agents through the Apify MCP server.

AI ingest

Data & compliance

The actor collects publicly available information from Booking.com. Review text may contain personal data (reviewer names) — if you store it, process it in line with GDPR/CCPA and your own legal basis. Use the data responsibly and respect Booking.com's Terms.

Other travel & review scrapers by FactDen

See all FactDen actors →

FAQ

Does Booking.com have a reviews or prices API?

Not for the public. Booking.com's partner APIs require accreditation and are for managing your own listings. This scraper is the practical way to get Booking.com hotel, price and review data as structured JSON/CSV.

Can I discover all hotels in a city instead of pasting URLs?

Yes — put the city, region or country in Discover hotels in a place (searchLocation) and the actor returns every hotel there, paginated and de-duplicated.

Can I get all reviews for a hotel, including ones with no text?

Yes. There's no 500-review cap, and rating-only reviews (a score with no written text) are included and flagged isRatingOnly.

Can I get prices for specific dates?

Yes — set checkInDate / checkOutDate (and guests/rooms). For a multi-day view of price and availability, turn on the availability calendar.

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 use it with the Apify API?

Yes — start runs and read datasets via the Apify API or the JS/Python clients.

Can I use it through an MCP server?

Yes — the actor is available through the Apify MCP server, so AI agents can call it directly.

Can I integrate it with Make, Zapier, n8n or Google Sheets?

Yes — through Apify's native integrations and webhooks.

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 any personal data in reviews.

Support

Found an issue or need a field the actor doesn't return yet? Open an issue on the Issues tab — we actively maintain this actor and take feature requests.

⭐ If this actor saves you time, a rating or bookmark on the Apify Store really helps.

Changelog

  • 2026-08-16 — Added searchLocation (discover all hotels in a place), 25 currencies / 20 languages, per-room rates & "Rooms & rates" view, stayDate / stayNights on reviews, Min/Max price discovery filters, and sorted availability calendar.
  • 2026-08-13 — Initial release: discovery + prices + occupancy + reviews + availability calendar.