Google Hotels Scraper: Prices from All Booking Sites
Pricing
Pay per event
Google Hotels Scraper: Prices from All Booking Sites
Scrape Google Hotels for any city or hotel. Get prices for many dates in one run and compare every booking site: official website, Booking.com, Expedia, Agoda, Hotels.com. Ratings, reviews, stars, amenities, location. Hotel price monitoring & rate parity API. No login. Export CSV, Excel, JSON.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Superior Actors
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Google Hotels Scraper
Scrape Google Hotels for any city or hotel and get prices from all booking sites in one place: the official hotel website, Booking.com, Expedia, Agoda, Hotels.com, Trip.com and 20+ more. Scrape up to 365 check-in dates in one run for price calendars and daily rate monitoring.
Export results as JSON, CSV, Excel or HTML, or use it as a Google Hotels API.
How it works
- Enter a city or place, e.g.
hotels in Rome, or paste the hotels you want to track - Pick the check-in date, nights and guests
- Switch on Prices from all booking sites if you need the full price comparison
- Run it: 20 hotels take about 10 seconds
No browser, no Google account, no API key.
Why this scraper
| π¨ Whole city | Pages through all results, not just the first 20 (500+ hotels in big cities) |
| π Many dates per run | Every day or every week, up to a year ahead, in a single run |
| πΆ All booking sites | 20+ prices per hotel with direct booking links |
| π Price comparison built in | Cheapest site, official website price and the difference (rate parity) |
| π― Filters | Hotels or vacation rentals, stars, guest rating, price range |
| π Made for monitoring | Relative dates like +1 day keep scheduled runs moving forward |
Use cases
- Hotel revenue management: track competitor rates for every night ahead
- Rate parity checks: see when an online travel agency sells your rooms cheaper than your website
- Travel apps and price comparison sites: hotel lists and prices ready for integration
- Market research: prices by city, season, star class and location
- AI agents: give your assistant live hotel prices through MCP
Output
One row per hotel and check-in date.
| Field | Description |
|---|---|
name | Hotel name |
type | hotel or vacation_rental |
stars, hotelClass | Star rating, e.g. 4, 4-star hotel |
rating, reviewsCount | Google guest rating (0β5) and number of reviews |
ratingDistribution | Number of 1β5 star reviews |
pricePerNight, priceText | Lowest price per night, e.g. 184.8, β¬185 |
currency | Price currency |
checkInDate, checkOutDate, nights, adults | The stay the price is for |
amenities | e.g. Free Wi-Fi, Pool, Spa, Free breakfast |
latitude, longitude | GPS coordinates |
checkInTime, checkOutTime | e.g. 3:00 PM, 12:00 PM |
description, thumbnail | Short description and photo |
googleHotelsUrl | Link to the hotel on Google Hotels for these dates |
googlePlaceId, googleCid, entityId | IDs to match with Google Maps data |
query, position | Your search and the hotel's position in the results |
With Prices from all booking sites on, each row also has:
| Field | Description |
|---|---|
offers | Every site: source, isOfficial, pricePerNight, totalPrice, bookingUrl |
cheapestSource, cheapestPricePerNight | The cheapest site and its price |
officialPricePerNight | Price on the hotel's own website |
officialVsCheapestDiff | How much more the official website costs than the cheapest site |
priceSpreadPerNight, offersCount | Price range across sites and number of sites |
address, phone | Hotel address and phone number |
Example of the price comparison for one hotel:
| Site | Per night | Total (2 nights) |
|---|---|---|
| Bookhotel.direct | β¬185 | β¬370 |
| trivago DEALS | β¬192 | β¬384 |
| Grand Palace Hotel (official) | β¬200 | β¬400 |
Pricing
| Event | Price |
|---|---|
| Run start | $0.01 per run |
| Hotel | $0.002 per hotel and date |
| Prices from all booking sites | $0.003 per hotel and date (optional) |
100 hotels = $0.21 | 100 hotels with all prices = $0.51 | 10 hotels Γ 30 dates with all prices = $1.51
Only hotels that pass your filters are charged. Set a maximum cost per run in the run options and the scraper stops there.
Input options
| Field | Default | Description |
|---|---|---|
queries | Searches like hotels in Paris, hotels near Eiffel Tower | |
hotels | Specific hotels: Google Hotels links or names | |
checkInDate | in 7 days | 2026-11-01 or relative, e.g. +7 days, today |
nights | 1 | Length of stay |
numberOfDates | 1 | How many check-in dates to scrape (up to 365) |
dateStepDays | 1 | Days between dates: 1 = every day, 7 = every week |
adults | 2 | Guests per room |
includePrices | false | Prices from all booking sites |
maxHotelsPerSearch | 100 | Hotels per search and date, 0 = all |
propertyType | hotels | all, hotels or vacation_rentals |
minStars, minRating | 0 | Minimum stars and guest rating |
minPrice, maxPrice | Price per night range | |
onlyWithPrice | false | Skip properties without a price for the dates |
currency, language, country | USD, en, us | Prices can differ by country |
Daily price monitoring
- Add your competitors to Specific hotels
- Set Check-in date to
+1 dayand Number of check-in dates to60 - Switch on Prices from all booking sites
- Save as a new task and Schedule it every morning
- Send results to Google Sheets, Slack, email, Make, Zapier or n8n from the Integrations tab
Send prices to Google Sheets
Keep one sheet with the latest rate for every hotel and date, updated in place after each run (no duplicate rows):
- Share your Google Sheet with the e-mail shown on Google Sheets Import & Export as Editor
- In this scraper's task: Integrations β Connect Actor or Task β choose Google Sheets Import & Export
- Use this input:
{"spreadsheetId": "https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit","mode": "update","sheetName": "Hotel rates","datasetId": "{{resource.defaultDatasetId}}","deduplicateByField": "entityId,checkInDate","columnsOrder": ["name", "checkInDate", "pricePerNight", "cheapestSource", "officialPricePerNight"],"excludeColumns": ["offers"],"addTimestamp": true}
Rows with the same hotel and check-in date are updated, new dates are added. For a price history instead, use "mode": "append" with "sheetName": "Rates {date}".
Use with AI agents (MCP)
Connect the scraper to Claude, ChatGPT, Cursor or any MCP client:
https://mcp.apify.com?tools=s_actors/google-hotels-scraper
Example prompts:
"Find 4-star hotels in Barcelona for next weekend under β¬150 a night and show which booking site is cheapest."
"Compare prices of Hotel Adlon Kempinski Berlin on all booking sites for every Friday in November."
Examples
All 4-star+ hotels in Barcelona
{ "queries": ["hotels in Barcelona"], "checkInDate": "+14 days", "nights": 2, "maxHotelsPerSearch": 0, "minStars": 4, "currency": "EUR" }
Competitor prices for the next 60 nights
{ "hotels": ["Hotel Adlon Kempinski Berlin", "The Ritz London"], "checkInDate": "+1 day", "numberOfDates": 60, "includePrices": true }
Every Friday for 3 months
{ "queries": ["hotels in Prague"], "checkInDate": "2026-11-06", "numberOfDates": 13, "dateStepDays": 7, "maxHotelsPerSearch": 50 }
Ready-made tasks
Open one, change the inputs, and run or schedule it:
- Hotel Competitor Price Monitoring on All Booking Sites
- Hotel Rate Parity Checker: Official Site vs Booking.com & OTAs
- All Hotels in a City with Prices, Ratings and Amenities
- Hotel Price Calendar: Nightly Rates for the Next 90 Days
- Vacation Rental Prices: Apartments & Holiday Homes Data
- Cheapest Booking Site for Every Hotel: Compare 20+ Sites
- Hotel Rate Shopper: Competitor Rates, Same Weekday for 12 Weeks
- Hotels Near a Landmark: Cheapest Booking Site for Each
- 5-Star Hotel Rates: Official Website vs Booking.com and OTAs
- Cheap Hotels Under $100 a Night and Where to Book Them
FAQ
Is there an official Google Hotels API? No. This scraper is the easiest way to get Google Hotels data via API.
Why is a price missing for some hotels? The property is sold out or no site offers a rate for those dates. Use onlyWithPrice to skip them.
Is it legal? It collects only publicly visible data, without login and without personal data. Check that your use complies with the laws and terms that apply to you.
Issues & feedback
Something missing or not working? Open an issue on the Issues tab with your run link. We respond quickly.