Google Hotels Scraper: Prices & Booking Sites
Pricing
from $3.00 / 1,000 hotel with booking-site prices
Google Hotels Scraper: Prices & Booking Sites
Get hotel prices from Google Hotels for any city, dates and guests: nightly and total price with taxes, rating, reviews, stars, amenities, location, plus every booking site's price (Booking.com, Expedia, Agoda, hotel website) with links. Pay only for hotels delivered.
Pricing
from $3.00 / 1,000 hotel with booking-site prices
Rating
0.0
(0)
Developer
Lean Pilar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Google Hotels Scraper: hotel prices and every booking site's rate
Get hotel prices from Google Hotels for any city, area or hotel, for your own dates and guests. Optionally add the price and link of every booking site Google compares: Booking.com, Expedia, Agoda, Hotels.com, Trip.com, Priceline, the hotel's own website and more. You only pay for hotels delivered.
What you get
For each hotel:
- Name, type (hotel or vacation rental), star class, rating, review count and rating breakdown
- Price per night and total for your stay, with and without taxes and fees, in your currency
- Google's deal label ("35% less than usual"), amenities, description, check-in and check-out time
- Location: latitude, longitude, nearby places and airports with travel times, Google Maps link
- Website, photos, and the Google Hotels link for your dates
- With booking-site prices on:
- one entry per site: price per night and stay total with and without taxes, free-cancellation date where Google shows it, whether it's the hotel's own site, and the direct booking link
- the hotel's address and phone
Why this scraper
- Reliable. It reads the data Google Hotels embeds in its pages, without a browser. In our tests 1,758 requests succeeded on the first try, also with several runs in parallel.
- Your dates, guests and currency. Check-in and check-out, adults, children with ages, any currency.
- Hotels and vacation rentals kept apart. Google mixes them; choose hotels, rentals or both.
- Never silently empty. A search with no hotels gives a free
noResultsrecord, and a failed search a freeerrorrecord with the reason.
Pricing
| Event | Price |
|---|---|
| Hotel from the results list | $1.50 per 1,000 ($0.0015 each) |
Hotel with every booking site's price (includeOffers: true, or a hotel link) | $3.00 per 1,000 ($0.003 each) |
Records with status noResults or error are never charged. Platform usage is included.
Input example
{"queries": ["hotels in Rome", "Hilton London Paddington"],"checkIn": "2026-12-04","checkOut": "2026-12-06","adults": 2,"childrenAges": ["8"],"currency": "EUR","maxResultsPerQuery": 50,"includeOffers": true}
- queries: what you would type into Google Hotels: a city, area or hotel name.
- hotelUrls: Google Hotels links of specific hotels (or the
propertyTokenfrom an earlier run). Each returns that hotel with every booking site's price. Good for daily price monitoring. - checkIn / checkOut: empty means 14 days from today, one night.
- maxResultsPerQuery: about 20 hotels per Google page; up to 1,000.
- propertyType:
hotels(default),vacationRentalsorall.
Output example
{"query": "hotels in Paris","position": 1,"status": "ok","name": "Hôtel Europe Saint-Séverin","type": "hotel","hotelClass": 3,"rating": 4.4,"reviewCount": 1465,"pricePerNight": 94.75,"pricePerNightWithTaxes": 107.08,"totalPrice": 94.75,"totalPriceWithTaxes": 107.08,"currency": "USD","checkIn": "2026-10-29","checkOut": "2026-10-30","dealText": "48% less than usual","amenities": ["Breakfast ($)", "Free Wi-Fi", "Air conditioning", "Parking"],"address": "38-40 Rue Saint-Séverin, 75005 Paris, France","offers": [{"source": "Hôtel Europe Saint-Séverin", "isOfficialSite": true, "pricePerNight": 94.75,"pricePerNightWithTaxes": 107.08, "totalPriceWithTaxes": 107.08, "url": "https://..."},{"source": "Booking.com", "isOfficialSite": false, "pricePerNight": 116.54,"pricePerNightWithTaxes": 140.52, "totalPriceWithTaxes": 140.52, "url": "https://www.booking.com/..."}],"propertyToken": "ChcIrKbyyLe3_JMHGgsvZy8xdGZybG5kMhAB","googleHotelsUrl": "https://www.google.com/travel/hotels/entity/ChcIrKbyyLe3_JMHGgsvZy8xdGZybG5kMhAB?..."}
The dataset has two views: Overview (one row per hotel) and Booking sites (one row per hotel and site).
Good to know
- Google re-ranks results between pages, so the order can shift a little; each hotel appears once.
- Searches with children get fewer booking sites, because many sites don't price child stays.
- Some hotels show no price for your dates (
available: false). They are still listed. - Prices are what Google shows to a US visitor by default. Change
country(gl) andlanguage(hl) under Advanced if you need another market.
Development
pip install -r requirements.txt -r requirements-dev.txtpython -m pytest tests
How the pages are read is documented in docs/spike.md.