Google Hotels Info API
Retrieve detailed information for a specific hotel including ratings, amenities, pricing, images, and location data.
Overview
Query-Based Search
Search by hotel name to get comprehensive property details from Google Hotels.
The Google Hotels Info endpoint fetches detailed hotel information using a simple query-based search. Provide the hotel name (e.g., "The Plaza New York", "Bellagio Las Vegas") along with check-in/check-out dates to get complete property details including ratings, reviews, amenities, pricing, and images.
Endpoint URL
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
query | string | Required | Hotel name or search query (e.g., "The Plaza New York", "Bellagio Las Vegas", "Four Seasons Bangkok") |
check_in | string | Required | Check-in date in YYYY-MM-DD format (must be in the future) |
check_out | string | Required | Check-out date in YYYY-MM-DD format (must be after check_in) |
adults | integer | Optional | Number of adults (1-10). Default: 2 |
currency | string | Optional | Currency code for prices (e.g., USD, EUR, GBP, THB, JPY). Default: "USD" |
Response Format
The API returns comprehensive hotel information with metadata about the search:
{
"query": "The Plaza New York",
"check_in": "2025-11-01",
"check_out": "2025-11-03",
"hotel": {
"name": "The Plaza",
"type": "hotel",
"description": "In a landmark 19th-century building...",
"link": "https://www.theplazany.com/...",
"property_token": "ChUIneeg3YDGqvthGgkvbS8wNDJ5N2oQAQ",
"address": "768 5th Ave, New York, NY 10019",
"phone": "(212) 759-3000",
"gps_coordinates": {
"latitude": 40.7646318,
"longitude": -73.9743251
},
"check_in_time": "3:00 PM",
"check_out_time": "12:00 PM",
"rate_per_night": {
"lowest": "$1,542",
"extracted_lowest": 1542,
"before_taxes_fees": "$1,341",
"extracted_before_taxes_fees": 1341
},
"total_rate": {
"lowest": "$3,085",
"extracted_lowest": 3085,
"before_taxes_fees": "$2,682",
"extracted_before_taxes_fees": 2682
},
"overall_rating": 4.5,
"reviews": 6775,
"ratings": [
{
"stars": 5,
"count": 4025
},
{
"stars": 4,
"count": 1850
}
],
"hotel_class": "5-star hotel",
"extracted_hotel_class": 5,
"amenities": [
"Free Wi-Fi",
"Restaurant",
"Fitness center",
"Spa",
"Room service",
"Concierge"
],
"images": [
"https://lh3.googleusercontent.com/...",
"https://lh3.googleusercontent.com/..."
],
"featured_prices": [
{
"source": "Hotels.com",
"logo": "https://www.gstatic.com/...",
"rate_per_night": {
"lowest": "$1,542"
}
}
]
},
"search_metadata": {
"search_url": "https://www.google.com/travel/hotels/...",
"datetime": "2025-01-09T14:00:00Z"
}
}
Response Fields
Hotel Basic Information
- name: Official hotel name
- type: Property type (always "hotel")
- description: Detailed hotel description
- address: Full street address
- phone: Contact phone number
- link: Official hotel website URL
- property_token: Unique Google property identifier
Location & Coordinates
- gps_coordinates: Latitude and longitude for mapping
- directions: Google Maps directions URL
Ratings & Reviews
- overall_rating: Average rating (0-5 scale)
- reviews: Total number of reviews
- ratings: Breakdown by star count (5-star, 4-star, etc.)
- reviews_breakdown: Category scores (location, cleanliness, service, etc.)
Pricing Information
- rate_per_night: Nightly rate with formatted string and extracted numeric value
- total_rate: Total stay cost with taxes and fees
- before_taxes_fees: Pricing before taxes and fees
- featured_prices: Prices from booking platforms (Hotels.com, Expedia, etc.)
Amenities & Features
- amenities: List of all hotel amenities (typically 30-60 items)
- excluded_amenities: Features explicitly not available
- hotel_class: Star rating with description (e.g., "5-star hotel")
- check_in_time / check_out_time: Standard check-in and check-out times
Images & Media
- images: Array of hotel images (typically 5-10 high-quality images)
Error Responses
All errors follow the RFC 7807 Problem Details format:
Bad Request - Past Dates
Check-in date cannot be in the past
{ "error": "Request failed with status code 400", "provider": "google_hotels", "error_code": "UPSTREAM_ERROR" }
No Results Found
No matching hotel found for the query
{ "error": "No matching hotels found for the supplied query", "provider": "google_hotels", "error_code": "NO_RESULTS" }
Upstream Error
Upstream service error
{ "error": "Request failed: timeout", "provider": "google_hotels", "error_code": "UPSTREAM_ERROR" }
Usage Tips
Best Practices
- • Include the city name in your query for better results (e.g., "The Plaza New York" instead of just "The Plaza")
- • The API returns the closest match if exact hotel name not found
-
•
Check the returned
name
field to verify correct hotel was found - • Prices adjust automatically based on the number of adults specified
- • Supports international hotels with unicode characters (e.g., "Hôtel Plaza Athénée Paris")
- • Check-in dates must be in the future or the API will return 400 error
Related Endpoints
curl -X GET "https://api.stayapi.com/v1/google_hotels/info?query=The%20Plaza%20New%20York&check_in=2026-03-15&check_out=2026-03-18&adults=2¤cy=USD" \ -H "X-API-Key: YOUR_API_KEY"
const response = await fetch( "https://api.stayapi.com/v1/google_hotels/info?" + new URLSearchParams({ query: "The Plaza New York", check_in: "2026-03-15", check_out: "2026-03-18", adults: 2, currency: "USD" }), { headers: { "X-API-Key": "YOUR_API_KEY" } } ); const data = await response.json(); console.log(`Hotel: ${data.hotel.name}`); console.log(`Rating: ${data.hotel.overall_rating}/5 (${data.hotel.reviews} reviews)`); console.log(`Price: ${data.hotel.rate_per_night.lowest}`);
import requests params = { "query": "The Plaza New York", "check_in": "2026-03-15", "check_out": "2026-03-18", "adults": 2, "currency": "USD" } response = requests.get( "https://api.stayapi.com/v1/google_hotels/info", params=params, headers={"X-API-Key": "YOUR_API_KEY"} ) data = response.json() print(f"Hotel: {data['hotel']['name']}") print(f"Rating: {data['hotel']['overall_rating']}/5") print(f"Price: {data['hotel']['rate_per_night']['lowest']}")
$params = [ "query" => "The Plaza New York", "check_in" => "2026-03-15", "check_out" => "2026-03-18", "adults" => 2, "currency" => "USD" ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.stayapi.com/v1/google_hotels/info?" . http_build_query($params)); curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: YOUR_API_KEY"]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $data = json_decode($response, true); echo "Hotel: " . $data["hotel"]["name"] . "\n"; echo "Rating: " . $data["hotel"]["overall_rating"] . "/5\n"; echo "Price: " . $data["hotel"]["rate_per_night"]["lowest"];
require "net/http" require "json" uri = URI("https://api.stayapi.com/v1/google_hotels/info") params = { query: "The Plaza New York", check_in: "2026-03-15", check_out: "2026-03-18", adults: 2, currency: "USD" } uri.query = URI.encode_www_form(params) req = Net::HTTP::Get.new(uri) req["X-API-Key"] = "YOUR_API_KEY" res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(req) end data = JSON.parse(res.body) puts "Hotel: #{data['hotel']['name']}" puts "Rating: #{data['hotel']['overall_rating']}/5" puts "Price: #{data['hotel']['rate_per_night']['lowest']}"
{ "query": "The Plaza New York", "check_in": "2026-03-15", "check_out": "2026-03-18", "hotel": { "name": "The Plaza", "type": "hotel", "description": "In a landmark 19th-century building opposite Central Park...", "link": "https://www.theplazany.com/", "property_token": "ChUIneeg3YDGqvthGgkvbS8wNDJ5N2oQAQ", "address": "768 5th Ave, New York, NY 10019", "phone": "(212) 759-3000", "gps_coordinates": { "latitude": 40.7646318, "longitude": -73.9743251 }, "check_in_time": "3:00 PM", "check_out_time": "12:00 PM", "rate_per_night": { "lowest": "$1,542", "extracted_lowest": 1542, "before_taxes_fees": "$1,341", "extracted_before_taxes_fees": 1341 }, "total_rate": { "lowest": "$3,085", "extracted_lowest": 3085 }, "overall_rating": 4.5, "reviews": 6775, "hotel_class": "5-star hotel", "extracted_hotel_class": 5, "amenities": [ "Free Wi-Fi", "Restaurant", "Fitness center", "Spa", "Room service" ], "images": [ "https://lh3.googleusercontent.com/p/plaza1.jpg", "https://lh3.googleusercontent.com/p/plaza2.jpg" ] }, "search_metadata": { "search_url": "https://www.google.com/travel/hotels/...", "datetime": "2026-03-01T10:30:00Z" } }
{ "error": "No matching hotels found for the supplied query", "provider": "google_hotels", "error_code": "NO_RESULTS" }