Google Hotels Rate Shopper — Compare OTA Prices & Rate Parity avatar

Google Hotels Rate Shopper — Compare OTA Prices & Rate Parity

Pricing

from $0.69 / 1,000 hotel rate comparisons

Go to Apify Store
Google Hotels Rate Shopper — Compare OTA Prices & Rate Parity

Google Hotels Rate Shopper — Compare OTA Prices & Rate Parity

Compare a hotel's price on every booking site Google Hotels shows (Booking.com, Expedia, Hotels.com, Trip.com, official site…) for your dates. Cheapest seller, taxes & fees, free cancellation and rate-parity gaps.

Pricing

from $0.69 / 1,000 hotel rate comparisons

Rating

0.0

(0)

Developer

Cleancut Data

Cleancut Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

See what every booking site charges for the same hotel and dates — Booking.com, Expedia, Hotels.com, Trip.com, Priceline, Agoda, the hotel's official website and dozens more — exactly as Google Hotels shows them. Get the cheapest seller, totals with taxes & fees, free-cancellation deadlines and rate-parity gaps for any list of hotels and dates.

Who is it for?

  • 🏨 Hotel revenue managers — rate shopping for your property and your comp set, daily or for key dates (holidays, events).
  • 🔍 Rate-parity monitoring — catch OTAs selling below your official rate (cheapestVsOfficialSitePercent).
  • 🧳 Travel agencies, TMCs & travel apps — find the cheapest place to book a specific hotel.
  • 📊 Analysts & researchers — price dynamics across sellers, nights ahead and seasons.

