Skip to content
Scrappa Get API key
Google Hotels API 1 credit/request

Google Hotels Reviews

GET https://scrappa.co/api/google-hotels/reviews

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.

Google Hotels Reviews 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/google-hotels/reviews
Auth header
x-api-key
Cost
1 credit/request
property_token = example
Response preview
200 OK
{
    "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",
...

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.

property_token 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 value example
hl string Optional

2-letter language code for the review text.

Default: en

Examples: en, de, fr

Example value en
gl string Optional

2-letter country code for localization.

Default: us

Examples: us, de, fr

Example value us
category_token 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 value example
next_page_token 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 value 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
JSON Response
200 OK
{
    "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.

422

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."
}
503

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
}
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.