Google Hotels Scraper - Prices, Deals, Ratings for Any Dates avatar

Google Hotels Scraper - Prices, Deals, Ratings for Any Dates

Pricing

from $3.75 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper - Prices, Deals, Ratings for Any Dates

Google Hotels Scraper - Prices, Deals, Ratings for Any Dates

Hotel prices from Google Hotels for any city and dates: nightly and total price with taxes, deal badges and how the price compares to usual, star class, rating, review count, amenities and photos. Many cities and searches in one run. Built for price monitoring and travel research.

Pricing

from $3.75 / 1,000 hotels

Rating

0.0

(0)

Developer

Ivan Honer

Ivan Honer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

🏨 Google Hotels Scraper: Prices, Deals & Ratings for Any Dates

Hotel prices from Google Hotels for any city and any dates: nightly and total price including taxes, deal badges, how today's price compares to usual, star class, rating, reviews, amenities and photos. Google Hotels compares Booking.com, Expedia, Hotels.com, the hotels' own sites and more; this Actor turns that comparison into clean data, one row per hotel.

  • βœ… Prices for your exact stay, with the check-in and check-out dates Google applied reported on every row
  • βœ… Nightly and total price with taxes and fees, plus the number of nights
  • βœ… Deal signals: DEAL, GREAT DEAL, and 29% less than usual
  • βœ… Quality signals: star class, rating, review count and the 5-to-1-star split
  • βœ… Amenities and up to six photos per hotel
  • βœ… Many cities and search variations in one run, with repeats removed and not charged

What does Google Hotels Scraper do?

You give it locations ("Austin, TX", "Downtown Chicago", "near JFK airport"), and optionally dates, guests and search variations ("4 star hotels", "hotels with pool"). It then:

  1. Runs each variation in each location on Google Hotels, for your dates and number of adults.
  2. Checks which dates Google actually applied and records them on every result.
  3. Reads each hotel card: price per night, total price, deal badges, star class, rating, reviews, amenities and photos.
  4. Drops hotels already saved for the same place in the same run.

Use cases

  • 🏨 Hotel revenue management. Watch competitors' prices for the same dates every day.
  • ✈️ Travel deals and newsletters. Find hotels priced well below their usual rate for a weekend or event.
  • πŸ“ˆ Event and seasonality research. Compare prices across dates: a festival weekend against the week after.
  • 🧭 Travel apps and research. Price levels, ratings and amenities by city.
  • πŸ€– AI agents. "Find 4-star hotels in Denver under $150 a night for December 4 to 6."

What data can you get?

FieldWhat it is
name, hotelIdThe hotel and Google's ID for it, stable across runs
pricePerNight, totalPrice, currencyLowest advertised price for your stay. totalPrice includes taxes and fees
nights, priceNoteNumber of nights, and Google's note, e.g. 2 nights with taxes + fees
deal, comparedToUsualDEAL or GREAT DEAL, and e.g. 16% less than usual
hotelClassStar class, 1 to 5. Empty for vacation rentals
rating, reviews, ratingBreakdownAverage rating out of 5, review count, and the percentage of 5- to 1-star reviews
amenitiesFree breakfast, Wi-Fi, parking, pool, pet-friendly and more
thumbnail, photosThe main photo and up to six photo URLs
googleHotelUrl, pricesUrl, reviewsUrlThe hotel on Google Hotels, its full price comparison, and its reviews
checkIn, checkOut, datesAsRequestedThe dates Google used, and whether they match what you asked for
adults, country, searchLocation, searchQuery, positionHow it was searched, and where it ranked

How to use it

  1. Click Try for free (or Start) at the top of this page.
  2. Add cities, neighbourhoods or landmarks to Locations, one per line.
  3. Pick Check-in date and Check-out date, or leave them empty for Google's default dates.
  4. Optionally change Adults, and add variations to What to search for.
  5. Press Start, then download the results from the Output tab as Excel, CSV or JSON.

How to get many results

Google Hotels shows about 18 hotels per search. Every entry in What to search for runs once in every location:

VariationsLocationsSearches runUnique hotels, at most
1 (hotels)11about 18
326about 108
5525about 450

Variations in the same place return some of the same hotels, which are saved once. In testing, 2 variations in 2 cities gave 64 unique hotels out of 72.

Good variations: hotels, 4 star hotels, 5 star hotels, cheap hotels, hotels with pool, pet friendly hotels, boutique hotels. Neighbourhoods work as locations too: Downtown Austin, Austin airport.

Input examples

Two cities, fixed dates.

{
"locations": ["Austin, TX", "Denver, CO"],
"checkIn": "2026-12-04",
"checkOut": "2026-12-06",
"hotelSearches": ["hotels", "4 star hotels"]
}

A family of four, one neighbourhood, several variations.

{
"locations": ["Orlando near Disney World"],
"checkIn": "2027-03-14",
"checkOut": "2027-03-19",
"adults": 4,
"hotelSearches": ["hotels", "hotels with pool", "family hotels", "resorts"]
}

