Google Hotels Scraper avatar

Google Hotels Scraper

Pricing

from $1.99 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper

Google Hotels Scraper

Google Hotels scraper, no API key. Hotel prices per night and total for any dates, ratings, reviews, stars, amenities, photos, GPS and prices from every booking site (Booking.com, Agoda, Expedia, official site). Dates never expire in schedules. $1.99 per 1,000 hotels.

Pricing

from $1.99 / 1,000 hotels

Rating

0.0

(0)

Developer

Quiet Harvest

Quiet Harvest

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape hotel prices from Google Hotels for any city and any dates. No API key, no login, no browser. You get the price per night and the total for the stay, taxes and fees, star class, guest rating and review counts, amenities, photos and GPS coordinates. You can also get the price on every booking site (Booking.com, Agoda, Expedia, Hotels.com, Trip.com, the hotel's own website and more), with the free-cancellation terms.

$1.99 per 1,000 hotels. Prices from every booking site add $0.99 per 1,000 hotels.


Why this one

Your dates never go stale. Google Hotels ignores the checkin/checkout URL parameters and quietly shows prices for other dates. This Actor sends the dates the way the Google Hotels page does, then checks them against the dates Google actually used. For scheduled runs, set Check-in in N days: a daily schedule with 14 always prices the stay two weeks ahead. If you pass a check-in date that is already in the past, the Actor moves it to today (same number of nights) and says so in date_note. It does not fail the run.

No results is not an error. A search with nothing to return finishes successfully with 0 items, and you pay nothing.

It keeps going when Google pushes back. Every page and every retry uses a fresh IP. If one location fails, the others still finish.

You only pay for what you keep. The minimum rating, minimum stars and maximum price filters run before anything is charged.


Quick start

{
"locations": ["Tokyo", "Paris"],
"checkInDate": "2026-11-20",
"checkOutDate": "2026-11-23",
"adults": 2,
"currency": "USD",
"maxResultsPerLocation": 100
}

Daily price monitoring (put this on a Schedule):

{
"locations": ["hotels near Times Square"],
"checkInDaysFromToday": 30,
"nights": 2,
"includeVendorPrices": true,
"minHotelClass": 4
}

A location can be a city, a neighborhood, a landmark or a full query such as hotels near Times Square. A plain place name is searched as hotels in <place>.

Output

One item per hotel:

FieldNotes
name, hotel_idhotel_id is Google's ID for the property
hotel_class, hotel_class_textStars, e.g. 4 / 4-star hotel. null for vacation rentals and hostels without a class
rating, review_countGuest rating out of 5
rating_distributionNumber of 5, 4, 3, 2 and 1 star reviews
price_per_night, price_per_night_textLowest price per night with taxes and fees
total_price, total_price_textFor the whole stay
base_price, taxes_and_feesTotal split into room rate and taxes/fees, when Google shows it
currency, check_in, check_out, nights, adultsThe stay these prices are for
date_noteSet when the dates were adjusted (past date) or Google used different dates
amenitiesAs shown on Google, e.g. Free Wi-Fi, Pool, Parking ($)
descriptionGoogle's one-line summary
latitude, longitude, country_code
check_in_time, check_out_timee.g. 3:00 PM
websiteThe hotel's own site
nearby_placesPlaces Google lists near the hotel, with travel times
thumbnail, imagesPhoto URLs
google_hotels_url, google_maps_url
location, search_query, positionWhich search found it, and its rank there

With Prices from every booking site on:

FieldNotes
vendor_pricesEvery offer, cheapest first: vendor, official_site, price_per_night (with taxes and fees), base_price_per_night (before taxes, when Google shows it), total_price, price_text, free_cancellation, conditions (for example Non-refundable, Breakfast not incl)
cheapest_vendor, cheapest_vendor_totalThe best deal at a glance

Example (shortened):

{
"name": "the b hachioji",
"hotel_class": 3,
"rating": 3.7,
"review_count": 926,
"price_per_night": 52,
"total_price": 155.99,
"currency": "USD",
"check_in": "2026-10-13",
"check_out": "2026-10-16",
"nights": 3,
"amenities": ["Free Wi-Fi", "Parking ($)", "Restaurant", "Kid-friendly"],
"cheapest_vendor": "Ikyu.com",
"vendor_prices": [
{"vendor": "Ikyu.com", "official_site": false, "price_per_night": 52, "total_price": 156, "free_cancellation": "Free cancellation until Oct 11"},
{"vendor": "the b hachioji", "official_site": true, "price_per_night": 58, "total_price": 173, "free_cancellation": "Free cancellation until Oct 10"}
]
}

Input

FieldDefault
locationsRequired. One search per line
checkInDate, checkOutDateYYYY-MM-DD. Leave empty to use the two fields below
checkInDaysFromToday14Used when checkInDate is empty
nights1Used when checkOutDate is empty. Up to 30
adults2
currencyUSDAny three-letter code Google supports
countryCodeusThe traveller's country. Booking sites and prices depend on it
maxResultsPerLocation20Up to 1,000. Google returns about 16 new hotels per page
includeVendorPricesfalseOne extra request per hotel
minRating, minHotelClass, maxPricePerNightHotels that don't match are skipped and not charged

Pricing

EventPrice
Hotel$1.99 per 1,000
Prices from every booking site$0.99 per 1,000 hotels (only charged when offers were found)

Example: a daily schedule tracking 50 competitor hotels with booking-site prices costs about $0.15 a day.

Good to know

  • Prices are what Google Hotels shows for the chosen currency and traveller country, including taxes and fees. Booking sites can change their prices at any time.
  • amenities is the list Google shows on the results page. The full amenity list on a hotel's own page can be longer.
  • For a query that does not match a real place, Google may still return hotels somewhere else. Check location and the coordinates.
  • Room-level rates (every room type) are not included, only the best offer from each booking site.

Questions

Found a bug or want a field added? Open an issue on the Issues tab.