Google Hotels Scraper: Hotel Rates & Price Comparison, No Login
Pricing
from $1.40 / 1,000 hotels
Google Hotels Scraper: Hotel Rates & Price Comparison, No Login
Get Google Hotels prices for any city, dates and guests, and compare every booking site's rate (Booking.com, Expedia, Agoda, the hotel's own site). Ratings, amenities, address and phone included. Track price changes on a schedule. No login, no API key.
Pricing
from $1.40 / 1,000 hotels
Rating
0.0
(0)
Developer
Mayowa Ogedengbe
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
Google Hotels Scraper & API: hotel prices from every booking site, no login
Get hotel prices from Google Hotels for any city, dates and number of guests, and see what Booking.com, Expedia, Hotels.com, Agoda and the hotel's own website charge, side by side. Export to JSON, CSV or Excel, call it as an API, or schedule it as a hotel price tracker that only tells you when a price changes.
No Google account, no API key, no cookies, no browser extension.
What can you do with this Google Hotels scraper?
- 🏨 Get every hotel in a city with its price for your dates: price per night and for the whole stay, with and without taxes, in USD, EUR, GBP or any other currency.
- 💸 Compare hotel prices across booking sites: for each hotel, the price on every site Google lists (Booking.com, Expedia, Hotels.com, Agoda, Priceline, Trip.com, the hotel's official site…), sorted cheapest first, with booking links.
- 📉 Track hotel prices over time: schedule a daily run and receive only the hotels whose price went up or down, with the old price, the new price and the difference.
- ⭐ Collect hotel data for research and lead lists: star class, guest rating, review count, rating distribution, review topics (location, service, cleanliness…), amenities, address, phone, website, coordinates and Google Maps / Places IDs.
- 🌍 Cover a whole city: walks through Google's result pages, up to 1,000 hotels per destination.
Who uses it: hotel revenue managers watching competitors' rates, travel startups and AI travel agents that need live prices, analysts studying tourism markets, and agencies building hotel lead lists.
Why use this instead of the Google Hotels website or other scrapers?
Google has no public Google Hotels API. Copying prices by hand stops working past a few hotels, and many scrapers drive a full browser, which is slow and breaks when Google changes a button.
This Actor reads the same data the Google Hotels page itself loads, with plain web requests:
- Fast: 20 hotels with prices in about 5 seconds; 100 hotels with every booking site's price in about a minute.
- Reliable: in our tests, every request succeeded with no blocks or retries. A self-test runs every day, so a change on Google's side is caught and fixed before it reaches you.
- Accurate: dates, guests and currency are set exactly the way Google's own interface sets them, so prices match what you see on google.com/travel for the same search.
- Stable output: the same fields in every record,
nullwhen Google shows nothing. Fields are never renamed, so your sheets and code keep working.
How to scrape Google Hotels prices (3 steps)
- Click Try for free and type one or more destinations, such as
Lisbonorhotels near Times Square. - Set your check-in date, nights, adults and currency. Turn on Include every booking site's price if you want the comparison across Booking.com, Expedia and others.
- Click Start. Download the results as Excel, CSV or JSON, or open them in the Hotels and prices table view.
Input examples
Hotels in a city, 2 nights starting two weeks from today, prices in euros:
{ "queries": ["Lisbon"], "checkInDate": "14", "nights": 2, "adults": 2, "currency": "EUR", "maxHotelsPerQuery": 100 }
Compare booking sites for your own hotel and its competitors:
{"hotelUrls": [{ "url": "https://www.google.com/travel/hotels/entity/ChkIy5GZ0o_g66VJGg0vZy8xMWI3eHBmcGJsEAE" },{ "url": "https://www.google.com/travel/hotels/entity/ChoIn5iv34iajuemARoNL2cvMTFidjFubnp6MxAB" }],"checkInDate": "2026-12-05", "checkOutDate": "2026-12-08"}
Copy a hotel's URL from Google Hotels: open the hotel on google.com/travel and copy the address bar.
Daily hotel price alert for a destination (use with a schedule):
{ "queries": ["hotels near Times Square"], "checkInDate": "30", "nights": 1, "mode": "newOrChanged", "monitorName": "nyc-alerts", "maxHotelsPerQuery": 200 }
checkInDate takes a date (2026-12-05) or a number of days from the day of the run (14). With a number, a daily schedule always checks the same distance ahead.
What data do you get? (output example)
A real record from Austin, Texas, for 2 nights, with booking-site prices included (shortened):
{"hotelId": "ChkIy5GZ0o_g66VJGg0vZy8xMWI3eHBmcGJsEAE","name": "DoubleTree by Hilton Hotel Austin Northwest Arboretum","hotelClass": 4,"rating": 3.8,"reviewCount": 1893,"checkInDate": "2026-11-03","checkOutDate": "2026-11-05","nights": 2,"adults": 2,"currency": "USD","pricePerNight": 88,"pricePerNightBeforeTaxes": 75.21,"totalPrice": 176,"totalPriceBeforeTaxes": 150.43,"dealNote": "17% less than usual","address": "8901 Business Park Dr, Austin, TX 78759","phone": "(512) 343-0888","googlePlaceId": "ChIJh9ddSZ3LRIYRy0hG-gCvS0k","amenities": ["Wi-Fi", "Wi-Fi in public areas", "Smoke-free property", "Credit cards", "Cash", "Front desk"],"offers": [{ "source": "trivago DEALS", "pricePerNight": 88, "totalPrice": 176, "isOfficialSite": false, "bookingUrl": "https://www.google.com/travel/lodging/clk?…" },{ "source": "DoubleTree by Hilton Hotel Austin Northwest Arboretum", "pricePerNight": 98.29, "totalPrice": 196.59, "isOfficialSite": true, "bookingUrl": "…" },{ "source": "Billabook.com", "pricePerNight": 102.74, "totalPrice": 205.48, "isOfficialSite": false, "bookingUrl": "…" }],"lowestOfferSource": "trivago DEALS","latitude": 30.3787899,"longitude": -97.7405166,"url": "https://www.google.com/travel/hotels/entity/ChkIy5GZ0o_g66VJGg0vZy8xMWI3eHBmcGJsEAE?…","scrapedAt": "2026-10-04T22:09:01.000Z"}
| Field group | Fields |
|---|---|
| Price for your stay | pricePerNight, pricePerNightBeforeTaxes, totalPrice, totalPriceBeforeTaxes, currency, checkInDate, checkOutDate, nights, adults, dealNote |
| Booking-site comparison | offers[] (source, pricePerNight, totalPrice, isOfficialSite, bookingUrl), offerCount, lowestOfferSource |
| Ratings and reviews | rating, reviewCount, ratingDistribution, reviewTopics |
| Hotel details | name, hotelClass, description, amenities, amenityDetails, checkInTime, checkOutTime, imageUrls, isVacationRental |
| Location and contact | address, phone, website, latitude, longitude, countryCode, nearbyPlaces, googlePlaceId, googleMapsUrl |
| Price tracking | changeType, previousPricePerNight, priceChange |
Address, phone, Places ID, the full amenity list and offers come with Include every booking site's price (or with hotel URLs). Vacation rentals that Google mixes into hotel results are marked isVacationRental: true. Each run also saves a SUMMARY record with counts and anything that was skipped.
How much does it cost to scrape Google Hotels?
You pay only for results, with no monthly fee:
| What you get | Price per 1,000 hotels |
|---|---|
| Hotels with price, rating, class, amenities and photos | $2.00 |
| Add every booking site's price, address, phone and full amenities | + $2.00 (so $4.00 total) |
Apify subscribers pay less: $1.80 (Bronze), $1.60 (Silver) and $1.40 (Gold and above) per 1,000 for each part.
Examples on the free plan: 100 hotels in Paris costs $0.20. 500 hotels with every booking site's price costs $2.00. Apify's free $5 monthly credit covers about 2,500 hotels, or 1,250 with booking-site prices.
In price-tracking mode you pay only for hotels whose price changed. Unchanged hotels are free. You can cap any run with Max cost per run in the run options.
How to track hotel prices automatically
- Set Mode to Only new or changed price, give the run a Monitor name, and use a relative check-in date such as
30. - In Apify Console, click Schedule and choose daily or hourly.
- The first run gives you every hotel as a starting point. After that, each run returns only hotels whose nightly price moved, with
previousPricePerNightandpriceChange.
Google reorders its results between visits, so a hotel missing from yesterday's list is usually not a new hotel. Those are remembered quietly. Turn on Also report hotels new to the search if you want them anyway. For revenue management, track a fixed list of hotel URLs: you get a clean daily feed of your competitors' rates.
Send the changes to Slack, email or Google Sheets with Apify's integrations, n8n or Make.
Google Hotels API: use it from your code, n8n, Make or AI agents
One API call that returns the hotels (run-sync):
curl -X POST "https://api.apify.com/v2/acts/headply~google-hotels-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["Paris"],"checkInDate":"21","nights":2,"maxHotelsPerQuery":40}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("headply/google-hotels-scraper").call(run_input={"queries": ["Barcelona"], "checkInDate": "30", "nights": 3, "currency": "EUR", "includeOffers": True,})for hotel in client.dataset(run["defaultDatasetId"]).iterate_items():print(hotel["name"], hotel["pricePerNight"], hotel["lowestOfferSource"])
n8n and Make: add the Apify node or module, choose Run an Actor and get dataset items, select headply/google-hotels-scraper and paste the JSON input. Then connect Google Sheets, Airtable, Slack or your database.
AI agents and MCP: every input field is described for tool use. Give a destination, dates and a currency, and read pricePerNight, totalPrice and offers. Runs are short, so agents get answers while the user waits.
FAQ
Is there an official Google Hotels API? No. Google offers hotel data only to its booking partners. This Actor is the practical Google Hotels API: you send a destination and dates, and you get structured prices back.
Do I need a Google account, cookies or proxies? No. It reads public Google Hotels pages without logging in. Apify Proxy is included and set up for you.
Which country are the prices for? Google prices for the visitor's country. By default the Actor visits from the United States, so you get US-market prices in the currency you choose. To see prices as travellers in another country do, change the proxy country in the input.
Can I get prices for specific dates and number of guests? Yes. Set check-in, check-out (or nights) and adults; every price is for that exact stay and party size.
How many hotels can I get per city? Google lists up to about 1,000 hotels per search. For more, search smaller areas ("hotels in Shibuya", "hotels in Manhattan").
Why does a hotel have no price? Google shows no rate when nothing is bookable for those dates and guests. The hotel is still returned with its details.
Can I scrape Google Hotels reviews? This Actor returns the rating, review count, star distribution and review topics. Full review text is planned as a separate Actor.
Is it legal to scrape Google Hotels? It collects publicly visible prices and hotel facts, with no personal data. Check that your use complies with the laws and terms that apply to you.
Limits
- Prices are what Google shows at the moment of the run; booking sites can change them minutes later.
- Booking links are Google's click-out links for that search and expire after a while. Store the prices and
source, not the link. - Up to 1,000 hotels per destination, 1–30 nights per stay, 1–12 adults.
More travel data from the same developer
- Google Flights Scraper & API: every flight and fare for any route and date, round trips with return options, Google's typical price range and 60-day price history, and a flight price tracker.
Help and feedback
Something missing or not working? Open an issue on the Issues tab. Issues are usually answered within a day.