Get guest reviews for a specific property on Google Hotels. Every review carries the reviewer, the rating, the review text, the date, sub-ratings, an owner response and topic mentions, exactly like the reviews tab on the Google Hotels property page.
What You Get
- Reviews — Up to 10 reviews per request, in Google's most helpful order
- Review sources — Google reviews plus partner reviews from Trip.com and other providers, with source name, code, id and logo
- Ratings — The rating with its own maximum, so 10/10 and 5/5 both stay correct
- Sub-ratings — Aspect scores such as location, cleanliness and service
- Owner responses — The reply the property posted, with its date
- Topic mentions — Categories Google matched in the review, with the quoted text
- Pagination — A next page token plus a ready-to-use next URL
How to get a property_token
Call the Google Hotels Search endpoint or the Google Hotels Autocomplete endpoint. Every property result and hotel suggestion carries a property_token. Use that token here.
Ordering
Reviews come back in Google's most helpful order. There is no sort_by parameter.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
1 required parameter needed before sending a request.
4 optional filters available.
string
Required
The property token of the hotel or vacation rental.
Example: ChcIkODTyPai0cw-GgsvZy8xdjh4MTZjdhAB
Note: From the property_token field of a Google Hotels Search result or a Google Hotels Autocomplete suggestion.
example
string
Optional
2-letter language code for the review text.
Default: en
Examples: en, de, fr
en
string
Optional
2-letter country code for localization.
Default: us
Examples: us, de, fr
us
string
Optional
A review topic name that filters the reviews to that topic.
Example: Location
Note: Valid topic names are different for every property. A topic name the property does not have returns an error, because an empty result is the same shape as a rejected filter. Leave it out for all reviews.
example
string
Optional
Token for pagination to fetch the next page of reviews.
Note: Obtained from the pagination.next_page_token field in a previous response.
example
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
reviews
pagination
response_time_ms
search_parameters
Common reviews fields
date
user
images
rating
{
"reviews": [
{
"date": "3 months ago",
"user": {
"link": "https://www.trip.com/hotels/detail?hotelid=732384&Allianceid=810504&Sid=1394411&utm_medium=cpc&utm_campaign=HPA&utm_source=google#review",
"name": "Trip.com Member",
"thumbnail": "https://lh3.googleusercontent.com/local-reviews/AJMZ0QeCck1CfANpZm9bBk3PHtP97Kh9k25HZfvq9yAWlN3BaIyjSHUPEfWkhAJmuYiJsH-_6g=s40-c-br100"
},
"images": [],
"rating": 4.5,
"source": "Trip.com",
"snippet": "Great location. Central to many things. Ideal for travel from the airport to Alexanderplatz station, short walk from there.Close to many bars and restaurants. A comfortable room with a courtyard view, an excellent bathroom, breakfast was plentiful and deliciousThe staff were helpful. House keeping carried out if you require it but reception needs to be informed daily. This is becoming normal practice here and other hotels. Only negative there is no fridge which is unusual for a hotel of this grading",
"review_id": "ChdDSUhNMG9nS0VLTDVxYU9acE5ESnBRRRAB",
"source_id": 84,
"highlights": null,
"rating_max": 5,
"report_url": null,
"subratings": [],
"review_link": "https://www.trip.com/hotels/detail?hotelid=732384&Allianceid=810504&Sid=1394411&utm_medium=cpc&utm_campaign=HPA&utm_source=google#review",
"source_code": 2,
"source_logo": "https://www.gstatic.com/travel-hotels/branding/b8089cb0-34b4-458c-8749-9bc4614baba4.png",
"owner_response": null,
"topic_mentions": [],
"trip_type_codes": []
},
{
"date": "4 months ago",
"user": {
"link": "https://www.google.com/maps/contrib/100436413004919094232?hl=en",
"name": "Mubin",
"thumbnail": "https://lh3.googleusercontent.com/a-/ALV-UjUBIkQ8pVH_Lr0Sh6CMws1MCzRwX63a1likaCW7XSJYIMYsPctl=s40-c-rp-mo-ba12-br100"
},
"images": [],
"rating": 3,
"source": "Google",
"snippet": "Huge hotel, close enough to main station and some shopping, bars and late night eats. But a 12 minute or so walk either direction to get to anything so keep that in mind. Appreciated the early check-in, the rooms have everything you need and I prefer the privacy. However, the temperature was terrible, during the day it was so warm and stuff and then at night it somehow gets super cold- this part made it uncomfortable at times. For the price I thought it would be close to the center and less walking, honestly would have just paid a little more to not be in the area. Overall a decent hotel.",
"review_id": "Ci9DQUlRQUNvZENodHljRjlvT2xWelIxZDBjaTF5TkY5blFWOHlTblpDY0VGNGRFRRAB",
"source_id": -1,
"highlights": {
"label": "Hotel highlights",
"values": [
"Quiet"
]
},
"rating_max": 5,
"report_url": "https://www.google.com/local/content/rap/report?postId=Ci9DQUlRQUNvZENodHljRjlvT2xWelIxZDBjaTF5TkY5blFWOHlTblpDY0VGNGRFRRAB&d=286732321&t=1&wv=1",
"subratings": [
{
"out_of": 5,
"rating": 4,
"aspect_id": 1
},
{
"out_of": 5,
"rating": 5,
"aspect_id": 4
},
{
"out_of": 5,
"rating": 2,
"aspect_id": 5
}
],
"review_link": null,
"source_code": 1,
"source_logo": "https://www.gstatic.com/images/branding/product/1x/googleg_48dp.png",
"owner_response": {
"body": "Dear Mubin,\nThank you for choosing our hotel for your recent trip to Berlin and for giving us constructive feedback. Good to know that apart from your criticism, which we regret the time with us was pleasant and overall enjoyable. However, we are sorry that the aircon in your room obviously did not work properly during daytime and assure you to get our maintenance team to check it immediately.",
"date": "2 months ago"
},
"topic_mentions": [],
"trip_type_codes": [
6,
3
]
}
],
"pagination": {
"next": "https://scrappa.co/api/google-hotels/reviews?property_token=ChcIkODTyPai0cw-GgsvZy8xdjh4MTZjdhAB&hl=en&gl=de&next_page_token=CjEIARIpCgoAP7_LALW2____EhAw81KMwv5Z-mClTKoAAAAAGgn92ScCYqZtrYQYACIA%3A10",
"next_page_token": "CjEIARIpCgoAP7_LALW2____EhAw81KMwv5Z-mClTKoAAAAAGgn92ScCYqZtrYQYACIA:10"
},
"response_time_ms": 733,
"search_parameters": {
"gl": "de",
"hl": "en",
"engine": "google_hotels_reviews",
"category_token": null,
"property_token": "ChcIkODTyPai0cw-GgsvZy8xdjh4MTZjdhAB"
}
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
The property_token, hl, gl, category_token or next_page_token query parameter failed validation before the upstream request ran.
{
"errors": {
"property_token": [
"A property_token is required."
]
},
"message": "The property token field is required."
}No Reviews Found
The upstream returned the empty shape that a rejected topic filter produces. An empty result is not distinguishable from a failed lookup, so the request is not billed.
{
"error": "No reviews found for this property or topic filter.",
"error_code": "google_hotels_reviews_no_reviews",
"status_code": 503
}Google Hotels Reviews Temporarily Unavailable
The upstream service is temporarily unavailable. Please retry shortly.
{
"error": "Google Hotels reviews are temporarily unavailable. Please try again.",
"error_code": "google_hotels_reviews_temporary_unavailable",
"status_code": 503
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.