Google Hotels Search Scraper avatar

Google Hotels Search Scraper

Pricing

from $0.20 / 1,000 results

Go to Apify Store
Google Hotels Search Scraper

Google Hotels Search Scraper

Compare Google Hotels stays by property, guest rating, nightly rate and review count. Set future stay dates and guest counts to compare rates for the destination you choose.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Scrappa

Scrappa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

7 days ago

Last modified

Categories

Share

Compare Google Hotels stays by property, guest rating, nightly rate and review count. Set future stay dates and guest counts to compare rates for the destination you choose.

What data can you extract?

Hotel rates reflect the searched stay and displayed currency; availability and offers can change between searches.

FieldTypeDescription
nametextName of the hotel listing, as shown by Google Hotels; null when no name is published.
typetextProperty type shown by Google Hotels, such as hotel or vacation rental; null when no type is shown.
hotel_classtextHotel class shown for the hotel listing by Google Hotels, in the format used by the source; null when it is omitted.
overall_ratingnumberGuest rating on Google Hotels’ 1-to-5 star scale; null when no rating is shown.
reviewsnumberNumber of Google Hotels reviews for the property; null if no review total is shown.
rate_per_night_lowesttextLowest nightly rate formatted as Google Hotels displays it, including currency; null when no rate is listed.
rate_per_night_extracted_lowestnumberLowest nightly rate parsed as a number in the searched currency; null when no rate is listed.
total_rate_lowesttextLowest stay total formatted as Google Hotels displays it, including currency; null when no total is listed.
total_rate_extracted_lowestnumberLowest stay total parsed as a number in the searched currency; null when no total is listed.
booking_linklinkBooking link for this hotel listing on Google Hotels; null when the source does not provide a URL.
property_tokentextGoogle Hotels identifier for the property; when Google omits a token, this field falls back to the result’s entity_id.
entity_idtextGoogle Hotels property ID for the hotel listing, assigned by Google Hotels; null when the source does not expose it.
place_idtextGoogle Maps place ID for the hotel listing, assigned by Google Hotels; null when the source does not expose it.
latitudenumberLatitude for this hotel listing on Google Hotels, in decimal degrees; null when the source provides no coordinates.
longitudenumberLongitude for this hotel listing on Google Hotels, in decimal degrees; null when the source provides no coordinates.
thumbnailimageThumbnail url for this hotel listing on Google Hotels; null when the source does not provide a URL.
price_sources_countnumberNumber of available price-sources shown by Google Hotels, as a whole number; zero is possible, and null means no count was reported.
amenities_countnumberNumber of amenities shown by Google Hotels, as a whole number; zero is possible, and null means no count was reported.
request_qtextSearch phrase passed to Google Hotels. This input value is copied into the output row; null when it was not supplied.
request_check_in_datedateResolved check-in date sent to Google Hotels, formatted as YYYY-MM-DD; present on successful result rows.
request_check_out_datedateResolved check-out date sent to Google Hotels, formatted as YYYY-MM-DD; present on successful result rows.
request_adultsnumberAdults passed to Google Hotels. This input value is copied into the output row; null when it was not supplied.
request_childrennumberChildren passed to Google Hotels. This input value is copied into the output row; null when it was not supplied.
request_currencytextThree-letter currency code passed to Google Hotels; Use a three-letter code such as USD or EUR. This input value is copied into the output row; null when it was not supplied.
request_gltextTwo-letter country or region code passed to Google Hotels; Use a two-letter country code such as us or de. This input value is copied into the output row; null when it was not supplied.
request_hltextInterface language code passed to Google Hotels; Use a language code such as en or de. This input value is copied into the output row; null when it was not supplied.

Use cases

  • Travelers can compare fares or nightly rates before choosing a trip.
  • Travel teams can check public options across routes, destinations and dates.
  • Researchers can track prices and ratings in a travel market.

How to use

  1. Open the Actor’s Input tab and start with the JSON below.
  2. Enter a hotel name, neighborhood or destination in q, then provide check-in and check-out dates for the stay.
  3. Start the run and open its default dataset to inspect or download the rows.
{
"q": "Paris, France",
"check_in_date": "tomorrow",
"check_out_date": "day-after-tomorrow"
}

