Google Travel Hotel Rate Tracker - OTA Prices for Every Night avatar

Google Travel Hotel Rate Tracker - OTA Prices for Every Night

Pricing

from $1.00 / 1,000 offers

Go to Apify Store
Google Travel Hotel Rate Tracker - OTA Prices for Every Night

Google Travel Hotel Rate Tracker - OTA Prices for Every Night

Track Google Travel hotel prices for many stay dates: give hotel URLs or names and check-in dates, get every booking site's offer per date with nightly price, stay total, cheapest-offer flag and gap vs the hotel's own site for rate shopping and parity checks. $1 per 1,000 offers; errors are free.

Pricing

from $1.00 / 1,000 offers

Rating

0.0

(0)

Developer

Tenfold Fleet

Tenfold Fleet

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

What does Google Travel Hotel Rate Tracker do?

Google Travel Hotel Rate Tracker follows one hotel, or a short list of hotels, across many stay dates and returns every booking site's price for each night. Give it a hotel's Google Travel link (or its name) and a date range, and you get one row per offer: the booking site (Booking.com, Expedia, Agoda, Trip.com, the hotel's own website and many smaller OTAs), the nightly price, the stay total, a flag on the cheapest offer of the date, a flag on the hotel's own website, and how far each offer sits above or below the hotel's own rate.

It reads the public price list that Google Travel shows for a hotel, over plain HTTP with no browser, no login and no cookies. A two-week rate calendar for one hotel takes a few seconds. Use it in the Apify Console, on a schedule, or as a Google Travel hotel prices API from your code, Make, Zapier, n8n or an AI agent.

Not affiliated with, endorsed by or sponsored by Google. Google Travel is a trademark of Google LLC. Hotel business data only: hotel names, addresses and public room prices.

How it differs from a Google Hotels search scraper: a search scraper takes a city and returns a list of hotels with one price each. This Actor takes hotels you already know and returns the full offer list for every stay date, which is what rate shopping, rate-parity checks and revenue reports need.

Why use this hotel rate tracker?

  • 📅 Rate calendars: price a hotel for every check-in date of the next 14, 30 or 180 days in one run, or for an exact list of dates (every Friday, a trade-fair week, New Year's Eve).
  • ⚖️ Rate parity checks: isOfficialSite, officialSiteNightlyPrice and diffVsOfficialPct show at a glance which booking sites undercut the hotel's own website, and by how much.
  • 🏨 Competitor rate shopping: put your hotel and 5-10 competitors in one run and compare the lowest rate per night (isLowestForDate, priceRank).
  • 📈 Price history: schedule the same input daily and append the rows to a sheet or database to see how prices move as the stay date gets closer.
  • 💸 Pay only for real offers: sold-out dates, unresolved names, dates Google won't price and blocked pages are returned as free rows with an error field.

What data can it extract?

FieldExample
hotelName, entityId, hotelUrlHotel Adlon Kempinski Berlin, ChUI2f3tmL_9t_IZGgkvbS8wOG1mdzIQAQ, Google Travel link
checkIn, checkOut, nights, adults2026-12-03, 2026-12-04, 1, 2
providerBooking.com, Expedia, Hotel Adlon Kempinski Berlin (the hotel's own site)
isOfficialSitetrue for the hotel's or chain's own website
nightlyPrice, totalPrice, currency350.89, 350.89, USD (total = the whole stay)
isLowestForDate, priceRanktrue, 1 (1 = cheapest offer for that hotel and date)
offerRankposition in Google's own list (featured offers and the hotel's own site come first)
officialSiteNightlyPrice, diffVsOfficialPct403.08, -13 (13% below the hotel's own rate)
offersForDatehow many booking sites priced this date
bookingLinkGoogle's click-through link to the offer
hotelStars, hotelRating, hotelReviewCount, hotelAddress5, 4.6, 2383, Unter den Linden 77, 10117 Berlin, Germany
hotelInput, scrapedAtwhat you typed, and when the price was read

How to track hotel prices on Google Travel

  1. Open the hotel on Google Travel (google.com/travel/hotels) and copy the address bar. It looks like https://www.google.com/travel/hotels/entity/ChUI.... (A hotel name also works, see Tips.)
  2. Click Try for free (or Start) on this page and paste one or more hotels into Hotels.
  3. Set the first check-in date and the number of check-in dates, or fill in Exact check-in dates.
  4. Choose nights per stay and the currency.
  5. Optional: set Max offers per date to keep only the cheapest few booking sites per date and cap the cost.
  6. Click Start. Download the offers as JSON, CSV, Excel or HTML, or read them through the Apify API. To track prices over time, save the input as a task and add a daily schedule.

How much does it cost?

This Actor uses pay-per-event pricing, the same on every Apify plan:

EventPrice
Offer (one booking site's price for one hotel and one stay date)$1 per 1,000 offers ($0.001 each)
Run start$0.00005 per run

A hotel shows about 15-30 offers per date. Examples: one hotel for 14 dates is about 280 offers, about $0.28. Ten hotels for 30 dates is about 6,000 offers, about $6. With Max offers per date set to 5, the same ten hotels for 30 dates cost at most $1.50. On the Apify free plan, the $5 monthly credit covers about 4,900 offers.

Free of charge: hotel names that can't be matched, duplicate hotels, sold-out dates, dates in the past or too far ahead, and pages Google blocks. Set a maximum cost per run and the Actor stops when it reaches it.

Input

{
"hotels": [
"https://www.google.com/travel/hotels/entity/ChUI2f3tmL_9t_IZGgkvbS8wOG1mdzIQAQ",
"Park Hyatt Tokyo"
],
"startDate": "2026-12-01",
"days": 14,
"nights": 1,
"currency": "USD",
"maxOffersPerDate": 0
}

Or price exact dates instead of a range:

{
"hotels": ["ChUI2f3tmL_9t_IZGgkvbS8wOG1mdzIQAQ"],
"dates": ["2026-12-04", "2026-12-11", "2026-12-18", "2026-12-31"],
"nights": 2,
"currency": "EUR"
}

Output

Each booking-site offer for each hotel and date is one row. You can download the dataset as JSON, CSV, Excel, XML or HTML.

{
"hotelName": "Hotel Adlon Kempinski Berlin",
"entityId": "ChUI2f3tmL_9t_IZGgkvbS8wOG1mdzIQAQ",
"hotelUrl": "https://www.google.com/travel/hotels/entity/ChUI2f3tmL_9t_IZGgkvbS8wOG1mdzIQAQ",
"checkIn": "2026-12-03",
"checkOut": "2026-12-04",
"nights": 1,
"adults": 2,
"provider": "Traveluro",
"isOfficialSite": false,
"nightlyPrice": 350.89,
"totalPrice": 350.89,
"currency": "USD",
"offerRank": 2,
"priceRank": 1,
"isLowestForDate": true,
"officialSiteNightlyPrice": 403.08,
"diffVsOfficialPct": -13,
"offersForDate": 28,
"bookingLink": "https://www.google.com/travel/lodging/clk?pc=...",
"hotelStars": 5,
"hotelRating": 4.6,
"hotelReviewCount": 2383,
"hotelAddress": "Unter den Linden 77, 10117 Berlin, Germany",
"hotelInput": "Hotel Adlon Kempinski Berlin",
"scrapedAt": "2026-10-23T11:40:58.007Z"
}

A date with no offers, a name that can't be matched or a blocked page adds one free row such as {"hotel": "...", "checkIn": "2026-12-03", "error": "No booking-site offers for this stay (sold out, or a minimum stay longer than 1 night)."}, so you can see what to retry.

Tips

  • Hotel URLs are the reliable input. A name is looked up on Google Travel and then checked against the hotel Google picked (word order and the city in the address are allowed for). If it looks like a different hotel, a city ("Paris", "Paris hotels") or a bare chain name ("Marriott"), you get a free error row with the hotel Google suggested, and nothing is charged. Paste the URL instead.
  • Any Google Travel hotel link works, with or without a city in the path (/travel/hotels/London/entity/...). The same hotel given twice (as a URL and a name) is priced and charged once.
  • Booking sites depend on where the request comes from. By default the Actor runs on Apify servers in the USA, so you see the offers a US traveller sees. To check another market, pick a proxy country under Proxy.
  • Prices are for 2 adults, Google's default room occupancy.
  • totalPrice is the price for the whole stay as Google shows it (for 1 night it equals the nightly price). Whether taxes and fees are included depends on the country Google prices for.
  • Booking links expire. bookingLink is Google's click-through link for that search; open it soon after the run, or open hotelUrl later.
  • Minimum stays: some hotels sell only 2-3 night stays on busy dates. A 1-night search then returns a free "no offers" row; try nights: 2 or 3.
  • Google prices stays up to about 11 months ahead. A date in the past or beyond that window returns a free error row, never another date's prices.
  • If Apify reports a concurrent-run limit when you start many runs at once, wait 60 seconds and start the run again.

Use it with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through Apify's MCP server: add https://mcp.apify.com?tools=tenfoldfleet/google-travel-hotel-rate-tracker as a remote MCP server and sign in with your Apify account. The agent fills in the input, runs the Actor and reads the results itself; you pay the same per-event price as a normal run.

FAQ

Do I need a Google account, an API key or cookies?

No. The Actor reads the public prices Google Travel shows to any visitor. It needs no login, no cookies and no API key.

How many booking sites does it return?

Everything Google lists for that hotel and date, usually 15-30 for a well-known city hotel and fewer for small or sold-out properties. A low count is real data (for example, most sites sold out), not an error.

Can I track several hotels in one run?

Yes. Add as many hotels as you like; every hotel is priced for every date. Duplicate dates are removed.

Can I choose the number of guests or rooms?

Not yet. Google's price list is read for 2 adults in one room. Use nights for the stay length.

How do I build a price history?

Save your input as a task and schedule it daily. Each run adds rows with scrapedAt, so you can chart how a date's price changes as it gets closer.

Is the cheapest price always the one to book?

isLowestForDate marks the lowest price in the list. Small OTAs sometimes win by a few cents; compare priceRank with isOfficialSite and the provider before you decide.

Disclaimer

This Actor collects public hotel prices that Google Travel shows without a login. It does not collect personal data. Prices change often and can differ from what a booking site shows at checkout. Check the provider's terms before you republish their prices.

More tools from Tenfold Fleet

ActorOutput
ALDI Australia Scraper - AU Products, Unit Prices & Catalogueproduct
Alibaba Image Search - Reverse Lookup of Suppliers by Photomatched product
AliExpress Keyword Scraper - Exact Sold Counts by Search Termproduct
Amazon Product Scraper - Details, Prices & Search by ASINproduct
ATS Jobs Scraper - Greenhouse, Lever, Ashby & 5 Morejob posting
Backlinks Checker - Referring Domains, Anchors & Domain Rankbacklink
Bilibili Scraper - Videos, Comments, Danmaku & Searchvideo or comment
Businesses Without Websites - Local Leads with Phone & Ratinglead
Contact Details Scraper - One Lead Record per Company Websitewebsite with contacts
Google Ads Transparency Center Scraper - Competitor Ads by Sitead
Google AI Overviews Checker - Citations & Domain Trackerkeyword checked
Google Jobs Scraper - Salary, Apply Links & Posting Datesjob listing
Google Keyword Planner Alternative - Ideas, Bids & Volumekeyword idea
Google Maps Extractor - Business Leads, Phones & Websitesplace
Google News Scraper - Articles, Real URLs & Full Textarticle
Google Trends Scraper - Interest, Regions & Related Querieskeyword
Keyword Ideas & Related Keywords - Difficulty, Volume & CPCkeyword idea
Keyword Search Volume, CPC & Difficulty Checker (Bulk)keyword with data
Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sitesunique remote job
SEEK Job Scraper - Australia, NZ, Jobstreet & JobsDBjob listing
SEO Audit Tool - Technical On-Page SEO Checker & Scorepage audit
SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gapkeyword
Shopify Inventory Scraper - SKUs, Variants & In-Stock Statusproduct
Shopify App & Theme Detector - Store Analyzer & Contactsshopify store
Sitemap URL Extractor - All URLs from sitemap.xml & robots.txturl
Technology Detector - Wappalyzer & BuiltWith Alternativewebsite
URL to Markdown - Web Page to LLM-Ready Text for AI Agentspage
Website Traffic Checker - Bulk Domain Traffic Estimatedomain with traffic data
Woolworths Product Scraper - AU Shelf Prices, Specials & GTINsproduct
Workday Jobs Scraper - myworkdayjobs.com API with Salaryjob posting
YouTube Channel Email Scraper - Creator Contact Extractorchannel with email
YouTube Livestream & Channel Scraper - Videos, Likes & Statsvideo
YouTube Comments Scraper - Replies, Likes & Sort by Newestcomment
YouTube Shorts Analytics Scraper - Views, Likes & Hashtagsshort
YouTube Captions Downloader - Transcript & Subtitles Scrapertranscript