Google Hotels Scraper - Nightly Rates & OTA Price Comparison avatar

Google Hotels Scraper - Nightly Rates & OTA Price Comparison

Pricing

from $2.80 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper - Nightly Rates & OTA Price Comparison

Google Hotels Scraper - Nightly Rates & OTA Price Comparison

Hotel rates from Google Hotels for any city or hotel, by date, guests and currency - with the price from Booking.com, Expedia, Agoda, the hotel's own site and more for every hotel.

Pricing

from $2.80 / 1,000 hotels

Rating

5.0

(2)

Developer

Mitul Kheni

Mitul Kheni

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Get hotel prices from Google Hotels for any city or hotel as a spreadsheet: the nightly rate for your dates, guests and currency, plus what Booking.com, Expedia, Agoda, the hotel's own site and other booking sites charge for the same stay. No coding, no browser, no login.

What you can do with this

  • Rate-shop competitors every day and see exactly which hotels changed price since yesterday
  • Compare booking sites for one hotel: who is cheapest, and how much more the official site costs
  • Build a price history per hotel and stay, with a stable key that never changes between runs
  • Feed a spreadsheet, dashboard or alert with clean rows: price per night, taxes and fees split out, ratings, location

What you get

nameclassratingprice / nighttotal for the staycheapest siteofficial site
Glint Paris-4.561.0672.99Booking.com 61104
Avre Hotel34.4128.08142.23KAYAK.com 128140
The Hoxton, Paris44.4309.60338.61Super.com 310-
Grand Hôtel du Palais Royal54.7516.41565.50Traveluro 516685
Four Seasons Hotel George V, Paris54.81937.062127.02Super.com 19372105

(real output through the default US proxy, Paris, 1 night, 2 adults, USD; there price / night is the price Google shows, without taxes, and total for the stay includes taxes and fees - see "Prices and taxes" below) - every hotel also has its full list of booking sites, address, coordinates, photos, tax/fee breakdown, review counts and more. Download as Excel, CSV, JSON or pull it through the API.

How to use it

  1. Type one or more destinations or hotel names ("Paris", "Hyatt Regency Paris Etoile").
  2. Choose check-in dates (2026-12-24, or +30 = 30 days from today, which keeps a daily schedule working forever), nights, guests and currency.
  3. Set Max hotels per search to control your cost, then click Start.

Pricing

$3.50 per 1,000 hotels - you pay per hotel saved, not per booking site and not per page. A 20-hotel search costs about 7 cents. Every run also pays Apify's standard start fee of $0.00005 per GB of memory (the default 1 GB run pays $0.00005, which is $0.05 per 1,000 runs). Hotels that Google shows without a price are not returned (and not charged) unless you ask for them. If the run's spending limit is reached, it stops cleanly and never charges past it.

What makes the data trustworthy

  • Exact dates, currency, guests. Every response is checked against what you asked for. If Google silently moves your dates, switches the currency or prices different guests, you get a clear error for that search - never wrong data.
  • No "close enough" hotels. If your filters match nothing you are told which filters to loosen, not shown unrelated results.
  • Honest empties. A run that finds nothing explains why (unknown place, no prices for these dates, language problem...) instead of finishing silently empty.
  • Changes since last run. changedSinceLastRun, previousPrice and priceChange are filled automatically on scheduled runs. changedSinceLastRun is true when the headline price or any booking-site price changed, so it can be true while priceChange is 0; priceChange and priceChangePercent compare the headline price only.
  • Stable keys. stayKey = hotel + dates + guests + currency, identical on every run, ready for upserts.

Settings

SettingWhat it does
Destinations or hotel namesPlaces or specific hotels, exactly as you would type them in Google Hotels
Check-in dates, NightsEvery destination is searched for every check-in date (1-30 nights; prices exist up to about 330 days ahead)
Adults, Children's agesPrices are for this group (1-12 adults, ages 0-17)
Currency, Language, CountryUSD, EUR, INR...; names/labels language; Google's country site
Max hotels per searchHard cap per destination and date (1-500)
Include the price from each booking siteOne extra request per hotel; switch off for a faster, cheaper run
Sort, Star ratings, Guest rating, Price range, Free cancellation, Special offersApplied by Google itself (the price range applies to price, which may not include taxes: see "Prices and taxes" below)
Flag changes since the last runKeeps the last prices in a storage in your account (name configurable)
Include vacation rentals / hotels without a priceOff by default
Proxy configurationDatacenter proxies in the US by default; use the RESIDENTIAL group for another country (see below)

Output fields

