Google Travel API
Rich hotel data from Google Travel — review summary, address and metadata, photos,
live prices, similar hotels, and nearby places. Resolve a hotel once to get a durable
entity_token, then fetch any slice.
Overview
Two-step workflow
Call /resolve with a hotel name to get its entity_token, then pass that token to any of the data endpoints. The token is durable — cache it and reuse it across all Google Travel endpoints.
Google Travel exposes one hotel data panel that this API slices into seven lean, independently
cacheable endpoints. All are keyed on a Google Travel entity_token (a
Ch… id) returned by /resolve. Aggregate data (summary, info) changes
slowly and caches well; prices are live for Google-chosen default dates.
Endpoints
Common parameters
Every data endpoint takes the same three parameters. /resolve takes
query instead of entity_token, and /prices adds
an optional currency.
| Parameter | Type | Required | Description |
|---|---|---|---|
| entity_token | string | Required | Google Travel token from /resolve (a Ch… id). Not needed for /resolve itself. |
| query | string | Required | /resolve only — hotel name plus city, e.g. Barceló Fortina Sliema Malta. |
| currency | string | Optional | /prices only — ISO 4217 code shaping every money field. Default USD. |
| hl | string | Optional | UI language code. Default en. |
| gl | string | Optional | Region/country code. Default us. |
1. Resolve a hotel
Turn a hotel name into candidate entity_tokens. Pick the best match and reuse its token.
{
"success": true,
"query": "Barcelo Fortina Sliema Malta",
"results": [
{
"entity_token": "ChkI-tSR2IGm6OI7Gg0vZy8xMWg4NThxeGJ0EAE",
"place_name": "Barceló Fortina Malta"
}
]
}
2. Review summary
Overall rating, total review count, per-star histogram, review-topic sub-scores, and the review-source breakdown. Google Travel has no 1–5 category ratings; topics carry positive/negative mention counts with a signed sentiment (−1 to 1).
{
"success": true,
"entity_token": "ChkI-tSR2IGm6OI7Gg0vZy8xMWg4NThxeGJ0EAE",
"place_name": "Barceló Fortina Malta",
"average_rating": 4.4,
"total_reviews": 526,
"histogram": [
{ "stars": 5, "count": 380, "percent": 74 },
{ "stars": 4, "count": 62, "percent": 11 },
{ "stars": 3, "count": 31, "percent": 5 },
{ "stars": 2, "count": 16, "percent": 3 },
{ "stars": 1, "count": 37, "percent": 7 }
],
"topics": [
{ "category": "Service", "label": "Service", "mentions": 118,
"positive": 88, "negative": 25, "sentiment": 0.3 }
],
"sources": [
{ "name": "Google", "review_count": null },
{ "name": "Trip.com", "review_count": 84 }
]
}
3. Hotel info
Identity and metadata: name, star class, coordinates, address, phone, check-in/out times, website, neighborhood, locality chain, and Google Maps ids.
{
"success": true,
"entity_token": "ChkI-tSR2IGm6OI7Gg0vZy8xMWg4NThxeGJ0EAE",
"place_name": "Barceló Fortina Malta",
"hotel_class": { "label": "5-star hotel", "stars": 5 },
"latitude": 35.9071922,
"longitude": 14.5092363,
"address": "Tigné Seafront, Tas-Sliema SLM 3012, Malta",
"phone": "+356 2605 0000",
"check_in": "3:00 PM",
"check_out": "12:00 PM",
"website": "https://www.barcelo.com/en-gb/barcelo-fortina-malta/",
"localities": [
{ "name": "Sliema", "feature_id": "0x130e453980dcb865:0xa7354d721f145949" }
],
"feature_id": "0x130e45582a65cd61:0x3bc5a1301b046a7a",
"google_maps_place_id": "ChIJYc1lKlhFDhMRemoEGzChxTs"
}
4. Photos
De-duplicated hero and gallery photos. Every URL is https; some photos carry an AI-generated caption highlight.
{
"success": true,
"entity_token": "ChkI-tSR2IGm6OI7Gg0vZy8xMWg4NThxeGJ0EAE",
"count": 22,
"photos": [
{
"url": "https://lh3.googleusercontent.com/gps-cs-s/AP…=s287-w287-h192-k-no",
"width": 287,
"height": 192,
"photo_id": "CIHM0ogKEICAgIC…",
"caption": "Most rooms offer panoramic views of the Mediterranean Sea and Valletta"
}
]
}
5. Prices
Nightly rate, Google's usual-price band, and partner booking offers for Google-chosen default dates (returned as check_in/check_out). Pass currency to shape every money field.
Band ordering is not guaranteed
price_range.typical is the current going rate; it can fall below low (a deal) or above high (pricey). A hotel with no bookable rate for the dates returns 404.
{
"success": true,
"entity_token": "ChkI-tSR2IGm6OI7Gg0vZy8xMWg4NThxeGJ0EAE",
"check_in": "2026-07-04",
"check_out": "2026-07-05",
"currency": "EUR",
"price": { "formatted": "€269", "value": 269.0 },
"price_range": { "low": 232.0, "typical": 269.0, "high": 278.0 },
"offers": [
{
"partner": "Barcelo.com",
"booking_link": "https://www.google.com/travel/clk?pc=…",
"price": "€256"
}
]
}
6. Similar hotels & rentals
Similar hotels and nearby vacation rentals. Each neighbor carries its own entity_token — feed it back into any Google Travel endpoint to pivot.
{
"success": true,
"entity_token": "ChkI-tSR2IGm6OI7Gg0vZy8xMWg4NThxeGJ0EAE",
"similar_hotels": [
{
"name": "Grand Hotel Excelsior Malta",
"entity_token": "ChcIzuWhytbGxuwsGgsvZy8xdmY1NHI0ehAB",
"place_id": "ChIJK2Ig5zJFDhMRznJIaTUa2Sw",
"rating": 4.4,
"review_count": 4595,
"class": { "label": "5-star hotel", "stars": 5 },
"distance": "1.2 km away",
"price": { "formatted": "$266", "value": 265.54 },
"comparison": "Also a 5-star hotel, for $119 less",
"photo": "https://lh3.googleusercontent.com/…"
}
],
"vacation_rentals": [
{
"name": "Seaside Bliss - 3BR Holiday Apartment, Sliema",
"entity_token": "CiQIo5WPjrHd-bDyARDA4sqQ2c-k3hca…",
"price": { "formatted": "$486", "value": 485.73 }
}
]
}
7. Nearby places
Points of interest grouped by kind (attractions, transit, airports, restaurants), each with rating, description, coordinates, and Google's drive/walk time estimates.
{
"success": true,
"entity_token": "ChkI-tSR2IGm6OI7Gg0vZy8xMWg4NThxeGJ0EAE",
"groups": [
{
"category": "nearby_poi",
"label": "Points of interest",
"pois": [
{
"name": "St. John's Co-Cathedral",
"rating": 4.8,
"review_count": 25044,
"description": "Elaborately adorned place of worship, completed in 1578.",
"latitude": 35.8975921,
"longitude": 14.5124951,
"drive_time": "15 min",
"walk_time": null
}
]
}
]
}