Google Hotels Scraper: Prices, Booking Sites & Rate Calendar
Pricing
from $2.30 / 1,000 hotel results
Google Hotels Scraper: Prices, Booking Sites & Rate Calendar
Hotel prices from Google Hotels for any city or hotel and your dates, guests and currency: nightly and total price, rating, class, amenities, and optionally every booking site's price (Booking.com, Expedia, official site) for rate tracking.
Get hotel prices from Google Hotels for any city, landmark or specific hotel, for your dates, guests and currency. Each row is one hotel for one stay: nightly price, total price with taxes and fees, star class, guest rating, review count, amenities, location and a link that opens the same search on Google. Turn on one switch to also get every booking site's price for each hotel (Booking.com, Expedia, Agoda, Trip.com, the hotel's own website and more) with free-cancellation dates.
The Actor reads the same public data the Google Hotels page loads in your browser. No login, no browser, no proxies, so runs are fast and cheap: 20 hotels take about 4 seconds.
What you can do with it
| Goal | Input |
|---|---|
| List hotels in a city with prices | Places to search: Zurich, Paris, Lisbon |
| Hotels around a landmark | Times Square, Eiffel Tower, Colosseum |
| Compare booking sites for specific hotels | Specific hotels: a Google Hotels URL, its ID or the hotel's name with its city |
| Track a hotel's rate over the coming weeks | Specific hotel + Also check the next N check-in days = 29 → one row per check-in date |
| Market or competitor price checks | Places + filters (stars, rating, price, amenities) + a daily schedule |
What you get for each hotel
| Field | Example |
|---|---|
name, hotelClass, rating, reviewCount | Zurich Marriott Hotel, 5, 4.3, 3308 |
pricePerNight, totalPrice | 509.58, 1528.74 (including taxes and fees) |
totalPriceBeforeTaxes, taxesAndFees | 1442.94, 80.19 |
currency | USD, EUR, CHF, JPY … (you choose) |
deal | 20% less than usual (when Google shows one) |
checkIn, checkOut, nights, adults, children | 2026-12-10, 2026-12-13, 3, 2, 0 |
amenities | Free Wi-Fi, Indoor pool, Spa, Fitness center, Restaurant … |
latitude, longitude, website, checkInTime, checkOutTime, description, imageUrl | |
position | rank in Google's results for the search |
hotelId, googleHotelsUrl | Google's hotel ID and a link to the hotel for the same dates and guests |
input, resolvedLocation, searchUrl | your search, the place Google understood (e.g. "Zürich") and a link to the same search |
With booking-site prices (always on for Specific hotels, optional for place searches) each row also gets:
| Field | Example |
|---|---|
address, googlePlaceId | Neumühlequai 42, 8006 Zürich, Switzerland |
cheapestSite, cheapestSitePricePerNight | BusinessHotels.com, 507.71 |
officialSitePricePerNight | the hotel's own website price, when Google lists it |
bookingSiteCount | 19 |
bookingSites | one entry per site: site, pricePerNight, totalPrice, freeCancellation, freeCancellationUntil, isOfficialSite, url |
Example output
{"position": 1,"name": "Crowne Plaza Zurich by IHG","hotelClass": 4,"rating": 4.0,"reviewCount": 3937,"pricePerNight": 140.95,"totalPrice": 140.95,"totalPriceBeforeTaxes": 127.77,"taxesAndFees": 13.18,"currency": "USD","deal": "20% less than usual","latitude": 47.3803,"longitude": 8.5063939,"website": "https://www.ihg.com/crowneplaza/hotels/gb/en/zurich/zrhha/hoteldetail","checkInTime": "3:00 PM","checkOutTime": "12:00 PM","description": "Straightforward rooms & suites in a property with fine dining, a fitness center & meeting space.","amenities": ["Air conditioning", "Bar", "Fitness center", "Free Wi-Fi", "Indoor pool", "Restaurant", "Spa"],"hotelId": "ChgIlJqDrZWz4_afARoLL2cvMXRrNnA3Z3MQAQ","checkIn": "2026-11-14","checkOut": "2026-11-15","nights": 1,"adults": 2,"children": 0,"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/ChgIlJqDrZWz4_afARoLL2cvMXRrNnA3Z3MQAQ?hl=en&gl=us&ts=…","input": "Zurich","inputType": "search","resolvedLocation": "Zürich","searchUrl": "https://www.google.com/travel/search?q=Zurich&hl=en&gl=us&ts=…","scrapedAt": "2026-10-31T01:26:47Z"}
One entry of bookingSites:
{"site": "Trip.com","pricePerNight": 509.58,"totalPrice": 1528.74,"freeCancellation": true,"freeCancellationUntil": "2026-11-01","isOfficialSite": false,"url": "https://www.google.com/travel/lodging/clk?…"}
How to use it
- Add places under Places to search and/or hotels under Specific hotels.
- Set the check-in date, nights, adults, children's ages and currency.
- Optional: filters (price per night, minimum rating, star class, amenities, free cancellation) and Add every booking site's price.
- Click Start, then download the results as JSON, CSV or Excel, or connect them to Google Sheets, Make, Zapier, n8n or your own code via the API.
Example input
{"locations": ["Paris", "Eiffel Tower"],"hotels": ["Hotel Arts Barcelona"],"checkIn": "2026-12-10","nights": 2,"adults": 2,"childrenAges": ["8"],"currency": "EUR","hotelClass": ["4", "5"],"minRating": "4.0","maxPrice": 400,"includeBookingSites": true,"maxHotelsPerSearch": 50}
Rate calendar for your own hotel or competitors
Add the hotels under Specific hotels, set the first check-in date and Also check the next N check-in days. With N = 29 you get 30 rows per hotel, one per check-in date, each with every booking site's price and whether its rate has free cancellation. Schedule it daily to see how rates move.
Check-in date also accepts a number of days from today (e.g. 30), and an empty value means 14 days from today, so scheduled runs keep looking ahead instead of failing on a date in the past.
Use cases
- Hotel revenue management: watch your own and your competitors' rates on every booking site, and check rate parity between your website and the online travel agencies.
- Travel agencies and tour operators: price stays for groups and packages across many destinations and dates.
- Market research: average prices, star mix, ratings and deals by city, neighbourhood or season.
- Travel apps and content: fill hotel lists with current prices, ratings and links.
- Deal alerts: run daily with a maximum price and notify yourself when a hotel drops below it.
Pricing
You pay per hotel row saved. Rows with booking-site prices cost more than plain search rows because each needs an extra request. The exact prices per 1,000 rows are on the Pricing tab. Set a maximum cost per run in the run options and the Actor stops cleanly when it's reached.
Tips
- Places: type them as you would on Google Hotels: a city, district or landmark. Google's own wording works as a filter too, e.g.
5 star hotels in Rome. If a search likehotels near Xfinds nothing, the Actor retries once with justX. TheresolvedLocationfield and the run log show which place Google searched; a misspelled place can make Google fall back to a whole country. - Children: Google prices one room for the whole party. With two or more children many hotels have no room for everyone, so their price fields stay empty (in a Bangkok test with 2 adults and 2 children, 4 of 20 hotels had a price; with 1 child almost all did).
- Star class:
hotelClassis empty when Google shows no official star rating for a hotel. This is common in some countries (in our tests most hotels in Prague and Berlin had none) and for apartments and hostels. - No price: some hotels show "Check availability" on Google with no prices for some dates. Those rows still appear, with the price fields empty, so you can see the hotel was checked.
- Ranking: Google orders results with its own ranking, which changes slightly between requests. Use
maxHotelsPerSearch= 0 to get every hotel Google lists for a place. - Prices change by market: set Google country and Currency to match the market you are interested in.
- A SUMMARY record in the run's key-value store lists every search and hotel with hotels found, rows saved and any error.
FAQ
Is this allowed? The Actor reads the public hotel and price data Google Hotels shows to every visitor without logging in. It collects no personal data. Check your own use of the data against Google's terms.
Why are prices slightly different from what I see? Google personalises prices by country, currency, device and sometimes membership. Set the same currency and Google country you use in your browser, and compare with the googleHotelsUrl link, which opens the same dates and guests.
Something is missing or broken. Open an issue on the Issues tab with your input and I'll look at it.
This Actor is not affiliated with Google.