FieldMeaning
name, hotelId, propertyTypeHotel name; Google's stable id; hotel or vacation_rental
hotelClass, hotelClassLabel, rating, reviewCount, reviewsByStarsStars (null for hostels), guest rating, review counts per star
address, latitude, longitude, countryCodeLocation (address needs the booking-site option)
description, websiteUrl, checkInTime, checkOutTime, thumbnailUrl, imageUrlsDetails
price, currency, priceDisplayThe average nightly price exactly as Google shows it. Whether it includes taxes depends on the proxy's country: see "Prices and taxes" below
priceIncludesTaxesAndFees, priceBasistrue when price includes taxes and fees, false when it does not, null when Google gave no breakdown; priceBasis says the same in words
totalPriceThe whole stay including taxes and fees (Google's breakdown total; if Google gives no breakdown it is price x nights)
priceBase, priceTaxes, priceFeesNightly room rate, taxes and fees; together they make totalPrice / nights
dealText, dealPercentGoogle's "17% less than usual" badge, when present
offers[]Per booking site: provider, price, isOfficialSite, isLowest, rank; cheapest first
cheapestOffer, officialSiteOffer, offersCount, offersStatusShortcuts; ok, unavailable (Google lists none), failed, not_requested
offersMatchHeadlinePriceCheapest booking site equals Google's headline price (some sites omit fees, so this can be false)
checkIn, checkOut, nights, adults, childrenAgesThe stay that was priced
stayKeyStable key: `hotelId
changedSinceLastRun, previousPrice, priceChange, priceChangePercentDifference to the previous run for the same stayKey (null = first time). changedSinceLastRun is true if the headline price or any booking-site price changed; priceChange / priceChangePercent are for the headline price only
searchQuery, destinationName, position, page, sortByWhere the hotel came from and its rank in Google's list
requestedLanguage, responseLanguage, languageFallbackLanguage bookkeeping
scrapedAtUTC timestamp

Good to know

  • Prices and taxes: check priceIncludesTaxesAndFees. price is the nightly price exactly as Google shows it, and what it contains depends on the country Google sees. With the default US proxy it is usually the room rate plus mandatory fees and does not include taxes (for example a Paris hotel: 128.08 per night, 142.23 for the stay with taxes); in our test from an Indian IP it included taxes, and other countries were not tested. Every row says which case it is: priceIncludesTaxesAndFees is true or false, and priceBasis says it in words. totalPrice is the whole stay including taxes and fees, so use it (or totalPrice / nights) when you need numbers that are comparable across runs and countries. The price range filter works on price, not on totalPrice. Booking-site prices are per night, shown to the whole currency unit, and some sites leave out taxes or fees.
  • Which booking sites appear depends on the proxy country, not on the Country field: US proxies list US sites (Booking.com, Expedia...), other countries list local ones. The default - Apify datacenter proxies in the US - is the cheapest and was not blocked in our tests. Datacenter pools do not cover every country: in our tests only the US had datacenter IPs, and asking for another country stopped the run at once with PROXY_ERROR ("no usable proxies from country ..."). For another market's booking sites select the RESIDENTIAL proxy group in Proxy configuration (more expensive: roughly 70 MB of proxy traffic per 1,000 hotels with booking-site prices).
  • About 200-250 hotels per search is the most Google exposes (a search for Paris stops around 190-245 hotels). To cover a bigger area, split it with star ratings or price ranges. Sorting by Lowest price gives the most stable lists.
  • Some destination + language pairs return nothing at Google (e.g. "Paris" in Spanish). The Actor retries in English and marks those rows languageFallback: true.
  • Stays are limited to 30 nights and check-in to about 330 days ahead - Google has no prices beyond that.
  • Amenity lists are not included (Google does not expose their labels). Vacation rentals are experimental and have no booking-site list.

Support

Found a problem or a missing field? Open an issue on the Issues tab - issues are answered within 24 hours on weekdays (Monday to Friday; weekends are excluded). When Google changes its response format, the fix is made as soon as possible. Need a custom field, a different destination type or a scheduled export? Ask for custom work on the profile.

Notes

This Actor reads only publicly visible hotel names, locations, ratings and prices - no login, no personal data. It requests a single data endpoint, checks Google's robots.txt at the start of every run and stops if that endpoint is ever disallowed.

If Google ever changes its response format, the Actor stops instead of guessing prices, and keeps a copy of the answer that confused it in the run's key-value store (the records FAILURE_SAMPLE_1 and FAILURE_SAMPLE_1_BODY, at most 3 per run, only when something like this happens). Attach them when you report the problem and the fix is much faster. They contain only Google's answer and your search settings.

Responsible use

  • Independent tool, not affiliated with Google. "Google" and "Google Hotels" are trademarks of Google LLC. This Actor is not endorsed by, or connected to, Google or any hotel or booking site.
  • The data belongs to others. Hotel names, descriptions, photos and prices originate with hotels and booking sites (shown via Google Hotels). You are responsible for having the right to use them for your purpose, for example before you publish photos or descriptions or resell the data.
  • You are responsible for how you use the Actor and its data, including the laws that apply to you and the terms of the services involved. The Actor checks robots.txt, never logs in and does not solve CAPTCHAs, but that does not replace your own compliance check.
  • Prices are a snapshot, not an offer. They are what Google showed when the request was made, for the dates and guests you chose. Availability and the final price on the booking site can differ, so check before you book or quote.