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

10

Total users

3

Monthly active users

a day ago

Last modified

Share

What does Booking Reviews Scraper do?

Booking Reviews Scraper is a Booking.com hotel review scraper that collects public guest reviews from one hotel page and saves them as structured records in an Apify dataset. Enter one direct hotel URL, choose the maximum number of reviews, and receive review text, scores, dates, traveler information, hotel details, photos, and partner replies when Booking.com makes them available.

The Actor is useful for hotel reputation monitoring, competitor research, hospitality analysis, travel content, and customer-experience workflows. Results can be downloaded as JSON, CSV, Excel, or XML, connected to other services, or read through the Apify API.

Why use Booking Reviews Scraper?

  • Create a review dataset quickly - Collect many reviews from one hotel without manually copying each page.
  • Monitor hotel reputation - Compare ratings, positive comments, negative comments, and recurring service issues over time.
  • Analyze competing properties - Build comparable datasets for hotels in the same market, destination, or price segment.
  • Preserve traveler context - Keep available language, country, traveler type, room type, stay dates, and number of nights with each review.
  • Support automated workflows - Send completed runs to spreadsheets, databases, dashboards, sentiment analysis tools, or internal applications.
  • Control collection size - Set results_wanted to limit the number of unique review records saved in a run.

What data can you extract from Booking.com hotel reviews?

Each dataset item represents one review. Empty values are omitted from saved records, so fields that Booking.com does not publish for a particular review may be absent.

FieldTypeDescription
hotelNameStringHotel name associated with the review.
hotelUrlStringBooking.com hotel page used for the collection.
reviewIdString or NumberReview identifier when available.
reviewUrlStringDirect Booking.com URL for the review 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 when available.
languageStringReview language code or language name.
stayDateStringMonth of stay in YYYY-MM format when available.
roomTypeStringBooked room type.
travelerTypeStringTraveler category, such as couple, family, or solo traveler.
reviewerNameStringReviewer display name.
reviewerCountryStringReviewer country name.
reviewerCountryCodeStringReviewer country code.
reviewerAvatarColorStringAvatar color value when available.
reviewerAvatarUrlStringReviewer avatar URL when available.
reviewerAnonymousBooleanIndicates whether the reviewer is anonymous.
reviewerShowCountryFlagBooleanIndicates whether Booking.com displays the country flag.
helpfulVotesCountNumberNumber of helpful votes when available.
isApprovedBooleanReview approval status when provided.
isTranslatableBooleanIndicates whether the review can be translated.
textTrivialFlagBoolean or StringBooking.com text classification value 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.
roomTypeIdString or NumberRoom identifier when available.
customerTypeStringBooking customer type when available.
photosArrayReview photos with available IDs, labels, sizes, and URLs.
photoCountNumberNumber of review photos included in the record.

How to scrape Booking.com reviews

  1. Open Booking Reviews Scraper in Apify Console.
  2. Enter a direct Booking.com hotel page in startUrl.
  3. Set results_wanted to the maximum number of unique reviews you want.
  4. Add proxy settings if your run needs them.
  5. Start the Actor and wait for the dataset to finish.
  6. Preview the records, then download or connect the dataset to your workflow.

The Actor processes one hotel per run. To collect several hotels, create separate runs or schedule a workflow that starts one run for each hotel URL.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringYeshttps://www.booking.com/hotel/gb/nobu-hotel-london-portman-square.htmlDirect Booking.com hotel page URL. The Actor opens the hotel's review area automatically.
results_wantedIntegerNo20Maximum number of unique reviews to save. Values greater than zero are accepted.
proxyConfigurationObjectNoNot setApify proxy configuration. Residential proxy access can help maintain reliable collection on protected public pages.

Usage Examples

Basic hotel review collection

Collect up to 20 reviews from one Booking.com hotel page.

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

Larger review dataset

Increase the limit when you need a broader sample for competitor analysis or reputation monitoring.

{
"startUrl": "https://www.booking.com/hotel/gb/nobu-hotel-london-portman-square.html",
"results_wanted": 100
}

Collection with residential proxy access

Use Apify Residential proxies when a larger or repeated collection needs additional connection reliability.

{
"startUrl": "https://www.booking.com/hotel/gb/nobu-hotel-london-portman-square.html",
"results_wanted": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

The following example shows one realistic review record. Optional fields are included only when the source 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-03-24",
"language": "en-gb",
"stayDate": "2026-03",
"roomType": "Deluxe King Room",
"travelerType": "couple",
"reviewerName": "Emma",
"reviewerCountry": "United Kingdom",
"reviewerCountryCode": "gb",
"reviewerAnonymous": false,
"reviewerShowCountryFlag": true,
"helpfulVotesCount": 4,
"isApproved": true,
"isTranslatable": true,
"partnerReply": "Thank you for sharing your feedback with us.",
"checkinDate": "2026-03-10",
"checkoutDate": "2026-03-13",
"numNights": 3,
"stayStatus": "completed",
"customerType": "couple",
"photos": [],
"photoCount": 0
}

Tips for best results

  • Use a direct hotel URL - Start with the property's Booking.com hotel page, not a search results page or a campaign link.
  • Test with a small limit - Begin with results_wanted: 20 so you can confirm the hotel URL and dataset shape quickly.
  • Increase the limit gradually - Larger runs take longer and depend on the number of public reviews available for the property.
  • Use residential proxy access when needed - This can improve consistency for repeated runs or pages that are harder to access.
  • Review optional fields carefully - Missing room, traveler, date, or profile details usually mean that Booking.com did not publish them for that review.
  • Schedule repeat runs for monitoring - Compare new datasets with earlier runs to track changes in ratings and guest feedback.

Integrations and export formats

  • Google Sheets - Export CSV or Excel results for sorting, filtering, and team review.
  • Airtable - Build a searchable hotel feedback database.
  • Make and Zapier - Start sentiment, reporting, or notification workflows after a run completes.
  • Webhooks - Send run events or dataset information to an internal service.
  • Apify API - Retrieve run status and dataset records programmatically.
FormatUseful for
JSONAPIs, applications, and data engineering workflows
CSVSpreadsheets, reporting, and business intelligence tools
ExcelBusiness analysis and sharing with non-technical teams
XMLSystems that require XML-based data exchange

Frequently Asked Questions

Can I collect reviews from multiple hotels in one run?

No. Each run accepts one hotel URL. Run the Actor separately for each property, or automate multiple runs through the Apify API or a schedule.

How many Booking.com reviews can I collect?

You choose the maximum with results_wanted. The final count can be lower when the hotel has fewer public reviews or some reviews are unavailable.

Are duplicate reviews removed?

Yes. The dataset keeps unique review records and stops when it reaches the requested result limit.

Why is a field missing from a review?

Booking.com does not publish every attribute for every review. Optional fields such as room type, stay dates, photos, partner replies, and reviewer details may therefore be absent.

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

Yes. Apify datasets support JSON, CSV, Excel, XML, and other export options available in Apify Console.

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 needs.

Is a proxy required?

No, it is optional. Residential proxy access is recommended for repeated collection and for improving reliability on protected public pages.

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

Support

For bugs, feature requests, or reports that a Booking.com page has changed, use the Issues section on the Actor page or contact the developer through Apify Console. 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 any restrictions on storing or redistributing review content.