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) orprovider(a booking partner, named inprovider) - 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 theirgroup_idand total. - Cost: 1 credit per successful request. Failed requests are not billed.
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: ChkI3t3pndiZ0_knGg0vZy8xMWY3N19iX214EAE
Note: From the property_token field of a Google Hotels Search result or a Google Hotels Autocomplete suggestion.
example
string
Optional
Which photos to return: all (default), owner, visitors or 360.
example
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
string
Optional
2-letter language code. Default: en
en
string
Optional
2-letter country code. Default: us
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
{
"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.
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."
}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.