Google Hotels Scraper avatar

Google Hotels Scraper

Pricing

from $1.00 / 1,000 hotel results

Go to Apify Store
Google Hotels Scraper

Google Hotels Scraper

Scrape Google Hotels for any city and dates: nightly and total prices, deals, ratings, reviews, amenities, location and photos. Optional prices from every booking site.

Pricing

from $1.00 / 1,000 hotel results

Rating

0.0

(0)

Developer

kok hui

kok hui

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Categories

Share

Get hotel prices for your exact dates from Google Hotels for any city, neighborhood or region. Each hotel comes with its price per night and for the whole stay, any current deal, guest rating and review breakdown, star class, amenities, location details and photos. Turn on one option to also get the price from every booking site that lists the hotel, such as Booking.com, Expedia, Agoda and the hotel's own website.

No browser, no login and no Google API key needed. Results download as JSON, CSV or Excel, or arrive in your app through the Apify API.

What data you get

  • Prices for your dates: per night and in total, before and after taxes, in the currency you choose
  • Deals: Google's deal labels, such as "21% less than usual"
  • Reviews: guest rating, review count, how many reviews gave each star rating, and the topics guests mention most (service, location, breakfast…) with positive and negative counts
  • Hotel details: star class, amenities (Free Wi-Fi, pool, spa, parking…), eco-certification, property type, check-in and check-out times, description, website
  • Location: coordinates, Google Maps link, location score, and nearby airports, transit stops, sights and restaurants with travel times
  • Photos: up to 20 high-resolution photo URLs per hotel
  • Booking-site prices (optional): every site's price per night and total, a link to that site's offer, plus the hotel's address and phone number

What people use it for

  • Hotel price monitoring: schedule a daily run with a relative date such as "30 days" and track how rates move
  • Competitive rate checks for hotels and revenue managers: see how your rates compare with nearby properties across booking sites
  • Travel apps and AI agents: live hotel availability and prices without an official API
  • Market research: average prices by city, season, star class or neighborhood
  • Hotel lead lists: names, websites, phone numbers and locations

How to use it

  1. Add one or more search queries, the same way you would type them into Google Hotels: hotels in Lisbon, Shinjuku, resorts in Bali.
  2. Pick the check-in date and nights. A relative date like 14 days always means 14 days after the day the run starts, which keeps scheduled runs pointed at the future.
  3. Set guests, currency and the number of hotels per query.
  4. Optionally add filters (price range, star class, minimum rating, free cancellation) and choose a sort order.
  5. Turn on Add prices from every booking site if you need the per-site comparison.
  6. Run it and download the results.

Input example

{
"queries": ["hotels in Tokyo", "hotels in Osaka"],
"checkInDate": "2026-12-10",
"nights": 3,
"adults": 2,
"childrenAges": ["8"],
"currency": "USD",
"maxResults": 100,
"sortBy": "lowestPrice",
"hotelClass": ["4", "5"],
"minRating": "4.0",
"includeProviderPrices": false
}

Output example

One record per hotel (shortened):

{
"name": "HOTEL THE CELESTINE TOKYO SHIBA",
"query": "hotels in Tokyo",
"position": 21,
"hotelClass": 5,
"rating": 4.3,
"reviewsCount": 1941,
"locationRating": 3.4,
"currency": "USD",
"pricePerNight": 224.35,
"pricePerNightWithTaxes": 247,
"totalPrice": 673,
"totalPriceWithTaxes": 740,
"deal": "21% less than usual",
"dealType": "DEAL",
"checkInDate": "2026-10-20",
"checkOutDate": "2026-10-23",
"nights": 3,
"checkInTime": "3:00 PM",
"checkOutTime": "12:00 PM",
"amenities": ["Free Wi-Fi", "Parking ($)", "Fitness center", "Bar", "Restaurant", "Accessible", "Kid-friendly"],
"ecoCertified": true,
"website": "https://www.celestinehotels.jp/tokyo-shiba/",
"googleMapsUrl": "https://www.google.com/maps?cid=2414549791662245438",
"latitude": 35.650874,
"longitude": 139.748867,
"ratingHistogram": { "5": 1029, "4": 623, "3": 221, "2": 36, "1": 32 },
"reviewMentions": [{ "aspect": "Service", "mentions": 196, "positive": 169, "negative": 19 }],
"nearbyPlaces": [
{
"name": "Haneda Airport",
"category": "airport",
"travelTimes": [
{ "mode": "taxi", "duration": "20 min" },
{ "mode": "publicTransport", "duration": "2 hr 31 min" }
]
}
],
"images": ["https://lh4.googleusercontent.com/proxy/...=s1024"],
"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/ChcIvoyWhOKHjcEhGgsvZy8xMjJydjdzZxAB?...",
"address": "3 Chome-23-1 Shiba, Minato City, Tokyo 105-0014, Japan",
"phone": "+81 3-5441-4111",
"providerPrices": [
{ "provider": "HOTEL THE CELESTINE TOKYO SHIBA", "isOfficialSite": true, "pricePerNight": 224.35, "totalPriceWithTaxes": 740.34, "url": "https://..." },
{ "provider": "Agoda", "isOfficialSite": false, "pricePerNight": 264.06, "totalPriceWithTaxes": 871.39, "url": "https://www.agoda.com/..." }
]
}

address, phone and providerPrices are only filled when Add prices from every booking site is on.

Pricing

You pay per hotel returned, and Apify platform usage is included:

  • Hotel result: each hotel from the search results
  • Hotel with booking-site prices: each hotel when booking-site prices are turned on (this opens one more page per hotel)

Current prices are on the Pricing tab. You can set a maximum cost per run in the run options, and the scraper stops cleanly when it reaches it. If a hotel's booking-site prices can't be loaded, that hotel is billed as a regular result.

Tips and notes

  • About 20 hotels per page. Google lists about 20 hotels per results page. The scraper follows the pages until it has the number you asked for, and removes any hotel that shows up on two pages.
  • Taxes depend on the country. In countries where Google shows prices with taxes included (most of the EU, for example), pricePerNight already includes them and the WithTaxes fields stay empty.
  • Some hotels have no price. A hotel that is sold out or not bookable for your dates is still returned, with empty price fields.
  • Search for places, not hotels. A query for one specific hotel name usually returns no list. Search for its area instead, for example hotels near Marina Bay.
  • Language. Hotel names and descriptions follow the language you choose. Amenity names are always in English, so they're consistent across countries.
  • Proxies. Keep the default residential proxy. Google quickly blocks data-center IPs.
  • Input with a simple fix is corrected. A check-in date in the past moves to tomorrow, and a minimum price above the maximum is swapped. The log lists every change made.

This scraper only collects publicly available hotel listings: business names, prices, ratings and similar facts. It doesn't collect personal data or anything behind a login. Check that your use of the data complies with the laws that apply to you and with Google's terms. If you're unsure, ask a lawyer.

Track one hotel across many dates

To follow specific hotels' prices for every check-in date up to a year ahead, use the Google Hotels Price Tracker. Paste the googleHotelsUrl values from this scraper's results into it.

Feedback

Found a bug or need a field that's missing? Open an issue on the Issues tab.