Google Hotels Scraper - Prices, Ratings & Amenities
Pricing
$0.75 / 1,000 hotel results
Google Hotels Scraper - Prices, Ratings & Amenities
Scrape Google Hotels prices for any city, landmark or hotel search and dates. Get nightly and total price incl. taxes, deal badges, star class, rating, review breakdown, amenities and coordinates. No login. From $0.75 per 1,000.
Pricing
$0.75 / 1,000 hotel results
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
What is Google Hotels Scraper?
Google Hotels Scraper lets you extract hotel prices, star ratings, guest reviews and amenities from Google Hotels for any city, neighbourhood, landmark or hotel brand, helping you benchmark room rates against your competitors, build hotel datasets for travel products, and track how prices move for the dates you care about.
- ๐ฒ Shop rates in bulk: get the nightly price, the stay total, taxes and fees and the tax-inclusive total for every property Google lists, for your exact check-in date, length of stay and number of guests.
- ๐ Spot deals automatically: each row carries Google's own deal badge, such as "18% less than usual", so a price is either a bargain or not instead of just a number.
- ๐จ Build a competitor set in one run: star class, guest rating, review count, the 1 to 5 star breakdown and what guests praise or complain about (service, cleanliness, breakfast, location) for hundreds of hotels at once.
- ๐บ Map a market: latitude and longitude, check-in and check-out times, website, Google Maps link and the nearest airport, transit stops and attractions with travel times.
- ๐ Hotels or vacation rentals: search the Hotels tab, the Vacation rentals tab, or both.
- ๐ Schedule it: relative dates such as
+14dkeep a daily or weekly run pricing the same window forever, which is how revenue managers and rate-parity tools actually use this data.
Google does not offer a public Google Hotels API. Google Hotels Scraper reads the same data the Google Hotels website shows, with no login, no cookies and no API key, and it pages past the first screen of results: a single "hotels in London" query returned 670 unique hotels in QA.
What data does Google Hotels Scraper extract?
- ๐ท Property name, type (hotel or vacation rental) and category (
name,propertyType,category) - โญ๏ธ Star class as a number and as text (
hotelClass,hotelClassText) - ๐ Google's one-line description of the property (
description) - ๐ฏ Guest rating and review count (
rating,reviewCount) - ๐ Review breakdown by star, 5 to 1 (
ratingHistogram) - ๐ฌ Review topics with mention, positive and negative counts, for example Service, Cleanliness, Breakfast (
reviewTopics) - ๐ฒ Price per night, before and including taxes (
pricePerNight,pricePerNightWithTaxes) - ๐งพ Stay total, taxes and fees, and total including taxes (
totalPrice,taxesAndFees,totalPriceWithTaxes) - ๐ค The prices exactly as Google displays them, for example "$98" (
pricePerNightText,totalPriceWithTaxesText) - ๐ Deal badge, for example "16% less than usual" (
dealBadge) - โ
Whether the property had a rate for your dates (
isPriced) - ๐ Latitude, longitude and country code
- ๐ Check-in and check-out times
- ๐ Amenities in plain English, for example Free Wi-Fi, Outdoor pool, Pet-friendly, Free parking, Spa (
amenities) - ๐ Nearby places: airport, transit stops, attractions and restaurants, with travel times by car, on foot or by public transit (
nearbyPlaces) - ๐ Official website, Google Maps link, Google Hotels link and Google's booking link
- ๐ผ Thumbnail and up to 10 photo URLs
- ๐ Google place id and Google Hotels entity id, for joining runs over time
- ๐ The search that produced the row: query, resolved location, dates, nights, adults, currency, position in the results
How to use Google Hotels Scraper
- Open the actor and type one or more search queries, the same way you would on Google Hotels:
hotels in Lisbon,hotels near Times Square,Marriott Chicago. - Pick a check-in date (
2026-12-20, or+14dfor 14 days from whenever the run starts) and a check-out date (+2dmeans a 2-night stay). - Set the number of adults, the currency and whether you want hotels, vacation rentals or both.
- Set Max results per query so the cost is capped.
- Run it, then download JSON, CSV or Excel, or pull the results from the Apify API.
Input
{"queries": ["hotels in Austin, TX", "hotels in Lisbon", "Hilton Paris"],"checkInDate": "+14d","checkOutDate": "+2d","adults": 2,"propertyType": "hotels","maxResultsPerQuery": 100,"maxItems": 1000,"currency": "USD","country": "us","language": "en"}
queries: one search per entry. Anything Google Hotels understands works: a city, a neighbourhood, a landmark, a hotel brand plus a place.checkInDate/checkOutDate:YYYY-MM-DD, or relative.+14dfor check-in counts from today;+2dfor check-out counts from check-in. Stays of up to 30 nights.propertyType:hotels(default),vacationRentals, orall(everything on the Hotels tab, which mixes in a few rentals).maxResultsPerQuery: stop each query after this many properties. 0 means no limit.maxItems: a hard cap across all queries.currency,country,language: every price comes back incurrency;countrysets the Google market, which changes the partners and rates Google shows.
Output
One row per property. A trimmed real record from a QA run:
{"query": "hotels in Rome","checkInDate": "2026-10-09","checkOutDate": "2026-10-11","nights": 2,"adults": 2,"position": 50,"name": "Excel Roma Montemario","propertyType": "hotel","hotelClass": 4,"rating": 3.6,"reviewCount": 2083,"ratingHistogram": { "5": 676, "4": 609, "3": 334, "2": 166, "1": 298 },"reviewTopics": [{ "topic": "Room amenities", "mentions": 55, "positive": 4, "negative": 48 }],"pricePerNight": 93.53,"pricePerNightWithTaxes": 119.54,"totalPrice": 184.27,"taxesAndFees": 52.02,"totalPriceWithTaxes": 239.08,"currency": "USD","dealBadge": "16% less than usual","latitude": 41.9327083,"longitude": 12.4336487,"checkInTime": "2:00 PM","checkOutTime": "11:00 AM","amenities": ["Free breakfast", "Free Wi-Fi", "Air conditioning", "Fitness center", "Bar", "Restaurant"],"nearbyPlaces": [{ "name": "Leonardo da Vinci International Airport", "category": "airport","travelTimes": [{ "mode": "driving", "duration": "46 min" }, { "mode": "public transit", "duration": "1 hr 11 min" }] }],"website": "http://www.laminhotels.com/","googleMapsUrl": "https://www.google.com/maps?cid=10081842658463503728","googleHotelsUrl": "https://www.google.com/travel/hotels/entity/ChgIwpjj863slZiqARoLL2cvMXRoaDRwZjAQAQ?hl=en&gl=us&curr=USD","...": "..."}
The dataset has three ready-made table views: Overview (photo, name, price, stars, rating, deal), Rates (the full price breakdown and booking link) and Location and amenities.
A search that finds nothing, or an input the actor cannot use, still finishes successfully and writes one row with noResults: true, a noResultsReason (location-not-recognized, no-properties, invalid-input, fetch-failed) and a plain-English message. You never get a silent empty dataset.
How much does it cost to scrape Google Hotels?
$0.75 per 1,000 properties, flat. No monthly rental, no tiers.
| Properties | Cost |
|---|---|
| 1,000 | $0.75 |
| 10,000 | $7.50 |
| 100,000 | $75.00 |
A 20-hotel test run costs under two cents. The best-known Google Hotels scraper on the Store charges $4.99 per 1,000.
Measured coverage
From QA runs on 2026-09-25 over 360 hotels in New York, Tokyo, Rome, Cancun, Sydney and Dubai, all through the production proxy:
| Field | Filled |
|---|---|
| Name, coordinates, rating, review count, rating histogram, place id, links | 100% |
| Photos and thumbnail | 99.7% |
| Amenities, website | 97.2% |
| Review topics | 94.7% |
| Nightly price, stay total, taxes (every price field) | 91.9% |
| Star class | 91.4% |
| Description | 80.8% |
| Check-in and check-out time | 79.7% |
| Deal badge | 23.9% on the US market, 0% on GB (only shown when Google flags a deal) |
Rows without a price are properties Google lists but has no rate for on those dates. They carry isPriced: false so you can filter them out.
Limits
- Street addresses are not in the Google Hotels results list, so they are not returned. Coordinates and the Google Maps link are.
- Prices are the lowest rate Google shows for the property. Per-partner rate ladders (Booking.com vs Expedia vs the hotel's own site) are not included.
- Google caps how deep a list goes. Very large cities stop somewhere between 400 and 700 unique hotels per query. Split a city into neighbourhoods for more.
- Google re-ranks results between pages, so the actor removes duplicates and stops a query after three pages in a row add nothing new.
- A query Google cannot match to a place returns one
location-not-recognizedrow rather than hotels from a default city. - Children are not supported yet; prices are quoted for adults only.
FAQ
Is it legal to scrape Google Hotels?
Google Hotels Scraper collects publicly visible information about businesses: hotel names, prices, ratings and amenities. It does not log in, does not bypass any paywall and does not collect personal data. You are responsible for how you use the data and for complying with Google's terms and the laws that apply to you. If in doubt, ask a lawyer.
Do I need a Google account, cookies or an API key?
No. Nothing to paste, nothing to log into.
Can I use Google Hotels Scraper as an API?
Yes. Every Apify actor is an API. Start runs and fetch results over HTTP with the Apify API, or call it from an AI agent through the Apify MCP server.
Can I use it in Python?
from apify_client import ApifyClientrun = ApifyClient("<YOUR_TOKEN>").actor("cirkit/google-hotels-scraper").call(run_input={"queries": ["hotels in Lisbon"]})
Then iterate client.dataset(run["defaultDatasetId"]).iterate_items().
How do I track hotel prices every day?
Save your input with relative dates ("checkInDate": "+30d", "checkOutDate": "+2d") and create a schedule in Apify Console. Each run prices a stay 30 days out, and the Google place id lets you join the runs into a price history.
Can I integrate Google Hotels Scraper with other apps?
Yes: Google Sheets, Zapier, Make, Slack, Airbyte and webhooks are all built into the Apify platform.
Why did I get fewer results than expected?
Three usual reasons: Google's list for that query really is that short (a small town, or a specific brand); propertyType is filtering rentals out; or the list stopped producing new properties and the actor stopped rather than bill you for repeats. The run log states which one happened.
Can I get room types or per-site prices?
Not yet. This actor returns the search results list. If you need a field that is not listed, open an issue on the actor page.
How is this different from other Google Hotels scrapers?
It is priced at $0.75 per 1,000 against $1 to $5 elsewhere, returns taxes and totals as numbers rather than text, deduplicates across pages, and writes an explanatory row instead of failing when a search finds nothing.
You might also like
- Google Flights Scraper: fares, schedules and routes for the same trips
- Booking.com Search Scraper: Booking.com prices and availability
- Tripadvisor Hotels Scraper: Tripadvisor rankings and reviews
- Airbnb Search Scraper: short-term rental prices and listings
Changelog
- 0.1 (2026-09-25): first release. Hotels and vacation rentals, full price breakdown, review topics, amenities, nearby places, relative dates.