Google Hotels
A page of hotels and vacation rentals for a search on Google Hotels, answered as the document with `properties`: price per night and for the stay, rating, class, nearby places and pictures.
A page of hotels and vacation rentals for a search on Google Hotels, answered as the document with
properties: price per night and for the stay, rating, class, nearby places and pictures. Twenty
a page (17 to 20 seen). A vacation rental (type: vacation_rental) has no class and names its
amenities. Not answered: search_information.total_results, brands, pagination, a hotel's
amenities, ratings by theme, images[].original, price_before_taxes. The page's filters are
refused (400): bounding_box, sort_by other than relevance, price_min, price_max,
property_type vacation_rental, property_types, amenities, rating, hotel_class,
brands, bedrooms, bathrooms, free_cancellation, special_offers, eco_certified,
for_displaced_individuals, next_page_token.
X-API-Key<token>Your API key.
cancel_token?stringA name you make up for this request (a UUID is fine), so you can later GET /v1/cancel
with it. Only you know it, so only you can cancel. Use a new one for every request, retries included: a cancelled token stays cancelled for a few minutes.
1 <= length <= 128q*stringWhat to search for.
1 <= lengthcheck_in_date*stringYYYY-MM-DD.
datecheck_out_date*stringYYYY-MM-DD; after check_in_date, at most 365 nights.
dateadults?integerGuests with the children: 1 to 10.
1 <= value <= 102children_ages?stringAges 1 to 17, comma-separated.
currency?string"USD"hl?string"en"gl?string"us"The hotels, as the document. When the page could not be parsed, the usual envelope.
application/json- response
The first three keys of every parsed 200 (the answer is the document itself, no success/data
envelope): what the search was (search_metadata), what it asked (search_parameters), the
parser's own search_information ({} when it has none). The engine's blocks follow, at the same
level. An engine whose answer is a list puts it under results.
search_metadata*search_parameters*The request's own fields as sent, engine first, without cancel_token.
search_information*The parser's own, e.g. yelp_search's; otherwise {}.
properties?array<>[key: string]?anycurl -X GET 'https://api.justserp.com/v1/google/hotels?q=hotels+in+paris&check_in_date=2026-12-12&check_out_date=2026-12-15&adults=3&children_ages=5%2C9'{ "search_metadata": { "id": "string", "status": "Success", "created_at": "string", "request_url": "string", "html_url": "string" }, "search_parameters": {}, "search_information": {}, "properties": [ { "type": "hotel", "property_token": "string", "data_id": "string", "name": "string", "link": "string", "description": "string", "gps_coordinates": { "latitude": 0, "longitude": 0 }, "city": "string", "country": "string", "check_in_time": "string", "check_out_time": "string", "price_per_night": { "price": "string", "extracted_price": 0 }, "total_price": { "price": "string", "extracted_price": 0 }, "deal": "string", "nearby_places": [ { "name": "string", "transportations": [ { "type": "string", "duration": "string" } ] } ], "hotel_class": "string", "extracted_hotel_class": 0, "rating": 0, "reviews": 0, "reviews_histogram": { "property1": 0, "property2": 0 }, "amenities": [ "string" ], "images": [ { "thumbnail": "string" } ] } ]}Google Flights Deals GET
The cheap flights Google lists for an origin ("Find cheap flights"), answered as the document with `deals`: thirty destinations in Google's order, each with its own dates, the price against the usual one, the airline and the stops.
Google Hotels Property GET
One hotel's page on Google Hotels, answered as the document with `property`: address, phone, class, rating, price, nearby places and what the hotel says about itself.