Displaying attraction reviews and scores 3.2 Beta
Best practices for presenting attraction reviews and scores retrieved via Booking.com's Demand API.
Reviews and scores
Reviews provide detailed traveller feedback, helping users understand what to expect, compare experiences, and make informed decisions.
Review scores summarise traveller feedback, allowing quick comparison of attractions. Scores are broken down by categories such as accessibility, facilities, service quality, and value for money.
The scores reflect feedback from all Booking.com travellers and may not correspond directly to your own users’ experiences. If you choose to display or use these ratings and reviews, ensure your travellers understand their origin and context.
Endpoint /attractions/reviews
Use this endpoint to retrieve detailed reviews for a single attraction, supporting language filtering and pagination.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
attraction | string | Yes | Unique identifier of the attraction. |
language | string | No | IETF BCP 47 language code for the review content (e.g., en-gb). |
rows | integer | No | Number of reviews per request (10–100, default 10). Must be a multiple of 10. |
Example request:
{
"attraction": "PRTcWzDlwXjP",
"language": "en-gb",
"rows": 10
}Example response
{
"request_id": "01fr9ez700exycb98w90w5r9sh",
"data": [
{
"attraction": "PRTcWzDlwXjP",
"id": "review123456",
"author": "John D.",
"author_country_code": "us",
"rating": 5,
"text": "Amazing experience at the museum. The artwork is incredible...",
"language": "en-gb",
"date": "2025-08-15"
}
],
"metadata": {
"next_page": "NextPageToken123",
"total_results": 243
}
}
Reccommendation:
- Few Reviews - Display partial feedback when review counts are low (e.g., fewer than 3–5 reviews). Use visual cues like stars or snippets.
- No reviews - Display a “No reviews yet” message. Optionally invite users to submit a review.
Endpoint /attractions/reviews/scores
Use this endpoint to retrieve aggregated review scores for one or more attractions, ideal for summarising ratings without showing full review text.
Request parameters
| Parameter | Required | Description |
|---|---|---|
attractions | Yes | Unique identifiers of the attractions to retrieve scores for. Maximum 1 per request. |
Example:
POST /attractions/reviews/scores
Headers:
X-Affiliate-Id: 123456
Body:
{
"attractions": ["PRTcWzDlwXjP"]
}Example response
A typical attraction:
{
"request_id": "01fr9ez700exycb98w90w5r9sh",
"data": [
{
"id": "PRTcWzDlwXjP",
"breakdown": {
"easy_to_access": {"number_of_reviews": 182, "score": 4.5},
"facilities_rating": {"number_of_reviews": 160, "score": 4.7},
"quality_of_service": {"number_of_reviews": 175, "score": 4.6},
"value_of_experience": {"number_of_reviews": 187, "score": 4.8}
}
}
]
}
Few reviews / new attraction:
- Display scores only if there is a minimum number of reviews (e.g., ≥3) to avoid misleading users.
- For zero reviews, show “No scores available yet.”
Display recommendations
Reviews content
- Author and country - Show the reviewer’s name and country to provide context.
- Rating - Use a consistent visual representation (e.g., star icons or bars).
- Text content - Limit the initial visible text and provide a “Read more” option to reduce cognitive load.
- Date - Show the date of submission to indicate relevance.
- Language - Display if your users navigate multilingual content.
- Disclaimer - Always indicate that the scores come from Booking.com travellers.
Score content
- Category breakdowns - Display each score clearly, e.g., accessibility, facilities, service, value.
- Number of reviews - Show counts per category to provide context.
- Average score - Present visually with stars, bars, or a radar chart.
- Zero-review handling - Display a clear “No scores yet” message.
Pagination & performance
- Lazy Loading - Load additional reviews only when the user requests more, avoiding heavy initial payloads.
- Fetch only what’s necessary - For search/listing pages, consider fetching only summary scores or top review excerpts.
- Handle
next_pagetokens to retrieve additional reviews efficiently. - Store responses where appropriate to reduce API calls and improve perceived performance.
Search & look flow recommendations
Search/listing pages:
- Display only overall average score or a visual badge.
- Avoid showing detailed breakdowns to reduce cognitive load.
Detail pages:
- Show full category breakdowns with number of reviews.
- Allow users to click through to full reviews (linking to /attractions/reviews).
Summary
| Endpoint | Action |
|---|---|
/attractions/reviews | ✓ Enhance attraction pages with traveller feedback. ✓ Support both search/listing and detailed attraction flows. ✓ Present ratings and reviews clearly and accessibly. ✓ Handle varying review volumes gracefully. |
/attractions/reviews/scores | ✓ Display structured ratings for attractions in a clear, engaging way. ✓ Provide quick comparison for search/listing flows. ✓ Enhance attraction detail pages with category-level insights. ✓ Handle varying review volumes gracefully and maintain UX consistency. |
- Explore the Search for attractions guide for search requests.
- Learn about the Attraction details endpoint for full content.
- See tha Attractions API reference here for all endpoints and schemas.
Reccommendation: