Booking.com Reviews Scraper avatar

Booking.com Reviews Scraper

Pricing

from $1.49 / 1,000 results

Go to Apify Store
Booking.com Reviews Scraper

Booking.com Reviews Scraper

Extract Booking.com reviews at scale with precision. Automate review collection, sentiment analysis, and competitive intelligence. Perfect for hospitality businesses, OTAs, and market researchers. Supports bulk scraping with filtering by rating, date, and language.

Pricing

from $1.49 / 1,000 results

Rating

5.0

(4)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

2

Bookmarked

9

Total users

1

Monthly active users

13 days ago

Last modified

Share

What does Booking Reviews Scraper do?

Booking Reviews Scraper collects public guest reviews from Booking.com hotel pages and saves them as structured records in an Apify dataset. Add one or more direct hotel URLs, choose how many reviews to collect, optionally search review text, and select Booking.com's supported review order.

The dataset is useful for hotel reputation monitoring, competitor research, hospitality analysis, customer-experience reporting, sentiment workflows, and travel content research. Each record can include the review text, score, publication date, language, traveler context, stay details, reviewer country, photos, and hotel response.

Why use Booking Reviews Scraper?

  • Collect reviews in bulk - Process multiple Booking.com hotel pages in one run.
  • Use Booking.com review ordering - Choose most relevant, newest, oldest, highest score, or lowest score first.
  • Search review content - Return reviews that match a word or phrase such as breakfast, location, or spa.
  • Keep useful context - Save room type, traveler category, country, language, stay dates, nights stayed, and available reviewer metadata.
  • Build repeatable monitoring - Run on demand or schedule repeat runs through Apify.
  • Export to common formats - Download JSON, CSV, Excel, or XML, or connect the dataset to another workflow.

What data can you extract from Booking.com reviews?

Each dataset item represents one review. Empty values are omitted when Booking.com does not publish a field for that review.

FieldTypeDescription
hotelNameStringHotel name associated with the review.
hotelUrlStringBooking.com hotel page used for collection.
reviewIdString or NumberReview identifier when available.
reviewUrlStringDirect review URL when available.
reviewTitleStringReview headline or title.
reviewTextStringCombined positive and negative review text.
positiveStringPositive comment supplied by the guest.
negativeStringNegative comment supplied by the guest.
ratingNumber or StringGuest score for the stay.
publishedAtStringReview publication date in YYYY-MM-DD format.
languageStringReview language code or name.
stayDateStringStay month in YYYY-MM format when available.
roomTypeStringBooked room type.
travelerTypeStringTraveler category, such as couple, family, group, or solo traveler.
reviewerNameStringReviewer display name when available.
reviewerCountryStringReviewer country name.
reviewerCountryCodeStringReviewer country code.
reviewerAnonymousBooleanWhether Booking.com marks the reviewer as anonymous.
helpfulVotesCountNumberHelpful vote count when available.
partnerReplyStringHotel or partner response to the review.
checkinDateStringCheck-in date when available.
checkoutDateStringCheck-out date when available.
numNightsNumberNumber of nights stayed.
stayStatusStringStay status supplied by Booking.com.
photosArrayReview photos with available IDs, labels, sizes, and URLs.
photoCountNumberNumber of photos included in the review.

How to scrape Booking.com reviews

  1. Open Booking Reviews Scraper in Apify Console.
  2. Add one or more direct Booking.com hotel page URLs to startUrls.
  3. Set results_wanted to the maximum number of unique reviews for the run.
  4. Optionally enter searchText and select a sortBy value.
  5. Start the Actor and wait for the dataset to finish.
  6. Preview, download, or connect the results to your workflow.

The requested result limit applies to the complete run. Duplicate reviews are removed before records are saved.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlsArray of stringsYesOne example hotel URLDirect Booking.com hotel page URLs. The Actor processes each URL in the same run.
results_wantedIntegerNo20Maximum number of unique reviews to save across the run. Must be greater than zero.
searchTextStringNo""Booking.com review text filter. Leave empty to collect reviews without a text filter.
sortByStringNoMOST_RELEVANTBooking.com review order. Supported values are listed below.

Supported review sort values

ValueMeaning
MOST_RELEVANTBooking.com's default relevance order.
NEWEST_FIRSTNewest published reviews first.
OLDEST_FIRSTOldest published reviews first.
SCORE_DESCHighest review scores first.
SCORE_ASCLowest review scores first.

Usage Examples

Basic hotel review collection

Collect up to 20 reviews from one Booking.com hotel page using the default relevance order.

{
"startUrls": ["https://www.booking.com/hotel/gb/nobu-hotel-london-portman-square.html"],
"results_wanted": 20
}

Multiple hotel pages

Compare reviews from several properties in one dataset. The result limit is shared across the run.

