Google Hotels Scraper: Prices, Ratings & Deals avatar

Google Hotels Scraper: Prices, Ratings & Deals

Pricing

$3.00 / 1,000 hotel results

Go to Apify Store
Google Hotels Scraper: Prices, Ratings & Deals

Google Hotels Scraper: Prices, Ratings & Deals

Live hotel and vacation-rental prices from Google Hotels for any city and dates: nightly rate, total price, rating, reviews, amenities and deal flag. A Google Hotels API you pay per property.

Pricing

$3.00 / 1,000 hotel results

Rating

0.0

(0)

Developer

Noor Holdings

Noor Holdings

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Share

Google Hotels Scraper: prices, ratings, deals and vacation rentals

Pull hotel and vacation-rental listings from Google Hotels for any city. You get the nightly price, the total with taxes and fees, guest rating, review count, star class, amenities, and Google's "less than usual" deal flag. Set your own check-in and check-out dates, or leave them empty to get Google's default dates.

You pay only for properties actually delivered. A failed search costs nothing.

What you get

FieldExample
nameInn on the Riverwalk
typehotel or vacation_rental
pricePerNight150
totalPrice349 (taxes and fees included)
nights2
rating / reviewCount4.7 / 221
hotelClass3 (star class)
dealLabel / vsUsualPercentDEAL / 23 (23% less than usual)
amenitiesBreakfast, Free Wi-Fi, Free parking, Pet-friendly
propertyKind, sleeps, bedrooms, bathroomsApartment, 6, 2, 1 (rentals)
googleEntityId, googleUrlStable ID and a link to the property on Google
location, checkIn, checkOut, currency, scrapedAtWhat you asked for, and when

Every row is a flat record, so it opens cleanly in Excel or Google Sheets.

Sample output

{
"location": "San Antonio, TX",
"name": "Inn on the Riverwalk",
"type": "hotel",
"pricePerNight": 150,
"totalPrice": 349,
"nights": 2,
"currency": "USD",
"checkIn": "2026-11-20",
"checkOut": "2026-11-22",
"rating": 4.7,
"reviewCount": 221,
"hotelClass": 3,
"dealLabel": "DEAL",
"vsUsualPercent": 23,
"amenities": [
"Breakfast",
"Free Wi-Fi",
"Free parking",
"Air conditioning",
"Pet-friendly",
"Kitchen in rooms",
"Kid-friendly",
"Smoke-free property"
],
"googleEntityId": "ChgIor-1m9-Nl6bmARoLL2cvMXRkZGI4NDUQAQ",
"scrapedAt": "2026-10-09T03:40:46.200Z"
}

Quick start

  1. Type one or more cities in Locations, one per line. "City, State" or "City, Country" works best.
  2. Add check-in and check-out dates if you want prices for a specific stay.
  3. Set Max results per location. Google shows about 18 properties per search, so for larger numbers the scraper runs extra searches (by star class, budget and amenities) and removes duplicates. You never pay twice for the same property.
  4. Click Start. In testing, three cities at 100 properties each finished in about 25 seconds.

The default input (San Antonio, 20 results) runs as-is, so you can see the output before changing anything.

Use cases

  • Track hotel prices for a city ahead of a trip, an event or a conference.
  • Compare a hotel's rate with nearby competitors for revenue management.
  • Find the cheapest well-rated hotels by filtering on rating and pricePerNight in your spreadsheet.
  • Spot deals with vsUsualPercent, which comes straight from Google's own price history.
  • Research vacation rentals with bedroom, bathroom and guest counts.
  • Feed travel apps and AI agents with fresh price data through the API.

What happens when something goes wrong

Most scraper complaints come from runs that say "success" and hand back nothing, or the wrong thing. This one tells you.

  • Google doesn't recognise your location? Google quietly swaps in hotels near wherever the request came from. This scraper catches that, returns nothing for that location, and charges nothing. The run summary tells you what Google showed instead, so you can fix the spelling.
  • A search fails after retries? You aren't charged, and the run summary says which one failed.
  • Fewer results than you asked for? Some small towns only have a dozen properties. The summary says how many Google had.

Look for the RUN_SUMMARY record in the run's key-value store for a per-location report.

Input

FieldRequiredNotes
locationsyesList of places. Example: ["San Antonio, TX", "Lisbon, Portugal"]
checkIn, checkOutnoYYYY-MM-DD. Give both or neither. Check-out must be after check-in.
adultsnoDefault 2
currencyno3-letter code, default USD
maxResultsPerLocationno1 to 150, default 20

Pricing

Pay per property delivered, plus Apify's small start fee per run. There's no monthly fee from us. Set a maximum cost per run in Apify and the scraper stops cleanly when it hits your limit.

FAQ

Do I need a Google account or an API key? No. The scraper reads Google Hotels' public search results.

Are the prices live? Yes. Every row is fetched at the moment you run it, and scrapedAt records the time. Hotel prices move fast, so re-run before relying on a number.

Why don't I get exactly the hotels I see in my browser? Google personalises results by location and sign-in. This scraper searches as a signed-out US visitor, which keeps runs consistent and comparable.

Can I get more than 150 properties for one city? Split the city into neighbourhoods (for example "Downtown Chicago" and "O'Hare, Chicago") and run them together. Duplicates across them are not removed, so dedupe on googleEntityId.

Does it scrape booking sites like Expedia or Booking.com? No. It returns what Google Hotels shows, which already aggregates many of those sites.

Something broke. What now? Open an issue on this page with the location and dates you used. I answer issues within a day.

Limitations

  • Prices are what Google displays. The final price on a booking site can differ.
  • Google shows a mix of hotels and rentals that changes with the dates you pick.
  • Review counts above 1,000 can be rounded on Google's list (for example 2,700 for "2.7K").
  • US English results only for now.

Export or use as an API

Download any run's results from the Storage tab as CSV, Excel, JSON or XML.

To call it from your own code, send your input to Apify's API and get the rows back in one request:

POST https://api.apify.com/v2/acts/leathered_latch~google-hotels-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN

It also plugs into Make, Zapier and n8n through Apify's integrations, and AI agents can find and run it through Apify's MCP server.

Your responsibility

How you use the output is your call, and so is the legal side of it. Copyright still covers any text or images you republish. The source site's own terms apply too. If you're unsure about a use, check with a lawyer first.

If you own content that shows up in these results and want it handled differently, open an issue on the Issues tab. We answer within 14 days.

Data source and credit

Every row comes from Google Hotels (Google LLC). We don't own this data, and we don't take credit for it. The prices, ratings and hotel details belong to the hotels and Google.

This tool reads only what Google shows to any logged-out visitor. No logins, no private data. Each row keeps a link back to the page it came from (the googleUrl field), so you can check any result and credit the source when you use it.

Not affiliated with, endorsed by or sponsored by Google. All names and trademarks belong to their owners.

Changelog

  • 0.1 First release. Hotels and vacation rentals, deal flags, deep search up to 150 per location, wrong-location protection.