Booking.com Reviews Scraper — Residential Proxy Ready
Pricing
from $2.00 / 1,000 reviews
Booking.com Reviews Scraper — Residential Proxy Ready
Scrape Booking.com hotel guest reviews: score, pros/cons, traveler type and dates. Keep Apify RESIDENTIAL proxy ON — without it Booking usually blocks. Hotel URL input; PPE-friendly review rows for reputation and sentiment.
Pricing
from $2.00 / 1,000 reviews
Rating
0.0
(0)
Developer
Noah Adler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Share
Booking.com Reviews Scraper — Hotel Guest Reviews API
Booking.com reviews scraper for hotel guest reviews: score, title, pros/cons, traveler type, country and stay date. Input hotel URLs → export structured reviews for reputation, sentiment and competitive analysis.
⚠️ For users — read before you run
Keep Apify RESIDENTIAL proxy ON. Without it, Booking.com usually blocks the run (WAF).
You do not install a proxy on your PC — Apify provides it. Just don’t turn proxy off in the input.
Why this Actor: Guest scores + pros/cons · Multi-hotel URLs · Sort options · Clear residential requirement · Sentiment-ready fields
Table of contents
- What this Actor does
- What you get
- Features
- Input
- Output example
- Output fields
- Quick start (API)
- Use cases
- Limitations
- FAQ
- Keywords
What this Actor does
| Step | Action |
|---|---|
| 1 | Open each Booking.com hotel URL (Playwright) |
| 2 | Capture reviews GraphQL (reviewListFrontend) |
| 3 | Paginate until maxReviews |
| 4 | Normalize guest score, texts and metadata |
What you get
Review content
- Overall score, title
- Positive / negative text (pros & cons)
Guest & stay
- Guest name, country, traveler type
- Room type, stay date, review date
Hotel
- Hotel name, id, source URL
Features
| Capability | Detail |
|---|---|
| Hotel URLs | Standard booking.com/hotel/... links |
| Sort | Newest, oldest, relevant, score asc/desc |
| Language | Locale hint (es, en-gb, …) |
| Batch hotels | Multiple startUrls per run |
| Error rows | Failed hotels don’t kill the whole run |
Input
| Field | Required | Description |
|---|---|---|
startUrls | Yes | Booking hotel page URLs |
maxReviews | No | Default 50 (max 2000) |
sortBy | No | NEWEST_FIRST (default), etc. |
language | No | Default es |
proxyConfiguration | Yes in practice | RESIDENTIAL required |
Example
{"startUrls": ["https://www.booking.com/hotel/es/example-hotel.es.html"],"maxReviews": 100,"sortBy": "NEWEST_FIRST","language": "es","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output example
{"hotelUrl": "https://www.booking.com/hotel/es/example-hotel.es.html","hotelName": "Example Hotel","hotelId": "123456","reviewId": "abc","score": 9.2,"title": "Fantastic stay","positiveText": "Location and staff","negativeText": "Street noise","guestCountry": "Spain","guestType": "Couple","reviewedAt": "2026-08-05T10:00:00.000Z"}
Output fields
| Field | Notes |
|---|---|
hotelUrl, hotelName, hotelId | Hotel identity |
reviewId, score, title | Core review |
positiveText, negativeText | Pros / cons |
guestName, guestCountry, guestType | Guest profile |
roomType, stayDate, reviewedAt | Stay context |
scrapedAt | Scrape time |
Quick start (API)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_TOKEN>")run = client.actor("YOUR_USERNAME/booking-com-reviews-scraper").call(run_input={"startUrls": ["https://www.booking.com/hotel/es/example.es.html"],"maxReviews": 50,"proxyConfiguration": {"useApifyProxy": True,"apifyProxyGroups": ["RESIDENTIAL"],},})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Use cases
- Hotel reputation & sentiment dashboards
- Competitor review monitoring
- Train NLP models on hospitality feedback
- Agency reporting for property managers
Limitations
- RESIDENTIAL proxy is effectively mandatory.
- Review volume depends on what’s public on the hotel page.
- Booking markup / GraphQL can change.
- Respect Booking.com Terms of Service.
FAQ
I got blocked / empty reviews
Turn on RESIDENTIAL (not datacenter-only) and retry.
Do I need my own proxy server?
No — use Apify Proxy in the Actor input.
Multiple hotels?
Pass several URLs in startUrls.
Keywords
booking.com reviews, booking reviews scraper, hotel guest reviews api, booking.com scraper reviews, hotel reputation, booking review export, hospitality sentiment