{
"startUrls": [
"https://www.booking.com/hotel/gb/nobu-hotel-london-portman-square.html",
"https://www.booking.com/hotel/gb/the-savoy.html"
],
"results_wanted": 100,
"sortBy": "NEWEST_FIRST"
}

Search and sort reviews

Find reviews mentioning breakfast and return the lowest-scoring matching reviews first.

{
"startUrls": ["https://www.booking.com/hotel/gb/nobu-hotel-london-portman-square.html"],
"results_wanted": 50,
"searchText": "breakfast",
"sortBy": "SCORE_ASC"
}

Sample Output

The following example shows one dataset item. Optional fields are included only when Booking.com provides them.

{
"hotelName": "Nobu Hotel London Portman Square",
"hotelUrl": "https://www.booking.com/hotel/gb/nobu-hotel-london-portman-square.html#tab-reviews",
"reviewId": "123456789",
"reviewUrl": "https://www.booking.com/reviews/gb/hotel/nobu-hotel-london-portman-square.html",
"reviewTitle": "Excellent stay in a prime location",
"reviewText": "Positive: Great location and very clean room.\nNegative: Breakfast options were limited.",
"positive": "Great location and very clean room.",
"negative": "Breakfast options were limited.",
"rating": 8.9,
"publishedAt": "2026-08-13",
"language": "en-gb",
"stayDate": "2026-08",
"roomType": "Superior Room",
"travelerType": "couple",
"reviewerName": "Emma",
"reviewerCountry": "United Kingdom",
"reviewerCountryCode": "gb",
"reviewerAnonymous": false,
"helpfulVotesCount": 4,
"partnerReply": "Thank you for sharing your feedback with us.",
"checkinDate": "2026-08-05",
"checkoutDate": "2026-08-08",
"numNights": 3,
"stayStatus": "completed",
"photos": [],
"photoCount": 0
}

Tips for best results

  • Use complete hotel URLs - Start with a direct property page under booking.com/hotel/, not a general search page.
  • Start with a small limit - Use results_wanted: 20 to confirm the property URL and output shape before larger runs.
  • Use the exact sort values - The five sortBy values in this README are the supported Booking.com review orders.
  • Use focused search text - A specific term such as clean, staff, or location is more useful than a long sentence.
  • Expect optional fields - Room, traveler, date, photo, response, and reviewer fields may be absent when Booking.com does not publish them.
  • Schedule monitoring runs - Compare new datasets with earlier runs to track recent feedback and recurring issues.

Integrations and export formats

  • Apify API - Start runs, check status, and read dataset records programmatically.
  • Google Sheets - Export CSV or Excel results for sorting, reporting, and team review.
  • Airtable - Build a searchable hotel feedback database.
  • Make or Zapier - Trigger sentiment analysis, alerts, or reports after a run completes.
  • Webhooks - Send run events and dataset details to another service.
FormatUseful for
JSONAPIs, applications, and data pipelines.
CSVSpreadsheets and reporting.
ExcelBusiness analysis and sharing.
XMLSystems that require XML data exchange.

Frequently Asked Questions

Can I process multiple hotels in one run?

Yes. Add multiple direct hotel pages to startUrls. The results_wanted value limits the total number of unique reviews saved across the run.

Which review filters are supported?

The supported filter is searchText, which matches text through Booking.com's review search input. The Actor does not advertise unsupported rating, date, or language filters.

Which review sort orders are supported?

Booking.com's supported review orders are MOST_RELEVANT, NEWEST_FIRST, OLDEST_FIRST, SCORE_DESC, and SCORE_ASC. Use one of these exact values in sortBy.

Are duplicate reviews removed?

Yes. Duplicate records are removed before they are added to the dataset, and collection stops at the requested result limit.

Why is a field missing from a review?

Booking.com does not publish every attribute for every review. Missing room, stay, photo, partner response, or reviewer details usually indicate unavailable source data rather than an extraction error.

Can I export Booking.com reviews to CSV or Excel?

Yes. Apify datasets can be downloaded as JSON, CSV, Excel, XML, and other supported formats.

Can I run this Actor on a schedule?

Yes. Create an Apify schedule to collect updated reviews hourly, daily, weekly, or at another interval that fits your monitoring workflow.

Public data collection may be subject to Booking.com terms, contracts, privacy requirements, and local law. You are responsible for using the Actor lawfully and handling reviewer information appropriately.

  • Booking.com Scraper - Extract structured hotel listings, ratings, pricing signals, and review counts from Booking.com search results.
  • RSS / XML Scraper - Collect structured content from RSS feeds and XML sources for monitoring and content workflows.

Support

For bugs, feature requests, or reports that a Booking.com page has changed, use the Issues section on the Actor page. Include the input URL, run ID, and a short description of the result when requesting help.

This Actor is intended for legitimate research, monitoring, and analytics involving publicly available Booking.com review data. Users are responsible for complying with applicable laws, Booking.com terms, privacy requirements, and restrictions on storing or redistributing review content.