Booking.com Reviews Scraper
Pricing
from $1.49 / 1,000 results
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
Maintained by CommunityActor stats
2
Bookmarked
9
Total users
1
Monthly active users
13 days ago
Last modified
Categories
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, orspa. - 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.
| Field | Type | Description |
|---|---|---|
hotelName | String | Hotel name associated with the review. |
hotelUrl | String | Booking.com hotel page used for collection. |
reviewId | String or Number | Review identifier when available. |
reviewUrl | String | Direct review URL when available. |
reviewTitle | String | Review headline or title. |
reviewText | String | Combined positive and negative review text. |
positive | String | Positive comment supplied by the guest. |
negative | String | Negative comment supplied by the guest. |
rating | Number or String | Guest score for the stay. |
publishedAt | String | Review publication date in YYYY-MM-DD format. |
language | String | Review language code or name. |
stayDate | String | Stay month in YYYY-MM format when available. |
roomType | String | Booked room type. |
travelerType | String | Traveler category, such as couple, family, group, or solo traveler. |
reviewerName | String | Reviewer display name when available. |
reviewerCountry | String | Reviewer country name. |
reviewerCountryCode | String | Reviewer country code. |
reviewerAnonymous | Boolean | Whether Booking.com marks the reviewer as anonymous. |
helpfulVotesCount | Number | Helpful vote count when available. |
partnerReply | String | Hotel or partner response to the review. |
checkinDate | String | Check-in date when available. |
checkoutDate | String | Check-out date when available. |
numNights | Number | Number of nights stayed. |
stayStatus | String | Stay status supplied by Booking.com. |
photos | Array | Review photos with available IDs, labels, sizes, and URLs. |
photoCount | Number | Number of photos included in the review. |
How to scrape Booking.com reviews
- Open Booking Reviews Scraper in Apify Console.
- Add one or more direct Booking.com hotel page URLs to
startUrls. - Set
results_wantedto the maximum number of unique reviews for the run. - Optionally enter
searchTextand select asortByvalue. - Start the Actor and wait for the dataset to finish.
- 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | Array of strings | Yes | One example hotel URL | Direct Booking.com hotel page URLs. The Actor processes each URL in the same run. |
results_wanted | Integer | No | 20 | Maximum number of unique reviews to save across the run. Must be greater than zero. |
searchText | String | No | "" | Booking.com review text filter. Leave empty to collect reviews without a text filter. |
sortBy | String | No | MOST_RELEVANT | Booking.com review order. Supported values are listed below. |
Supported review sort values
| Value | Meaning |
|---|---|
MOST_RELEVANT | Booking.com's default relevance order. |
NEWEST_FIRST | Newest published reviews first. |
OLDEST_FIRST | Oldest published reviews first. |
SCORE_DESC | Highest review scores first. |
SCORE_ASC | Lowest 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: 20to confirm the property URL and output shape before larger runs. - Use the exact sort values - The five
sortByvalues in this README are the supported Booking.com review orders. - Use focused search text - A specific term such as
clean,staff, orlocationis 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.
| Format | Useful for |
|---|---|
| JSON | APIs, applications, and data pipelines. |
| CSV | Spreadsheets and reporting. |
| Excel | Business analysis and sharing. |
| XML | Systems 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.
Is it legal to collect Booking.com reviews?
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.
Related Actors
- 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.
Legal Notice
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.