Features

  • Every seller in one row: name, price per night and total, with and without taxes, all-in flag and free cancellation (with deadline when Google's date is consistent with your stay; the raw text is kept in freeCancellationRaw).
  • Summary metrics: cheapest seller & total, most expensive seller, price spread %, official-site price and whether it's the cheapest.
  • Stay breakdown: base, taxes, fees and total for Google's lead rate.
  • Date scanning: give one date and scanDays: 30 to get a month of daily prices per hotel.
  • Guests & currency: adults, children's ages, any currency, point-of-sale country.
  • Hotel profile included: stars, rating, reviews, address, phone, website, coordinates, check-in/out times, amenities, photo, place ID.
  • Date validation built-in: Google silently falls back to default dates when it can't price a stay; this Actor checks Google's echo and reports DATES_NOT_PRICED instead of giving you a wrong price.

How to add hotels

Any of these work in Hotels:

InputExample
Google Hotels linkhttps://www.google.com/travel/hotels/entity/ChoIt63CuaSrqoq0ARoNL2cvMTFmMXN3NzY5dxAB
Google Maps link of the hotelhttps://www.google.com/maps/place/…/data=…!1s0x5370ca3b2e2fb8bf:0x99e9a92cf4f6ce…
Google place IDChIJv7gvLjvKcFMRzvb0LKnpmQA
Maps CID43322584249726670 or https://maps.google.com/?cid=43322584249726670

Need a whole city? Run a Google Maps scraper for “hotels in

Input example

{
"hotels": [
"https://www.google.com/travel/hotels/entity/ChoIt63CuaSrqoq0ARoNL2cvMTFmMXN3NzY5dxAB",
"ChIJv7gvLjvKcFMRzvb0LKnpmQA"
],
"checkInDates": ["2026-12-31"],
"nights": 2,
"scanDays": 0,
"adults": 2,
"currency": "USD",
"country": "us",
"includeOffers": true
}

Output example

{
"status": "ok",
"hotelName": "Fairmont Banff Springs",
"checkIn": "2026-12-31",
"checkOut": "2027-01-02",
"nights": 2,
"currency": "USD",
"cheapestSeller": "Fairmont Banff Springs",
"cheapestTotal": 3344.33,
"mostExpensiveSeller": "Qantas Hotels",
"priceSpreadPercent": 189.44,
"officialSiteTotal": 3344.33,
"officialSiteIsCheapest": true,
"cheapestVsOfficialSitePercent": 0,
"freeCancellationSellers": ["Closest Hotel", "Luxury Escapes", "Expedia.com", "Orbitz.com", "Travelocity.com", "CheapTickets.com", "eDreams", "Tripadvisor.com", "Bluepillow.com", "Priceline", "Booking.com"],
"offersCount": 15,
"offers": [
{
"seller": "Expedia.com",
"partnerId": "89",
"isOfficialSite": false,
"priceBasis": "split",
"pricePerNight": 4352.5,
"pricePerNightWithTaxes": 4825.5,
"totalPrice": 8705,
"totalPriceWithTaxes": 9651,
"freeCancellation": true,
"freeCancellationUntil": null,
"freeCancellationRaw": "Jun 14 6:00 PM"
}
],
"hotelClass": 5,
"rating": 4.7,
"reviewsCount": 17766,
"address": "405 Spray Ave, Banff, AB T1L 1J4, Canada",
"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/CgkIzu3T55K1-kwQAQ?hl=en&gl=us&ts=…"
}

priceBasis: "all-in" marks sellers that only publish one figure (taxes and fees included); they are compared on the with-taxes basis.

Output views

The Output tab (and the API, with ?view=) offers ready-made tables:

ViewWhat you get
Rate comparisonOne row per hotel and date: cheapest seller, official site, parity gap, spread
Offers by sellerOne row per booking site, cheapest first: the rate-parity table
Rate parityOfficial website against the cheapest seller, with free-cancellation sellers
Stay price breakdownBase, taxes, fees and total for the stay
Hotel detailsStars, rating, reviews, contact, location, check-in times, amenities
Errors (free)Why a hotel or date could not be priced

Every field is documented in the dataset schema (type, description and example). A run summary is saved as SUMMARY in the key-value store.

Errors (free)

errorCodeMeaning
DATES_NOT_PRICEDGoogle could not price those dates (past, > ~330 days, > 30 nights) and fell back to other dates
UNKNOWN_HOTELThe link/ID is not a hotel Google Hotels knows
INVALID_HOTEL_REFERENCEThe input could not be understood
CONSENT_REQUIREDGoogle showed an EU cookie page — use a US proxy
BLOCKED / RATE_LIMITEDGoogle throttled the requests — lower parallelism or use RESIDENTIAL proxy

Pricing

Pay per event — one charge per hotel × check-in date, with every seller included (no extra charge per offer). Errors are free.

Your Apify planPrice per 1,000 hotel × date results
Free$0.99
Starter (Bronze)$0.89
Scale (Silver)$0.79
Business (Gold) and above$0.69

Plus Apify's standard start fee of $0.00005 per run. Example: your hotel + 9 competitors, every day for the next 30 days = 300 results ≈ $0.21–$0.30. Cap spending with Max results in total or the run's maximum cost.

Responsible scraping

This Actor only reads Google Hotels hotel pages (/travel/hotels/entity/…), which google.com/robots.txt allows. It never requests the disallowed search (/travel/search) or click-out (/travel/clk) paths, and it never follows redirects to them.

FAQ

Can I search a whole city? Not directly (Google's hotel search pages are disallowed by robots.txt). Use a Google Maps scraper to get the hotels' place IDs and paste them here.

Why is the official site sometimes much cheaper or pricier? Sellers can quote different room types or rate plans (e.g. non-refundable). Use the offer list to inspect each seller.

How many rooms? One room per query (Google Hotels' default).

Changelog

  • 0.2 — Cleaner input with sections, children's ages as a simple list, 6 output views (offers by seller, rate parity, stay breakdown, hotel details, errors) and a fully documented output schema.
  • 0.1 — First release: OTA price comparison, rate-parity metrics, date scanning, guests & currency, hotel profile.

More from Cleancut Data

  • 🎬 YouTube Transcript Scraper: transcripts in bulk from videos, channels, playlists and search, with SRT/VTT, AI-ready chunks, likes and publish dates.
  • ✈️ Google Flights Cheapest Fares: the cheapest Google Flights fare per route and date, the cheapest day of the month and price-drop alerts. Pair it with this Actor for flight + hotel quotes.