Google Hotels Price Scraper - All Providers avatar

Google Hotels Price Scraper - All Providers

Pricing

from $2.50 / 1,000 hotel prices

Go to Apify Store
Google Hotels Price Scraper - All Providers

Google Hotels Price Scraper - All Providers

Every booking site's price for any hotel on Google Hotels: Booking.com, Expedia, Hotels.com, Agoda, the hotel's own site and more. Nightly and total prices with taxes, free cancellation, multi-date price calendars, any currency.

Pricing

from $2.50 / 1,000 hotel prices

Rating

0.0

(0)

Developer

ClearScrape

ClearScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Hotels Price Scraper: All Providers

Get every booking site's price for any hotel on Google Hotels: Booking.com, Expedia, Hotels.com, Agoda, Trip.com, Priceline, the hotel's own website and more (up to 37 providers per hotel in testing).

You get nightly and total prices with and without taxes, free-cancellation deadlines, sponsored flags and booking links. Scan whole date ranges in one run, in any currency and point of sale.

Why this one

  • Every provider, every date. One result per hotel and stay date, with all provider offers nested. You can also choose a flat row per provider for spreadsheets.
  • Price calendars:
    • dateRangeDays scans consecutive check-in dates; dateStepDays lets you scan the same weekday each week, and so on.
    • 200 hotel-dates took 20 seconds in testing.
  • Guests and currency:
    • 1 adult, 2 adults, or 1 adult + 1 child (see FAQ). Any ISO currency (USD, AUD, EUR…).
    • Country point of sale and interface language.
  • Rich hotel data:
    • Name, address, coordinates, Google place ID and entity ID.
    • Class, guest rating, review count and rating distribution.
    • Check-in and check-out times, business phone and website.
    • Lowest price and cheapest provider.
  • Reliable:
    • 100% of 300+ page requests succeeded in testing, with no blocks.
    • Retries with proxy-session rotation.
    • You are not charged for hotels with no prices (sold out or not listed).
  • Robots-friendly. The Actor only fetches Google Hotels hotel price pages, which Google's robots.txt allows. It never uses search pages.

Use cases

  • Rate shopping and parity monitoring for hotels and revenue managers: is an OTA undercutting your direct rate?
  • Travel apps and price-alert tools: a daily price calendar per hotel.
  • Market research: price levels by city, class and season.
  • OTA and metasearch competitive analysis: which providers appear, sponsored versus organic.

Input example

{
"hotels": [
"https://www.google.com/travel/hotels/entity/ChgI0fGbjr6-ptfAARoLL2cvMXRuMDV6NDkQAQ",
"ChkIh63AkqLM9JVxGg0vZy8xMWI3Z2tic3hsEAE"
],
"checkIn": "2026-11-20",
"nights": 2,
"dateRangeDays": 14,
"adults": 2,
"currency": "AUD",
"country": "au",
"outputMode": "hotel"
}

How to find a hotel's ID

The Actor looks hotels up by their Google Hotels entity ID: the part of the hotel's Google Hotels URL that starts with Ch. You can paste either the whole URL or just the ID.

  1. Go to google.com/travel/hotels and search for the city or the hotel, as you normally would.
  2. Click the hotel to open its page.
  3. Copy the URL from the address bar. It looks like https://www.google.com/travel/hotels/entity/ChgI0fGbjr6-ptfAARoLL2cvMXRuMDV6NDkQAQ?....
  4. Paste it into Hotels. Anything after the ID (/prices, /overview, ?q=...) is ignored.

Tips:

  • Entity IDs don't change, so collect them once and reuse them in scheduled runs.
  • The output includes each hotel's entityId, placeId and googleHotelsUrl, so you can keep a lookup table.
  • For many hotels, use Hotel URLs (list or file) to import a text file or Google Sheet.
  • The Actor does not search by city or hotel name. That would need Google's /travel/search pages, which robots.txt disallows.

Output example (nested mode, trimmed; the second offer is from another sample run)

