Booking.com Hotel Scraper - Guest Score & Reviews avatar

Booking.com Hotel Scraper - Guest Score & Reviews

Pricing

from $5.10 / 1,000 results

Go to Apify Store
Booking.com Hotel Scraper - Guest Score & Reviews

Booking.com Hotel Scraper - Guest Score & Reviews

Get any Booking.com property by its URL or slug: guest score with the full subscore breakdown, address, description, lead photo, and up to ten featured guest reviews. No Booking.com account needed.

Pricing

from $5.10 / 1,000 results

Rating

0.0

(0)

Developer

The Netaji

The Netaji

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Booking.com Hotel Scraper

The Actor retrieves one Booking.com property by its slug and returns a structured record: guest score with its full subscore breakdown, address, description, lead photo, and up to ten featured guest reviews. It accepts either the bare slug or a full Booking.com hotel URL; a pasted URL is reduced to the slug automatically.

Accepted input

FieldTypeDefaultDescription
slugstringrequiredThe property slug from its Booking.com URL: the part after /hotel/<country>/ and before .html. A full https://www.booking.com/hotel/us/... URL is accepted too.
country_codestringusThe two-letter country code from the same URL, e.g. the us in /hotel/us/luma-san-francisco.html. Part of the address, not a preference.
{
"slug": "luma-san-francisco",
"country_code": "us"
}

Response fields

FieldContents
slugThe slug that was fetched, echoed back
country_codeThe country code that was fetched, echoed back
nameThe property name
urlThe property's page on Booking.com
descriptionBooking's own description of the property
imageThe property's lead photo
price_rangeschema.org priceRange, frequently null
addressStructured postal address: street_address, locality, region, postal_code, country
ratingGuest score, out of ten
rating_scale_maxTop of the rating scale, always 10
review_countExact total review count the score is computed over
subscoresThe rating broken down by category (staff, cleanliness, comfort, location, facilities, value), each out of ten
reviewsUp to ten featured guest reviews, each with author, country, and text
review_sample_sizeHow many reviews are in reviews
reviews_noteWhat reviews is and is not
{
"slug": "luma-san-francisco",
"country_code": "us",
"name": "LUMA Hotel San Francisco",
"rating": 9.1,
"rating_scale_max": 10,
"review_count": 1019,
"review_sample_size": 10
}

Behaviour on an unknown property

A slug that does not exist for the given country_code is not treated as an error; Booking answers such a lookup with no data at all, and the run finishes with an empty dataset rather than failing. A slug looked up under the wrong country behaves the same way, since the country code is part of the address rather than a filter: /hotel/fr/luma-san-francisco is a different path from /hotel/us/luma-san-francisco, and one existing does not imply the other does.

Frequently asked questions

Why is rating a number like 9.1 rather than out of five? Booking's own guest score is out of ten. rating_scale_max states this on every response rather than leaving it to documentation, because Yelp and TripAdvisor scores in the same catalogue are out of five, and treating 9.1 as a five-point score would be wrong by a factor of two.

Why does reviews only contain ten entries when review_count is in the thousands? reviews is the curated sample of featured reviews Booking renders into the property page itself, not the full review list. A property with 1,019 reviews still returns the same ten featured ones, and they are neither the most recent ten nor a random sample. The complete list is not reachable through this endpoint: Booking's fragment review endpoint answers 404, and the property page itself makes no further review request. reviews_note restates this on every response so an empty or short sample does not read as a failed fetch.

Why is price_range usually empty? Booking prices a stay, not a hotel; a property page states no price band without specific dates attached. The Booking.com Search Scraper, with checkin and checkout set, returns real, dated prices per property.

What happens if a run is interrupted partway through? The Actor produces exactly one row per run. A run resumed after being interrupted before that row reached the dataset fetches and saves it as normal. A run resumed after the row was already saved finishes immediately without repeating it.

Booking.com Search Scraper searches Booking.com by destination and returns every property found, with star rating, guest review score, coordinates, and, when checkin/checkout are set, real prices for the stay. Each result row carries the slug and country_code this Actor takes as input, so a search feeds directly into it once a specific property is of interest.