Prices in pounds for London.

{
"locations": ["London Kings Cross", "London Soho"],
"checkIn": "2027-01-15",
"checkOut": "2027-01-17",
"country": "GB"
}

Free-form searches, exactly as written.

{
"searchQueries": ["boutique hotels in Nashville from May 1 2027 to May 3 2027"]
}

Output example

{
"hotelId": "ChcIxoO5itecjct-GgsvZy8xdGRwMHo2NBAB",
"name": "DoubleTree by Hilton Hotel Denver Tech Center",
"pricePerNight": 89,
"totalPrice": 197,
"currency": "$",
"nights": 2,
"priceNote": "2 nights with taxes + fees",
"deal": "DEAL",
"comparedToUsual": "16% less than usual",
"hotelClass": 4,
"rating": 4.1,
"reviews": 2444,
"ratingBreakdown": { "1": 7, "2": 5, "3": 10, "4": 27, "5": 51 },
"amenities": ["Breakfast ($)", "Free Wi-Fi", "Parking ($)", "Pool", "Air conditioning", "Pet-friendly", "Fitness center", "Bar"],
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/...",
"photos": ["https://lh3.googleusercontent.com/grass-cs/...", "..."],
"googleHotelUrl": "https://www.google.com/travel/hotels/entity/ChcIxoO5itecjct-GgsvZy8xdGRwMHo2NBAB",
"pricesUrl": "https://www.google.com/travel/hotels/entity/ChcIxoO5itecjct-GgsvZy8xdGRwMHo2NBAB/prices",
"reviewsUrl": "https://www.google.com/travel/hotels/entity/ChcIxoO5itecjct-GgsvZy8xdGRwMHo2NBAB/reviews",
"checkIn": "2026-12-04",
"checkOut": "2026-12-06",
"datesAsRequested": true,
"adults": 2,
"searchLocation": "Denver, CO",
"searchQuery": "4 star hotels in Denver, CO from December 4 2026 to December 6 2026",
"position": 1,
"country": "US",
"scrapedAt": "2026-10-14T19:48:32.951Z"
}

Statuses and errors

The dataset contains only hotels. Anything that goes wrong is in the run log:

Log line or fieldMeaningCharged?
"hotels in Austin, TX ...": 18 hotel(s), 16 new.Normal. "New" excludes hotels already saved for the same placeOnly the new ones
datesAsRequested: falseGoogle used different dates than you asked for; the dates it used are in checkIn and checkOutYes
"...": Google did not return hotel results after 4 attemptsGoogle refused that search four times. The rest of the run continuesNo
Run fails with Check-in ... is in the pastPick a date from today onwardsNo
Run fails with Every search failedGoogle refused every search. Try again in a few minutesNo

How much does it cost?

You pay per hotel saved. Repeats for the same place, empty searches and failed searches are free. Platform usage and proxies are included.

HotelsPrice on the Free and Bronze tiers
100$0.50
1,000$5.00
10,000$50.00

Larger Apify plans pay less per hotel: 15% less on Silver, and 25% less on Gold and above.

FAQ

Can I use it through the API?

Yes. For a quick lookup, the synchronous endpoint returns the hotels in one request:

curl -X POST "https://api.apify.com/v2/acts/optimistical_lectern~google-hotels-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"locations": ["Austin, TX"], "checkIn": "2026-12-04", "checkOut": "2026-12-06"}'

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('optimistical_lectern/google-hotels-scraper').call({ locations: ['Austin, TX'], checkIn: '2026-12-04', checkOut: '2026-12-06' });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("optimistical_lectern/google-hotels-scraper").call(run_input={"locations": ["Austin, TX"], "checkIn": "2026-12-04", "checkOut": "2026-12-06"})
items = client.dataset(run["defaultDatasetId"]).list_items().items

Can AI agents use it?

Yes. It runs with limited permissions, so it needs no approval step. Add it to Claude, Cursor or any other MCP client through Apify's MCP server at mcp.apify.com, using the Actor name optimistical_lectern/google-hotels-scraper.

How do I track prices every day?

Create a schedule in Apify Console with fixed dates, and send the results to Google Sheets, a database or a webhook. hotelId stays the same across runs, so each day's price lines up with the last.

Which currency are prices in?

The currency Google uses for the Country you choose: US for dollars, GB for pounds, DE or FR for euros, and so on.

Are the prices exact?

They are Google's lowest advertised price for the stay at the moment of the run. Hotel prices change by the minute, and the final price depends on the room and the site you book through. pricesUrl opens Google's full comparison.

Why do some results have no star class?

Vacation rentals sometimes appear among hotels. They have a rating but no official star class.

The tool collects prices and hotel details that Google shows to any visitor. Using automated tools on Google may go against Google's terms of service, and whether that matters depends on how and where you use the data. If you are unsure, ask a lawyer.

Something looks wrong?

Open an issue on the Issues tab with the location and dates. Every report is read.