The run dataset can be downloaded as JSON, CSV, Excel or another format offered by Apify.

Input

FieldTypeRequiredDescription
qstringYesLocation, landmark, area, or hotel query to search in Google Hotels.
check_in_datestringYesCheck-in date in YYYY-MM-DD format, or use today, tomorrow, or day-after-tomorrow. Must resolve to today or a future date.
check_out_datestringYesCheck-out date in YYYY-MM-DD format, or use tomorrow or day-after-tomorrow. Must resolve after the check-in date.
adultsintegerNoNumber of adults. Constraints: minimum 1; maximum 10.
childrenintegerNoNumber of children. If greater than 0, provide matching Children Ages. Constraints: minimum 0; maximum 6.
children_agesarray of integerNoAges for each child, 1-17. The number of ages must match Children.
currencystringNoThree-letter currency code such as USD, EUR, or GBP.
glstringNoTwo-letter Google country code such as us, fr, gb, or de.
hlstringNoTwo-letter language code such as en, fr, de, or es.
sort_bystringNoSort hotel results by lowest price, highest rating, or most reviewed. Constraints: allowed values: 3, 8, 13.
min_priceintegerNoMinimum nightly price. Constraints: minimum 0.
max_priceintegerNoMaximum nightly price. Must be greater than Minimum Price and within 5000. Constraints: minimum 1; maximum 5000.
hotel_classstringNoFilter results by 2-star, 3-star, 4-star, or 5-star hotel class. Constraints: allowed values: 2, 3, 4, 5.
ratingstringNoFilter results by a minimum guest rating of 3.5+, 4.0+, or 4.5+. Constraints: allowed values: 7, 8, 9.
free_cancellationbooleanNoReturn only properties with free cancellation. Cannot be combined with price, class, rating, amenities, property type, or brand filters.
amenitiesarray of integerNoGoogle Hotels amenity IDs.
vacation_rentalsbooleanNoSearch vacation rentals instead of hotels.
eco_certifiedbooleanNoReturn only eco-certified hotels. Cannot be combined with other non-boolean filters.
special_offersbooleanNoReturn only properties with special offers. Cannot be combined with other non-boolean filters.
property_typesarray of integerNoGoogle Hotels property type IDs.
brandsarray of integerNoGoogle Hotels brand IDs.
bedroomsintegerNoMinimum bedrooms for vacation rental searches. Constraints: minimum 1; maximum 20.
bathroomsintegerNoMinimum bathrooms for vacation rental searches. Constraints: minimum 1; maximum 20.
next_page_cursorstringNoPagination cursor returned by a previous Google Hotels search response, in its next_page_token field.
property_idstringNoSpecific Google Hotels property ID, from the previous run's output field property_token or from Google Hotels autocomplete.

The older input names next_page_token and property_token still work. If both names are set, the new name wins.

Output example

The record below is synthetic. Names and links are examples, and private contact fields are omitted.

{
"name": "Juniper House Hotel",
"type": "Hotel",
"hotel_class": "4-star hotel",
"overall_rating": 4.6,
"reviews": 184,
"rate_per_night_lowest": "$184",
"rate_per_night_extracted_lowest": 184,
"total_rate_lowest": "$552"
}

Pricing

Current live price: $0.20 per 1,000 results.

Each saved hotel record counts as one result.

FAQ

This Actor is for information visible on the public source pages it reads. You are responsible for checking the source terms, privacy and copyright rules, and the laws that apply to your use.

How many records will a run return?

The result count depends on the input limits, pagination settings and what the source makes available. A small query or unavailable page can return fewer records, including none.

Can I call it through the API or connect it to other tools?

Yes. Send the same JSON input to POST https://api.apify.com/v2/acts/thescrappa~google-hotels-search-scraper/runs, then read the run’s default dataset. Make, Zapier and n8n can start runs and pass dataset rows to the next step; Google Sheets can receive rows through those workflows or a dataset export.

What happens when a request fails?

Check the run log for the source or input error, correct the input and retry after a temporary source issue. A run can contain rows saved before a later request failed.

Which dates should I use for Google Hotels?

Set check-in and check-out to future dates and include guest or room counts when needed.