scraper
Back to API docs

Overview

  • Overview

SERP

  • POSTSERP

Core

  • POSTGeocode
  • POSTTranslate
  • POSTSearch
  • POSTVision
  • POSTPlaces Search
  • POSTPlace Details
  • POSTPlaces Nearby
  • POSTAutocomplete

Maps

  • POSTSearch
  • POSTPlace Details
  • POSTReviews

Hotels

  • POSTSearch
  • POSTDetail
  • POSTReviews
  • POSTPhotos

Flights

  • POSTOne-way Search
  • POSTCalendar
  • POSTExplore

Finance

  • POSTQuote
  • POSTFundamentals
  • POSTChart
  • POSTNews
  • POSTSearch
  • POSTEstimates
  • POSTEarnings

Hotel Search

2 credits

Search for hotels by location with filters for dates, amenities, price, and more.

POST/api/v1/tools/google/hotels/search

Parameters

locationstringrequired

The location to search. The API removes space at the start and end. The value must contain 1 to 200 characters. The request body is strict. Unknown fields are rejected.

checkInDatestringrequired

A real calendar date in YYYY-MM-DD format. It must be today or a future date.

checkOutDatestringrequired

A real calendar date in YYYY-MM-DD format. It must be after checkInDate.

adultsinteger

The number of adults, from 1 to 9. The default is 2.

childreninteger

The number of children, from 0 to 9. The default is 0.

roomsinteger

The number of rooms, from 1 to 9. The default is 1.

typestring

The result type: "hotels", "vacation_rentals", or "both". The default is "both". The API rejects hotel-only filter options when type is "vacation_rentals" or "both".

currencystring

A 3-letter currency code. The API changes letters to uppercase. The default is "USD".

minPriceinteger

A positive minimum price. maxPrice must be equal to or greater than minPrice. This filter is valid only when type is "hotels".

maxPriceinteger

A positive maximum price. It must be equal to or greater than minPrice. This filter is valid only when type is "hotels".

hotelClassinteger[]

Unique hotel class values from 2 to 5. This filter is valid only when type is "hotels".

guestRatingstring

The minimum guest rating: "3.5", "4.0", or "4.5". This filter is valid only when type is "hotels".

amenitiesstring[]

Unique amenity filters. This parameter is valid only when type is "hotels". Supported values: "free_wifi", "free_breakfast", "restaurant", "bar", "kid_friendly", "pet_friendly", "free_parking", "parking", "ev_charger", "room_service", "fitness_center", "spa", "pool", "indoor_pool", "outdoor_pool", "air_conditioned", "wheelchair_accessible", "beach_access", "all_inclusive_available".

propertyTypesstring[]

Unique property-type filters. This parameter is valid only when type is "hotels". Supported values: "apartment_hotels", "bed_and_breakfasts", "spa_hotels", "resorts", "motels", "inns", "hostels", "boutique_hotels", "beach_hotels", "other".

freeCancellationboolean

Set this to true to require free cancellation. The default is false. A true value is valid only when type is "hotels".

specialOffersboolean

Set this to true to require special offers. The default is false. A true value is valid only when type is "hotels".

ecoCertifiedboolean

Set this to true to require an eco-certified property. The default is false. A true value is valid only when type is "hotels".

sortBystring

The order: "relevance", "price_low", "price_high", or "rating". The default is "relevance". A value other than "relevance" is valid only when type is "hotels". Distance order is not supported.

maxResultsinteger

The maximum number of entries to return, from 1 to 250. The default is 50. The value cannot be more than your plan limit.

fieldsstring[]

Select result fields. Values must be unique. Use ["*"] alone for all supported fields. If you omit this parameter, the API returns these default fields: "name", "searchType", "starRating", "latitude", "longitude", "pricePerNight", "totalPrice", "currency", "reviewScore", "reviewCount", "bookingToken". Supported fields: "name", "searchType", "starRating", "latitude", "longitude", "pricePerNight", "totalPrice", "currency", "priceLabel", "reviewScore", "reviewCount", "bookingToken".

Response Schema

dataobject

The Google Hotels search result.

entriesobject[]

The selected fields for each usable result. Some values can be absent when Google does not return them.

returnedCountnumber

The number of entries in this response.

collectedCountnumber

The number of unique, usable entries after filtering and before maxResults is applied.

truncatedboolean

True when maxResults removed collected entries.

locationstring

The resolved location name.

searchTypestring

The requested type: "hotels", "vacation_rentals", or "both".

checkInDatestring

The requested check-in date.

checkOutDatestring

The requested check-out date.

metaobject

Request metadata.

toolstring

The tool name.

creditsUsednumber

The request cost. The value is 2.

requestIdstring

The unique request ID.

Request

curl -X POST https://scraper.run/api/v1/tools/google/hotels/search \
-H "Authorization: Bearer sc_live_..." \
-H "Content-Type: application/json" \
-d '{
"location": "Tokyo",
"checkInDate": "2027-06-10",
"checkOutDate": "2027-06-12",
"type": "hotels",
"currency": "USD",
"sortBy": "price_low",
"maxResults": 2,
"fields": ["name", "bookingToken", "searchType", "pricePerNight", "currency"]
}'

Response Example

{
"data": {
"entries": [
{
"name": "Example Hotel Tokyo",
"bookingToken": "ChkIq_atzbv20-8ZGg0vZy8xMXFoMzRoa3pfEAE",
"searchType": "hotel",
"pricePerNight": 142,
"currency": "USD"
}
],
"returnedCount": 1,
"collectedCount": 1,
"truncated": false,
"location": "Tokyo",
"searchType": "hotels",
"checkInDate": "2027-06-10",
"checkOutDate": "2027-06-12"
},
"meta": {
"tool": "google-hotels-search",
"creditsUsed": 2,
"requestId": "req_abc123"
}
}