Booking.com Reviews Scraper
Pricing
from $23.99 / 1,000 result items
Booking.com Reviews Scraper
Scrapes Booking.com guest reviews from hotel URLs and returns each review as a flat row with score, title, body text, reviewer country, stay date, and photo URLs.
Pricing
from $23.99 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
1
Bookmarked
11
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
Booking.com Reviews Scraper
Scrape Booking.com hotel reviews from any property URL, up to a million per run. Each review comes with the score, title, full text, reviewer country, stay date, and photos. No login or API key. Export to CSV, JSON, Excel, or XML.
Booking.com does not offer a public API for guest reviews, so collecting them at scale means manual copy-paste or brittle custom scripts. This Actor reads the public review pages directly, filters by score, date, reviewer country, or photo presence, and returns every match in one consistent flat schema. It handles pagination, language selection, and hotel-to-review URL conversion automatically.
| Who uses it | What they scrape Booking.com for |
|---|---|
| Hotel revenue managers | Monitor guest sentiment and recurring complaints across their own properties. |
| Market researchers | Compare review scores and keywords for competing hotels in a destination. |
| Data analysts | Build a dataset of verified stay reviews for sentiment analysis or pricing models. |
| Travel bloggers | Gather real guest opinions to support hotel roundups and destination guides. |
What it does
This Actor collects Booking.com guest reviews from one or more hotel URLs and returns each review as a flat row with the score, title, body text, reviewer country, stay date, and photo URLs.
- ๐ Score filters: collect only Superb (9-10), Good (7-8.9), Average (5-6.9), or Poor (0-4.9) reviews, or set a custom minimum score.
- ๐ธ Photo filter: restrict the run to reviews that include guest photos.
- ๐ Reviewer country filter: keep only reviews where the reviewer country contains a given string, like 'United'.
- ๐ Date cutoff: stop collecting when reviews older than a chosen date appear, so you only get recent feedback.
- ๐ข Per-hotel cap: set a maximum number of reviews to collect from each hotel URL in a single run.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Booking.com data
๐ Monitor guest satisfaction.
A hotel revenue manager runs the Actor weekly on their property URL with a recent cutoff date to track score trends and spot new complaints in the review text.
๐จ Benchmark competing hotels.
A market researcher feeds in URLs for five rival hotels in the same city, filters to the last six months, and compares average scores and keyword frequency.
๐ง Train a sentiment model.
A data scientist collects 100,000 reviews across multiple score brackets, exports the body text and score to CSV, and uses it as labeled training data.
โ๏ธ Write a data-backed travel guide.
A travel blogger scrapes reviews for a shortlist of hotels, filters for reviews with photos, and quotes real guest experiences in a 'best of' article.
Why choose this scraper
| What you get | |
|---|---|
| No official API | Booking.com does not provide a public reviews API; this Actor reads the live site for you. |
| Fixed flat schema | Every review lands as one row with the same columns, ready for analysis or a database. |
| Built-in filters | Filter by score, date, reviewer country, and photo presence without post-processing. |
| Language support | Request review pages in any language Booking.com supports, like en-gb, es, fr, or de. |
How it compares
No other Store actor targets Booking.com the same way, so the honest comparison is with the alternatives teams actually weigh.
| Booking.com Reviews Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Booking.com changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor from one or more Booking.com hotel or reviews page URLs, and filters run as each review is read so only matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{"startUrls": [{"url": "https://www.booking.com/reviews/us/hotel/the-plaza.en-gb.html"}],"maxItems": 10}
Only the popular results:
{"startUrls": [{"url": "https://www.booking.com/reviews/us/hotel/the-plaza.en-gb.html"}],"maxItems": 200,"minScore": 10}
Pricing
Pay-per-result: $0.03199 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $3.20 |
| 1,000 results | $31.99 |
| 10,000 results | $319.90 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the Booking.com Reviews Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to Booking.com through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/booking-com-reviews-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your start URLs point to real Booking.com hotel or reviews pages. Also check your filters: a very tight score range, a recent cutoff date, or a strict reviewer country string can exclude all reviews.
The Actor stops after only a few reviews.
Make sure maxItems and maxReviewsPerHotel are set high enough. If you are using a cutoffDate, the Actor stops as soon as it sees a review older than that date, which can happen early on the first page.
I am getting reviews in the wrong language.
Set the Language input field to the locale code you want, such as 'fr' for French or 'de' for German. The Actor requests the review page in that language.
The run is taking a long time.
Large maxItems values and many hotel URLs will increase run time. Try lowering maxItems or maxReviewsPerHotel, or use a cutoffDate to limit the pages the Actor must visit.
Some reviews are missing the reviewer country.
Booking.com does not always show the reviewer's country. If a review does not display it on the site, the field will be empty in your dataset.
FAQ
| Question | Answer |
|---|---|
| Can I scrape reviews from multiple hotels in one run? | Yes. Add as many hotel or reviews page URLs as you need to the startUrls field. The Actor processes them one after another. |
| Does this Actor require a Booking.com login? | No. It reads the public review pages that anyone can see in a browser. No account, password, or API key is needed. |
| What format are the dates in? | The stay date and review date are returned as strings in the format shown on Booking.com. You can set a cutoff date in YYYY-MM-DD format to stop collecting older reviews. |
| Can I get only reviews that include photos? | Yes. Enable the 'Only Reviews With Photos' checkbox and the Actor will skip any review that does not have guest photos attached. |
| How do I filter reviews by score? | Use the Review Scores Filter to pick a band like 'Superb (9-10)', or set a custom minimum score with the Minimum Score field. Both filters can be combined. |
| What does the reviewer country filter do? | It keeps only reviews where the reviewer's country contains the text you enter. For example, typing 'United' will match 'United States' and 'United Kingdom'. |
| How many reviews can I collect in one run? | You can set the maximum up to 1,000,000 reviews. You can also cap the number of reviews per hotel with the Max Reviews Per Hotel field. |
| Can I choose the language of the review page? | Yes. Set the Language field to a Booking.com locale code like en-gb, en-us, es, fr, or de. This changes the page chrome and any translated review text. |
| Does the Actor handle pagination automatically? | Yes. It follows the 'next page' links on the reviews page until it hits your maxItems, maxReviewsPerHotel, or cutoffDate limit. |
| Can I export the data to Excel? | Yes. After the run finishes, you can download the dataset as CSV, JSON, Excel, or XML directly from the Apify storage tab. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Booking.com B.V. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
