Google Hotels Scraper: Prices & Booking Sites avatar

Google Hotels Scraper: Prices & Booking Sites

Pricing

from $3.00 / 1,000 hotel with booking-site prices

Go to Apify Store
Google Hotels Scraper: Prices & Booking Sites

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

Lean Pilar

Maintained by Community

Actor 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 noResults record, and a failed search a free error record with the reason.

Pricing

EventPrice
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 propertyToken from 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), vacationRentals or all.

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) and language (hl) under Advanced if you need another market.

Development

pip install -r requirements.txt -r requirements-dev.txt
python -m pytest tests

How the pages are read is documented in docs/spike.md.