Hotel Review Scores API
Get aggregated review scores by category and traveler type for any Booking.com hotel.
Overview
Detailed Score Breakdown
This endpoint provides category-level scores (staff, cleanliness, comfort, etc.) and per-traveler-type breakdowns that are not available from the reviews or summary endpoints.
The Hotel Review Scores endpoint returns the overall score, individual category scores on a 1-10 scale, score distribution, and a breakdown by traveler type (family, couple, solo, group, business).
Endpoint URL
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| hotel_id | string | Required | Booking.com hotel ID (numeric string, e.g., "224399") |
Getting the Hotel ID
Use the /v1/booking/hotel/url-to-id endpoint to convert a Booking.com URL or slug to a numeric hotel ID.
Response Structure
Scores
scores.overall- Overall review score (1-10 scale)scores.staff- Staff scorescores.cleanliness- Cleanliness scorescores.comfort- Comfort scorescores.facilities- Facilities scorescores.location- Location scorescores.value_for_money- Value for money scorescores.wifi- WiFi score
Other Fields
total_reviews- Total number of reviewsscore_distribution- Distribution of scores by bucket (may be null)score_percentage- Percentage breakdown by label (may be null)
Traveler Type Breakdown
scores_by_traveler_type[].type- Traveler type (e.g., "solo_traveller", "review_adjective_group_of_friends")scores_by_traveler_type[].overall- Overall score for this traveler typescores_by_traveler_type[].count- Number of reviews from this typescores_by_traveler_type[].scores- Per-category scores for this type
Usage Examples
Input requirement
Provide the numeric Booking.com hotel ID in the hotel_id parameter. Example: 224399
Use Case
This endpoint is ideal for building comparison dashboards or tracking score trends across categories and traveler segments.
Error handling and status codes
Status codes: 200 on success; errors use non-2xx (400, 404, 500, 502, 503, 504) with Problem Details.
- 400
INVALID_HOTEL_ID: The hotel_id parameter is missing or not a valid numeric ID. - 502
UPSTREAM_ERROR: Upstream non-2xx or API errors. - 500
INTERNAL_ERROR: Unexpected processing errors.
Error responses (Problem Details)
All Booking.com hotel endpoints return errors using RFC 7807 Problem Details.
{
"type": "https://api.stayapi.com/errors/invalid-url",
"title": "Invalid URL",
"status": 400,
"detail": "Parameter 'url' must be a full Booking.com hotel URL of the form https://www.booking.com/hotel/{cc}/{slug}.html.",
"error_code": "INVALID_URL",
"provided": "baan-coconut"
}
Media type: application/problem+json
Standard fields: type, title, status, detail
Extensions: error_code and any endpoint-specific fields
2xx policy: 2xx is returned only when data extraction succeeds.