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

Google Hotels Photos

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

Get the photos of one property on Google Hotels: the photo URL, size, source, contributor, upload date and caption, grouped the way the photos tab on Google Hotels groups them.

What You Get

  • Photos with a full-size URL, a thumbnail, width and height
  • Source: owner (uploaded by the property), visitor (uploaded by a guest) or provider (a booking partner, named in provider)
  • Contributor, upload date and caption when Google shows them
  • Photo groups with a total and a first page of photos for each group
  • Pagination with a next_page_token

Categories

all (default), owner, visitors and 360. The category applies to the photos and to every page you request with the token.

Pagination

The first page returns the photos of the first group in photos. The other groups come with their own first page in groups[].photos. Send pagination.next_page_token (or the next_page_token of a group) to get the next page of that group. The token is opaque and long (about 1,100 characters). The page after the last page is empty.

Good to Know

  • Only the first group has a known name (At a glance, English only). Other groups return their group_id and total.
  • Cost: 1 credit per successful request. Failed requests are not billed.
Google Hotels Photos 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/google-hotels/photos
Auth header
x-api-key
Cost
1 credit/request
property_token = example
Response preview
200 OK
{
    "groups": [
        {
            "name": "At a glance",
            "group_id": 1,
            "total_photos": 201,
            "next_page_token": "eyJjIjoiYWxsIiwiZyI6MSwidCI6Ii4uLiJ9"
        },
        {
            "name": null,
            "photos": [
                {
                    "url": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QiN8TMV2XA7lJn4zl97ulBr1q6yAVZvBDkQzzSJWrGVgB6G4dA7GVnWRE4r0kg2ii43trxnqF0ePV8LK_zqfhzyS-FVzZ3libVj88YvnpaWM4fwS7QQvGDpoeyu25ZDUIGCmQo2PQERS51=w1280",
                    "date": null,
...

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: ChkI3t3pndiZ0_knGg0vZy8xMWY3N19iX214EAE

Note: From the property_token field of a Google Hotels Search result or a Google Hotels Autocomplete suggestion.

Example value example
category string Optional

Which photos to return: all (default), owner, visitors or 360.

Example value example
next_page_token string Optional

Token for the next page of a photo group.

Note: From pagination.next_page_token or a group next_page_token of a previous response. The token carries the category, so category is ignored when it is set.

Example value example
hl string Optional

2-letter language code. Default: en

Example value en
gl string Optional

2-letter country code. Default: us

Example value us

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

groups photos group_id pagination search_parameters

Common groups fields

name group_id total_photos next_page_token
JSON Response
200 OK
{
    "groups": [
        {
            "name": "At a glance",
            "group_id": 1,
            "total_photos": 201,
            "next_page_token": "eyJjIjoiYWxsIiwiZyI6MSwidCI6Ii4uLiJ9"
        },
        {
            "name": null,
            "photos": [
                {
                    "url": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QiN8TMV2XA7lJn4zl97ulBr1q6yAVZvBDkQzzSJWrGVgB6G4dA7GVnWRE4r0kg2ii43trxnqF0ePV8LK_zqfhzyS-FVzZ3libVj88YvnpaWM4fwS7QQvGDpoeyu25ZDUIGCmQo2PQERS51=w1280",
                    "date": null,
                    "width": 1280,
                    "height": 853,
                    "source": "provider",
                    "caption": null,
                    "group_id": 6,
                    "photo_id": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QiN8TMV2XA7lJn4zl97ulBr1q6yAVZvBDkQzzSJWrGVgB6G4dA7GVnWRE4r0kg2ii43trxnqF0ePV8LK_zqfhzyS-FVzZ3libVj88YvnpaWM4fwS7QQvGDpoeyu25ZDUIGCmQo2PQERS51",
                    "provider": "Hotelbeds",
                    "thumbnail": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QiN8TMV2XA7lJn4zl97ulBr1q6yAVZvBDkQzzSJWrGVgB6G4dA7GVnWRE4r0kg2ii43trxnqF0ePV8LK_zqfhzyS-FVzZ3libVj88YvnpaWM4fwS7QQvGDpoeyu25ZDUIGCmQo2PQERS51=w253-h168-k-no",
                    "contributor": null
                }
            ],
            "group_id": 6,
            "total_photos": 331,
            "next_page_token": "eyJjIjoiYWxsIiwiZyI6NiwidCI6Ii4uLiJ9"
        }
    ],
    "photos": [
        {
            "url": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QiN8TMV2XA7lJn4zl97ulBr1q6yAVZvBDkQzzSJWrGVgB6G4dA7GVnWRE4r0kg2ii43trxnqF0ePV8LK_zqfhzyS-FVzZ3libVj88YvnpaWM4fwS7QQvGDpoeyu25ZDUIGCmQo2PQERS51=w1280",
            "date": "2026-08-23",
            "width": 1280,
            "height": 853,
            "source": "owner",
            "caption": null,
            "group_id": 1,
            "photo_id": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QiN8TMV2XA7lJn4zl97ulBr1q6yAVZvBDkQzzSJWrGVgB6G4dA7GVnWRE4r0kg2ii43trxnqF0ePV8LK_zqfhzyS-FVzZ3libVj88YvnpaWM4fwS7QQvGDpoeyu25ZDUIGCmQo2PQERS51",
            "provider": null,
            "thumbnail": "https://lh3.googleusercontent.com/gps-cs-s/ANWiy9QiN8TMV2XA7lJn4zl97ulBr1q6yAVZvBDkQzzSJWrGVgB6G4dA7GVnWRE4r0kg2ii43trxnqF0ePV8LK_zqfhzyS-FVzZ3libVj88YvnpaWM4fwS7QQvGDpoeyu25ZDUIGCmQo2PQERS51=w253-h168-k-no",
            "contributor": {
                "name": "Pan Pacific Sonargaon Dhaka",
                "profile_url": "https://maps.google.com/maps/contrib/113538921990251389939"
            }
        }
    ],
    "group_id": 1,
    "pagination": {
        "next_page_token": "eyJjIjoiYWxsIiwiZyI6MSwidCI6Ii4uLiJ9"
    },
    "search_parameters": {
        "gl": "us",
        "hl": "en",
        "engine": "google_hotels_photos",
        "category": "all",
        "property_token": "ChkI3t3pndiZ0_knGg0vZy8xMWY3N19iX214EAE"
    }
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

The property_token, category, next_page_token, hl or gl query parameter failed validation before the upstream request ran.

{
    "errors": {
        "property_token": [
            "A property_token is required."
        ]
    },
    "message": "A property_token is required."
}
503

Google Hotels Photos Temporarily Unavailable

The upstream lookup failed on every try. The request is not billed.

{
    "error": "Google Travel data is temporarily unavailable. Please retry shortly.",
    "error_code": "google_hotels_photos_temporarily_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.