Google Hotels Scraper avatar

Google Hotels Scraper

Pricing

from $2.00 / 1,000 hotel results

Go to Apify Store
Google Hotels Scraper

Google Hotels Scraper

Hotel lists for any destination and per-site prices for the hotels you pick, from Google Hotels. Check many dates at once and see how each price moved since the last run.

Pricing

from $2.00 / 1,000 hotel results

Rating

0.0

(0)

Developer

Lyklo

Lyklo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Get hotel prices from Google Hotels in two ways:

  • Destinations: type a place such as Kyoto or hotels near Times Square and get the hotels Google lists there, with the lowest price, stars, rating and location.
  • Hotels you pick: give the hotels you care about and get every booking site's price for them (Booking.com, Expedia, Agoda, the hotel's own site and more), for as many check-in dates as you need.

Turn on Compare with the last run and schedule it, and each result also says whether the price went down, went up, sold out or came back since the previous run.

The data comes from the public Google Hotels pages at google.com/travel. This is an independent tool. It is not made, endorsed or sponsored by Google.

Who it's for

  • Hotel revenue managers who check their competitors' rates every morning. List your own hotel and 5 to 15 competitors, check the next 30 check-in dates, and schedule a daily run. You see each competitor's price per date, which site sells it cheapest, and what moved overnight, for a small part of what rate-shopping software costs.
  • Travel and data teams who need hotel lists for a city with prices, ratings and coordinates: price comparison, vacation-rental pricing, market research, or an AI agent that answers travel questions.

How to use it

  1. Put places under Destinations, or hotels under Hotels, or both. A hotel can be a Google Hotels link, a hotel ID from an earlier run, or its name.
  2. Pick the check-in date (or leave it empty for 14 days after each run), the number of nights, and how many check-in dates to check in a row.
  3. Run it. To watch prices, turn on Compare with the last run, save the input as a task, and give it a schedule in Apify. Use a different Watch name for each task.
  4. Send the results where you work with Apify's integrations: a Google Sheet, Slack, a webhook, or the API.

Example: price two hotels for each night of December, comparing with yesterday.

{
"hotels": ["Hotel Granvia Kyoto", "https://www.google.com/travel/hotels/entity/ChkI8oXIy_mdvvdPGg0vZy8xMWg4MWhkd3FjEAE"],
"checkInDate": "2026-12-01",
"checkInDays": 31,
"adults": 2,
"currency": "USD",
"trackChanges": true,
"watchName": "kyoto-station"
}

What you get

One row per hotel and check-in date.

FieldWhat it is
name, hotelId, urlThe hotel, its Google Hotels ID (reuse it under Hotels) and its Google Hotels page
checkIn, checkOut, nights, adultsThe stay the price is for
pricePerNight, totalPrice, currencyGoogle's lowest price, taxes and fees included, and the total for the stay
totalPriceBreakdownThe total split into base price, taxes and fees
offersEach booking site's price per night and for the stay, whether it is the hotel's own site, free cancellation and its deadline, and notes such as member rates. Cheapest first
lowestOfferThe cheapest site, for quick filtering
change, previousPricePerNight, priceChange, priceChangePercentWith Compare with the last run: down, up, same, soldOut, available (back after being sold out) or new
hotelClass, rating, reviewCount, ratingBreakdownStars, guest rating, number of reviews, and reviews per star
latitude, longitude, address, phone, websiteWhere it is and how to reach it. Full address and phone come with booking-site prices
description, checkInTime, checkOutTime, thumbnailGoogle's short description, check-in and check-out times, one photo
query, rank, sourceWhich destination or hotel input the row came from, and its place in the destination list

offers, lowestOffer, address and phone are on rows for the hotels you listed, and on destination rows when Add prices from each booking site is on.

Pricing

You pay per result, and comparing with the last run is free.

EventPrice
Run start$0.003 per run (with the default memory)
Hotel result: one hotel for one check-in date$2.00 per 1,000
Booking-site prices added to a result$3.00 per 1,000 results that have at least one price

Some examples:

  • 100 hotels in a city for one date: $0.20.
  • Your hotel and 9 competitors, 30 check-in dates, every day: 300 results with booking-site prices a day, $1.50 a day or about $45 a month.

Set a maximum cost per run in Apify if you want a hard limit. The run stops when it is reached, and only the results you were charged for are saved.

Good to know

  • Currency. Booking-site prices come in the currency you choose. Destination lists without booking-site prices come in US dollars. Every row has a currency field.
  • Guests. Booking-site prices use the number of adults you set. Destination lists without booking-site prices are for Google's default of 2 guests. Children are not supported yet.
  • Destination lists change order. Google reorders hotels between pages and between runs, so a destination list is a snapshot, and a hotel can show up as new on the next run. To track prices, list the hotels under Hotels.
  • Dates. Google sometimes cannot price a date (sold out, or too far ahead). Such hotels show a null price or are skipped, and the run log says so.
  • Failed runs. If errors keep the run from returning any result (Google refusing requests, or answers in a format the scraper cannot read), the run fails instead of finishing empty, so a scheduled task shows the problem. A hotel ID that Google does not know only adds a warning.
  • Watching. The previous prices for each watch name are kept in a key-value store in your Apify account named google-hotels-scraper-<watch name>. Two runs with the same watch name cannot run at once; the second one stops with a message.
  • Booking links. Rows link to the hotel's Google Hotels page rather than to booking sites, because Google's booking links are ad clicks.