The Booking Hotel Reviews endpoint extracts structured guest reviews from any Booking.com hotel page. For a given hotel URL, it returns scores, positive and negative feedback text, reviewer profiles, stay details, and official hotel management replies, all in a clean, ready-to-use JSON format.
GET https://api.piloterr.com/v2/booking/hotel/reviews?query=https://www.booking.com/hotel/fr/novotel-paris-tour-eiffel.html
| Parameter |
Type |
Required |
Description |
query |
string |
yes |
Full URL of the Booking.com hotel page |
language |
string |
no |
Filter reviews by ISO 639-1 language code (e.g. en, fr) |
sort_by |
string |
no |
Sorting order: most_recent (default), highest_score, lowest_score |
max_results |
integer |
no |
Maximum number of reviews to return (default 50, max 1000) |
| Field |
Type |
Description |
reviewScore |
number |
Guest score from 1.0 to 10.0 |
reviewedDate |
number |
Unix timestamp of review submission |
isApproved |
boolean |
Whether the review is published by Booking.com moderation |
isTranslatable |
boolean |
Whether the review content can be machine-translated |
helpfulVotesCount |
number |
Number of guests who marked this review as helpful |
reviewUrl |
string |
Internal identifier or relative URL of the review |
textDetails.title |
string |
Optional reviewer-written title (null if absent) |
textDetails.positiveText |
string |
Positive free-text feedback |
textDetails.negativeText |
string |
Negative free-text feedback (null if none) |
textDetails.lang |
string |
ISO 639-1 language code of the review text |
guestDetails.username |
string |
Display name of the reviewer |
guestDetails.countryName |
string |
Country of origin (e.g. France) |
guestDetails.countryCode |
string |
ISO 3166-1 alpha-2 country code |
guestDetails.guestTypeTranslation |
string |
Travel group type (e.g. Couple, Solo traveller) |
guestDetails.anonymous |
boolean |
Whether the reviewer chose to remain anonymous |
guestDetails.avatarUrl |
string |
URL of the reviewer's avatar image |
bookingDetails.checkinDate |
string |
Check-in date in YYYY-MM-DD format |
bookingDetails.checkoutDate |
string |
Check-out date in YYYY-MM-DD format |
bookingDetails.numNights |
number |
Total number of nights stayed |
bookingDetails.customerType |
string |
Guest category code (SOLO, COUPLES, FAMILY, GROUP) |
bookingDetails.stayStatus |
string |
Confirmation that the stay occurred (e.g. stayed) |
bookingDetails.roomType.name |
string |
Name of the room type booked |
bookingDetails.roomType.id |
string |
Internal Booking.com room type identifier |
partnerReply.reply |
string |
Hotel management's official response (null if none) |
- The
query parameter must be a full Booking.com hotel URL, not a search results page.
- Reviews are filtered to approved content only (
isApproved: true).
- The
language filter limits results to a specific language; omit it to receive reviews in all languages.
- Setting
max_results above 100 significantly increases response time.
- Monitor guest sentiment for competitor hotels and benchmark your property against market leaders
- Build sentiment analysis pipelines to track review trends and score evolution over time
- Collect multilingual review datasets for NLP training and hospitality research
- Power hotel comparison tools and travel recommendation engines with real guest feedback
- Automate reputation management workflows by detecting negative reviews that require management response