Booking Hotel Reviews Scraper
Pricing
from $1.20 / 1,000 review chargeds
Booking Hotel Reviews Scraper
Get hotel reviews with topic filtering from Booking. Talks directly to Booking.com's own mobile app API, no login or API key needed. Split from the mature, published booking-all-in-one-api for a focused, single-purpose workflow.
What does Booking.com Hotel Reviews Scraper do?
Booking.com Hotel Reviews Scraper fetches paginated reviews for one Booking.com hotel id, with real offset-based pagination (confirmed live end-to-end: requesting the next page returns entirely new review ids with zero overlap with the previous page), plus an optional review-topic filter schema (the same topic/category breakdown with counts the app's own review-filter screen shows).
It talks directly to the same internal API the official Booking.com Android app uses, reverse-engineered by capturing live traffic from a real device. No Booking.com account, no API key of your own. This is the hotel-reviews slice of Booking.com All-in-One API, split out as its own focused Actor.
Why use Booking.com Hotel Reviews Scraper?
- Real paginated reviews — confirmed live end-to-end: the next
offsetreturns entirely new review ids, zero overlap with the previous page - A dedicated review-topic filter endpoint — the same topic/category breakdown (with counts) the app's own review-filter screen shows, as a genuinely separate call from the reviews themselves
- Rich per-review data — pros/cons, hotelier response, stayed-room info, reviewer photos, helpful-vote count, all in one row
- No account needed — every request works fully anonymously
- Use cases: review analysis, sentiment tracking, reputation monitoring
Input
| Field | Type | Description |
|---|---|---|
hotelId | string (required) | A Booking.com hotel id (from booking-hotel-search-scraper or a Booking.com URL), e.g. 27229. |
rating | string | Filter to one review-score band, same value the app's own review-filter UI sends. |
pageSize | integer | Reviews per request. Default 25. |
maxItems | integer | Stop once this many reviews have been pushed. Default: fetch all reviews. |
includeFilters | boolean | Also push one row with the review-topic filter schema before paginating reviews. Default false. |
Example:
{"hotelId": "27229","pageSize": 25,"maxItems": 100,"includeFilters": true}
Output
One dataset row per review (trimmed example), plus one { "type": "filters", ... } row first if includeFilters is set:
{"type": "review","review_id": 5335346583,"title": "Good value. Very satisfied. Booked again 3 days later","pros": "Located perfectly. No noise along good street. Easy to find. Clean and very helpful staff","cons": "","average_score": 3.6,"date": "2026-08-30 17:02:02","author": { "name": "Gavin", "countrycode": "au", "type": "solo traveller" },"hotel_id": 27229}
Known limitations
- No cross-hotel search. This Actor takes one
hotelIdat a time — for a list of hotel ids, use booking-hotel-search-scraper first, or run this Actor once per hotel. - This is an unofficial, reverse-engineered integration, not affiliated with or endorsed by Booking.com B.V. Behavior may change if Booking.com changes its API.
Pricing
Pay-per-event: $0.0012 per review result (FREE plan; BRONZE/SILVER/GOLD/PLATINUM/DIAMOND get automatic discounts based on your Apify plan).