Booking.com Reviews Scraper — Hotel Reviews & Ratings avatar

Booking.com Reviews Scraper — Hotel Reviews & Ratings

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Booking.com Reviews Scraper — Hotel Reviews & Ratings

Booking.com Reviews Scraper — Hotel Reviews & Ratings

Extract hotel reviews from Booking.com with full details: scores, positive/negative text, reviewer nationality, traveler type, room info, and hotel responses. Fast, reliable, and clean output.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Sami

Sami

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

10 days ago

Last modified

Share

Booking.com Reviews Scraper — Fast, Clean & Reliable

Extract hotel reviews from Booking.com with full details: review scores, positive and negative text, reviewer nationality, traveler type, room info, hotel responses, and more.

How to scrape Booking.com reviews in 3 easy steps

  1. Go to Booking.com Reviews Scraper on Apify Store and click "Try for free"
  2. Paste hotel URLs from Booking.com — like https://www.booking.com/hotel/es/hotel-name.html
  3. Click Run and download reviews in JSON, CSV, or Excel

No coding required. No API key. Works with Apify's free plan.

What it does

This scraper takes one or more Booking.com hotel URLs and extracts all guest reviews with structured, clean data. Each review includes the score, written feedback (positive and negative), reviewer details, stay information, and the hotel's response if available.

Why this scraper?

  • Reliable extraction — Robust error handling and multiple selector fallbacks ensure consistent results even when Booking.com updates their HTML
  • Clean, structured output — Every field is parsed and normalized (dates in ISO format, scores as numbers, traveler types standardized)
  • Full review details — Not just text and score, but also room type, number of nights, check-in date, reviewer country, and hotel management responses
  • Smart pagination — Automatically navigates through all review pages with anti-detection measures
  • Flexible filtering — Filter by language, score range, traveler type, and sort order

Booking.com API alternative for hotel reviews

Booking.com doesn't offer a public API for extracting guest reviews. This Actor is the best Booking.com API alternative in 2026 — it extracts structured review data directly from hotel pages, including positive/negative sentiment, reviewer demographics, and hotel management responses.

Perfect for hospitality analytics, market research, and competitive intelligence without maintaining your own scraping infrastructure.

What you get per review

FieldExampleDescription
reviewScore9.2Individual review score (1-10)
reviewTitle"Amazing stay!"Review headline
reviewPositive"Beautiful room, great location..."Positive feedback text
reviewNegative"Breakfast could be better"Negative feedback text
reviewDate"2026-03-15"Date of the review (ISO format)
reviewerName"John"Reviewer's display name
reviewerCountry"United States"Reviewer's country
reviewerTravelerType"couple"solo, couple, family, group, business
reviewerRoomType"Deluxe Double Room"Room type booked
reviewerNights3Number of nights stayed
reviewerCheckIn"2026-03-12"Check-in date
reviewLanguage"en"Language of the review
hotelResponseText"Thank you for your kind words..."Hotel's response to the review
hotelResponseDate"2026-03-16"Date of hotel's response
hotelName"Hotel Example Barcelona"Hotel name
hotelOverallScore8.6Hotel's overall score
hotelTotalReviews1243Total number of reviews
hotelLocation"Barcelona, Spain"Hotel location
hotelStars4Hotel star rating

Use cases

  • Competitive analysis — Compare guest sentiment across hotels in a market
  • Revenue management — Track how pricing changes affect guest satisfaction
  • Market research — Understand traveler preferences by nationality, type, and season
  • Sentiment analysis — Run NLP on review text to identify trends and pain points
  • Travel tech — Build recommendation engines or review aggregators

Scrape Booking.com reviews with Python, JavaScript, or no code

Use this Actor directly from the Apify platform (no coding required), or call it via the Apify API from Python, JavaScript, or any language:

Python example:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("zhorex/booking-reviews-scraper").call(run_input={
"hotelUrls": ["https://www.booking.com/hotel/es/ayre-gran-via.html"],
"maxReviewsPerHotel": 200,
"filterByLanguage": "en"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['reviewScore']}: {item['reviewPositive']}")

JavaScript example:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('zhorex/booking-reviews-scraper').call({
hotelUrls: ['https://www.booking.com/hotel/es/ayre-gran-via.html'],
maxReviewsPerHotel: 200,
filterByLanguage: 'en',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Input example

{
"hotelUrls": [
"https://www.booking.com/hotel/es/ayre-gran-via.html",
"https://www.booking.com/hotel/fr/le-marais.html"
],
"maxReviewsPerHotel": 200,
"filterByLanguage": "en",
"sortBy": "newest",
"includeHotelInfo": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output example

{
"hotelUrl": "https://www.booking.com/hotel/es/ayre-gran-via.html",
"hotelName": "Ayre Hotel Gran Via",
"hotelLocation": "Barcelona, Spain",
"hotelOverallScore": 8.4,
"hotelTotalReviews": 2847,
"hotelStars": 4,
"reviewTitle": "Perfect location for exploring Barcelona",
"reviewPositive": "Right next to Plaza Espanya, amazing rooftop pool, very clean rooms with modern design. Staff was incredibly helpful with restaurant recommendations.",
"reviewNegative": "Street noise at night if your room faces the main road. Ask for a courtyard room.",
"reviewScore": 8.8,
"reviewDate": "2026-03-20",
"reviewerName": "Sarah",
"reviewerCountry": "United Kingdom",
"reviewerTravelerType": "couple",
"reviewerRoomType": "Superior Double Room",
"reviewerNights": 4,
"reviewerCheckIn": "2026-03-16",
"reviewLanguage": "en",
"hotelResponseText": "Dear Sarah, thank you for choosing our hotel. We are glad you enjoyed the rooftop pool and our staff's service. Regarding the noise, we do offer courtyard-facing rooms upon request.",
"hotelResponseDate": "2026-03-22",
"scrapedAt": "2026-04-06T14:32:00.000Z"
}

Pricing

This scraper uses Pay Per Event pricing:

EventPrice
Per review extracted$0.002

Examples:

  • 100 reviews = $0.20
  • 500 reviews = $1.00
  • 1,000 reviews = $2.00

You are only charged for reviews that are successfully extracted. If a hotel has no reviews or the scrape fails, you are not charged.

Filters available

  • By language — Use ISO language codes: en, es, fr, de, it, pt, nl, ja, zh, ko, ru, ar
  • By scorelow (1-3), medium (4-6), high (7-10), or all
  • By traveler typesolo, couple, family, group, business
  • Sort ordernewest, oldest, highest_score, lowest_score

Limitations

  • Rate limits — The scraper respects Booking.com's rate limits with built-in delays between pages (2-5 seconds) and between hotels (3-5 seconds)
  • Proxy required — Residential proxies are strongly recommended. The scraper uses Apify's residential proxy by default
  • Max reviews — Up to 5,000 reviews per hotel. Most hotels have fewer than this
  • CAPTCHA — Booking.com may occasionally show CAPTCHAs. The scraper logs a warning and skips if this happens
  • Page structure changes — Booking.com may update their HTML. The scraper uses multiple fallback selectors, but if extraction stops working, please report it

FAQ

Does it work with any hotel on Booking.com? Yes, any publicly listed hotel with reviews on Booking.com.

What languages are supported? All languages available on Booking.com. You can filter reviews by language or get all languages at once.

Is the hotel's response to reviews included? Yes, if the hotel has responded to a review, both the response text and date are extracted.

Can I scrape thousands of reviews? Yes, up to 5,000 per hotel. For hotels with many reviews, set maxReviewsPerHotel to your desired limit.

How fast is it? Approximately 3-5 seconds per page of reviews (10 reviews per page). A hotel with 200 reviews takes about 1-2 minutes.

What if a hotel has no reviews? The scraper will log a warning and move to the next hotel. No charge is applied.

Is there a Booking.com API for reviews? No. Booking.com's affiliate API provides hotel and pricing data but does not include guest reviews. This Actor fills that gap — extracting full review data including scores, sentiment, reviewer demographics, and hotel responses.

How much does it cost to scrape Booking.com reviews? $0.002 per review. Scrape 100 reviews for just $0.20, or 1,000 reviews for $2.00. Start with Apify's free plan which includes $5 monthly — enough for 2,500 reviews.

Can I scrape Booking.com reviews in Python? Yes. Use the Apify Python client (pip install apify-client) to call this Actor programmatically. See the Python code example above.

Is scraping Booking.com reviews legal? This Actor extracts publicly visible review data from Booking.com — the same content any browser user can see. No login or authentication is used. Always consult legal counsel for your specific use case.

Can I use this for sentiment analysis? Yes. Reviews include separate positive and negative text fields, making it ideal for NLP and sentiment analysis. Export to CSV or JSON and process with your preferred NLP tools.

Integrations & data export

Export your Booking.com review data in JSON, CSV, Excel, or XML. Integrate directly with:

  • Google Sheets — automatic data sync for competitive dashboards
  • Zapier / Make / n8n — workflow automation and alerts
  • REST API — programmatic access from Python, JavaScript, or any language
  • Webhooks — real-time notifications when scrapes complete

See all integrations →

Other scrapers by Zhorex

B2B Review Intelligence:

Chinese Social Intelligence Suite:

Other Tools:

This actor accesses publicly visible content on Booking.com — the same content any browser user can view. No login, authentication, or private data is accessed. The scraper respects rate limits with built-in delays. Users are responsible for complying with applicable laws and Booking.com's Terms of Service.


💡 Found this Actor useful? Please leave a star rating — it helps other users discover this tool.