Google Hotels Scraper - Nightly Rates & OTA Price Comparison
Pricing
from $2.80 / 1,000 hotels
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
Maintained by CommunityActor 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
| name | class | rating | price / night | total for the stay | cheapest site | official site |
|---|---|---|---|---|---|---|
| Glint Paris | - | 4.5 | 61.06 | 72.99 | Booking.com 61 | 104 |
| Avre Hotel | 3 | 4.4 | 128.08 | 142.23 | KAYAK.com 128 | 140 |
| The Hoxton, Paris | 4 | 4.4 | 309.60 | 338.61 | Super.com 310 | - |
| Grand Hôtel du Palais Royal | 5 | 4.7 | 516.41 | 565.50 | Traveluro 516 | 685 |
| Four Seasons Hotel George V, Paris | 5 | 4.8 | 1937.06 | 2127.02 | Super.com 1937 | 2105 |
(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
- Type one or more destinations or hotel names ("Paris", "Hyatt Regency Paris Etoile").
- Choose check-in dates (
2026-12-24, or+30= 30 days from today, which keeps a daily schedule working forever), nights, guests and currency. - 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,previousPriceandpriceChangeare filled automatically on scheduled runs.changedSinceLastRunistruewhen the headline price or any booking-site price changed, so it can betruewhilepriceChangeis 0;priceChangeandpriceChangePercentcompare the headline price only. - Stable keys.
stayKey= hotel + dates + guests + currency, identical on every run, ready for upserts.
Settings
| Setting | What it does |
|---|---|
| Destinations or hotel names | Places or specific hotels, exactly as you would type them in Google Hotels |
| Check-in dates, Nights | Every destination is searched for every check-in date (1-30 nights; prices exist up to about 330 days ahead) |
| Adults, Children's ages | Prices are for this group (1-12 adults, ages 0-17) |
| Currency, Language, Country | USD, EUR, INR...; names/labels language; Google's country site |
| Max hotels per search | Hard cap per destination and date (1-500) |
| Include the price from each booking site | One extra request per hotel; switch off for a faster, cheaper run |
| Sort, Star ratings, Guest rating, Price range, Free cancellation, Special offers | Applied by Google itself (the price range applies to price, which may not include taxes: see "Prices and taxes" below) |
| Flag changes since the last run | Keeps the last prices in a storage in your account (name configurable) |
| Include vacation rentals / hotels without a price | Off by default |
| Proxy configuration | Datacenter proxies in the US by default; use the RESIDENTIAL group for another country (see below) |
Output fields
| Field | Meaning |
|---|---|
name, hotelId, propertyType | Hotel name; Google's stable id; hotel or vacation_rental |
hotelClass, hotelClassLabel, rating, reviewCount, reviewsByStars | Stars (null for hostels), guest rating, review counts per star |
address, latitude, longitude, countryCode | Location (address needs the booking-site option) |
description, websiteUrl, checkInTime, checkOutTime, thumbnailUrl, imageUrls | Details |
price, currency, priceDisplay | The average nightly price exactly as Google shows it. Whether it includes taxes depends on the proxy's country: see "Prices and taxes" below |
priceIncludesTaxesAndFees, priceBasis | true when price includes taxes and fees, false when it does not, null when Google gave no breakdown; priceBasis says the same in words |
totalPrice | The whole stay including taxes and fees (Google's breakdown total; if Google gives no breakdown it is price x nights) |
priceBase, priceTaxes, priceFees | Nightly room rate, taxes and fees; together they make totalPrice / nights |
dealText, dealPercent | Google's "17% less than usual" badge, when present |
offers[] | Per booking site: provider, price, isOfficialSite, isLowest, rank; cheapest first |
cheapestOffer, officialSiteOffer, offersCount, offersStatus | Shortcuts; ok, unavailable (Google lists none), failed, not_requested |
offersMatchHeadlinePrice | Cheapest booking site equals Google's headline price (some sites omit fees, so this can be false) |
checkIn, checkOut, nights, adults, childrenAges | The stay that was priced |
stayKey | Stable key: `hotelId |
changedSinceLastRun, previousPrice, priceChange, priceChangePercent | Difference 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, sortBy | Where the hotel came from and its rank in Google's list |
requestedLanguage, responseLanguage, languageFallback | Language bookkeeping |
scrapedAt | UTC timestamp |
Good to know
- Prices and taxes: check
priceIncludesTaxesAndFees.priceis 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:priceIncludesTaxesAndFeesistrueorfalse, andpriceBasissays it in words.totalPriceis the whole stay including taxes and fees, so use it (ortotalPrice/nights) when you need numbers that are comparable across runs and countries. The price range filter works onprice, not ontotalPrice. 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.