{
"hotelName": "Courtyard by Marriott New York Queens/Fresh Meadows",
"entityId": "ChkIh63AkqLM9JVxGg0vZy8xMWI3Z2tic3hsEAE",
"placeId": "ChIJqyeftrNhwokRhxZQImLSK3E",
"address": "183-15 Horace Harding Expy, Fresh Meadows, NY 11365",
"latitude": 40.7403, "longitude": -73.7908,
"hotelClass": "3-star hotel", "starRating": 3,
"rating": 4, "reviewCount": 732,
"ratingDistribution": {"5": 387, "4": 169, "3": 60, "2": 23, "1": 93},
"checkInTime": "3:00 PM", "checkOutTime": "12:00 PM",
"checkIn": "2026-11-02", "checkOut": "2026-11-03", "nights": 1, "adults": 1,
"currency": "USD",
"lowestPricePerNight": 131.97, "lowestPricePerNightWithTaxes": 154.92,
"cheapestProvider": "Reserving", "providerCount": 32, "isAvailable": true,
"offers": [
{"provider": "Expedia.com", "isSponsored": true, "isOfficialSite": false,
"pricePerNight": 194.65, "pricePerNightWithTaxes": 226.84,
"totalPrice": 194.65, "totalPriceWithTaxes": 226.84,
"freeCancellation": null, "bookingUrl": "https://www.google.com/aclk?...",
"logoUrl": "https://www.gstatic.com/travel-hotels/branding/....png"},
{"provider": "Booking.com", "isSponsored": false, "pricePerNight": 207.3, "pricePerNightWithTaxes": 228.03,
"totalPriceWithTaxes": 456.06, "freeCancellation": true, "freeCancellationUntil": "18 Nov 2:00 pm",
"providerUrl": "https://www.booking.com/..."}
]
}

In flat mode (outputMode: "offer"), each row combines the hotel fields with one provider's offer.

Pricing (pay per event)

EventPrice
Hotel prices: one hotel × one date with all providers (nested mode)$0.0025 ($2.50 per 1,000)
Provider price row (flat mode)$0.0005 ($0.50 per 1,000 rows)
Actor start$0.00005 per GB of memory (set by Apify)

Hotels with no prices are returned free, with a priceNote. The run stops at your maximum cost per run.

FAQ

Which occupancies are supported? 1 adult, 2 adults, or 1 adult + 1 child (any age 0–17), so a maximum of 2 guests. For 3 or more guests, Google's hotel page includes only 0–5 providers instead of the usual 10–35; the rest load interactively. Rather than return incomplete prices, the Actor rejects 3+ guests with a clear message before anything is charged.

Why do prices differ from what I see? Prices depend on point of sale (country), currency, dates, occupancy and time. Set country to your market. Some providers show member-only or mobile-only rates that Google doesn't include.

What are sponsored offers? Paid placements, which link via google.com/aclk. They are flagged with isSponsored and can be excluded. Do not open aclk links in bulk or automatically: each visit can register as an ad click.

Do I need a proxy? No. By default the Actor connects directly: on the Apify platform, 200 hotel-dates took 43 s with 0 blocks, about 3× faster and cheaper than going through Apify datacenter proxy. If Google starts blocking, the Actor switches to Apify datacenter proxy by itself. Residential fallback is off by default because hotel pages are large (~340 KB compressed).

Can I search a city? No. Collect hotel URLs on google.com/travel/hotels (see How to find a hotel's ID), then price them here as often as you like.

Daily health check

The prefill input (one Wollongong hotel, default dates 30 days out) finishes in a few seconds. The same input with AUD is in test_inputs/00_selftest.json.

  • Robots.txt: the Actor only requests /travel/hotels/entity/<id>/prices, which Google's robots.txt allows. It never requests disallowed paths (/travel/search, /travel/entity, /hotels/rpc, click-tracking links) and never follows booking or ad-click links.
  • Google's Terms of Service restrict automated access to its services. You are responsible for lawful use.
  • Data collected is public business information: hotel names, addresses, business phone numbers, prices and ratings. No reviews, reviewer names or personal data are collected.
  • Prices are indicative and change constantly. Do not present them as bookable quotes.
  • Not affiliated with or endorsed by Google or any booking provider.