Google Hotels Scraper: Hotel Rates & Price Comparison, No Login avatar

Google Hotels Scraper: Hotel Rates & Price Comparison, No Login

Pricing

from $1.40 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper: Hotel Rates & Price Comparison, No Login

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

Mayowa Ogedengbe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 days ago

Last modified

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, null when Google shows nothing. Fields are never renamed, so your sheets and code keep working.

How to scrape Google Hotels prices (3 steps)

  1. Click Try for free and type one or more destinations, such as Lisbon or hotels near Times Square.
  2. 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.
  3. 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 groupFields
Price for your staypricePerNight, pricePerNightBeforeTaxes, totalPrice, totalPriceBeforeTaxes, currency, checkInDate, checkOutDate, nights, adults, dealNote
Booking-site comparisonoffers[] (source, pricePerNight, totalPrice, isOfficialSite, bookingUrl), offerCount, lowestOfferSource
Ratings and reviewsrating, reviewCount, ratingDistribution, reviewTopics
Hotel detailsname, hotelClass, description, amenities, amenityDetails, checkInTime, checkOutTime, imageUrls, isVacationRental
Location and contactaddress, phone, website, latitude, longitude, countryCode, nearbyPlaces, googlePlaceId, googleMapsUrl
Price trackingchangeType, 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 getPrice 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

  1. Set Mode to Only new or changed price, give the run a Monitor name, and use a relative check-in date such as 30.
  2. In Apify Console, click Schedule and choose daily or hourly.
  3. The first run gives you every hotel as a starting point. After that, each run returns only hotels whose nightly price moved, with previousPricePerNight and priceChange.

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 ApifyClient
client = 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.