Google Hotels Scraper avatar

Google Hotels Scraper

Pricing

from $2.00 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper

Google Hotels Scraper

Scrape Google Hotels search results: hotel name, address, coordinates, star class, rating, reviews, nightly and total prices, per-provider prices (Booking.com, Expedia, official site...), amenities and photos. Any dates, guests, currency and filters.

Pricing

from $2.00 / 1,000 hotels

Rating

0.0

(0)

Developer

Marlon Lee

Marlon Lee

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Categories

Share

Export Google Hotels search results for any city, neighborhood or landmark, with hotel names, coordinates, star class, guest ratings, nightly and total prices, and each booking site's price (Booking.com, Expedia, Hotels.com, Agoda, the hotel's official site and more). Revenue managers use it for rate parity checks and price monitoring, and travel researchers use it to size up a destination. You choose the dates, guests, currency, language and country, and you need no Google account or API key.

What you get

One row per hotel with:

  • Name, Google hotel ID, Google Hotels URL, one-line description and website
  • Latitude and longitude, plus the Google Maps feature ID
  • Star class, guest rating and review count
  • Lowest nightly price, nightly price with taxes and fees, total for the stay with and without fees, and the currency
  • Check-in and check-out dates for the search, and check-in and check-out times when Google lists them
  • Amenities (in the language you pick) and photo URLs
  • With Include per-provider prices on (the default): full address, phone number and the offer list from the hotel's Prices tab, with each provider's name, official-site flag, nightly price, price with fees, total for the stay and booking link

Use cases

  • Rate parity checks: compare the hotel's official price with Booking.com, Expedia and other OTAs for the same stay.
  • Price monitoring: schedule runs for fixed dates and track how rates move as the stay gets closer.
  • Destination research: measure hotel supply, star mix and average rates in a city.
  • Hotel lists: build lists with coordinates, websites and phone numbers for maps, lead generation or data enrichment.

How to use the Google Hotels scraper

  1. Open the Actor in Apify Console.
  2. Enter one or more searches, as you'd type them into Google Hotels, for example hotels in Lisbon or hotels near Eiffel Tower.
  3. Set check-in and check-out dates, adults and children, and the currency. Leave the dates empty to use Google's default dates.
  4. Add filters if you want them: star class, minimum and maximum nightly price, and minimum guest rating. Set Max hotels per query.
  5. Click Start, then download the results as JSON, CSV, Excel or HTML, or read them through the Apify API.

Input example

{
"queries": ["hotels in Lisbon"],
"checkIn": "2026-11-10",
"checkOut": "2026-11-13",
"adults": 2,
"currency": "EUR",
"hotelClass": ["4", "5"],
"minRating": "4",
"maxItems": 100,
"includeProviders": true
}

Other fields: children (sent to Google as 10 years old), hl and gl for Google's language and country (default en and us), and minPrice and maxPrice for the nightly price range in your currency.

Output example

{
"name": "Patio São Vicente Guest Houses",
"hotelId": "ChkIn4CU6sjxgJ1YGg0vZy8xMWY0XzdqenhqEAE",
"url": "https://www.google.com/travel/hotels/entity/ChkIn4CU6sjxgJ1YGg0vZy8xMWY0XzdqenhqEAE",
"address": "Telheiro de S. Vicente 10A, 1100-594 Lisboa, Portugal",
"phone": "+351 965 404 627",
"website": "https://www.patiosaovicente.com/",
"latitude": 38.7155846,
"longitude": -9.1280593,
"hotelClass": 4,
"hotelClassText": "4-star hotel",
"rating": 4.9,
"reviewCount": 347,
"currency": "EUR",
"lowestPrice": 118.24,
"lowestPriceWithFees": 133,
"totalPrice": 355,
"totalPriceWithFees": 400,
"checkInDate": "2026-11-10",
"checkOutDate": "2026-11-13",
"checkInTime": "3:00 PM",
"checkOutTime": "11:00 AM",
"amenities": ["Free Wi-Fi", "Air conditioning", "Breakfast", "Parking", "Airport shuttle"],
"images": ["https://lh3.googleusercontent.com/..."],
"providers": [
{ "name": "Expedia.com", "isOfficialSite": false, "price": 118.24, "priceWithFees": 133.35, "totalPrice": 354.71, "totalPriceWithFees": 400.04, "url": "https://www.google.com/travel/lodging/clk?..." }
],
"query": "hotels in Lisbon"
}
  • lowestPrice is the lowest nightly price Google shows. totalPrice covers the whole stay. The ...WithFees fields include taxes and fees as Google reports them.
  • Provider url values are Google's redirect links to the booking site, as they appear on Google.
  • address, phone and providers are null when Include per-provider prices is off.
  • checkInTime and checkOutTime appear only when Google lists them for the property (about 2 in 3 hotels in our tests).

Pricing

You pay per hotel saved, with no monthly rental. A hotel saved with provider prices and address counts as a hotel-with-prices result, and one saved without them counts as a hotel result. Hotels your filters remove aren't charged. Set a maximum spend per run and the Actor stops once it reaches the limit.

FAQ

Is it legal to scrape Google Hotels? The Actor reads the same public pages anyone sees at google.com/travel/hotels, without logging in. Google's terms govern automated access and reuse of its results, so review them and ask a lawyer about your use case, especially before you republish prices.

Do I need a Google account? No.

Will Google block it? Which proxy should I use? Google rate-limits datacenter IPs, so the default is Apify residential proxy in the US. The Actor spots "unusual traffic" and consent pages, switches to a new session and retries, up to six times per page.

Does it use a browser? No. It reads the structured data Google embeds in the page, which keeps runs fast.

How do the filters work? Google applies star class, maximum price and the 3.5+, 4.0+ and 4.5+ rating filters itself. The Actor applies the minimum price afterwards, so strict filters may make it read several pages to find enough matches.

Can I scrape a single hotel? Search for its name, for example Four Seasons Ritz Lisbon. The hotel is usually the first result.

Does it work in other languages and currencies? Yes. Set hl, gl and currency. It has been tested with fr/fr/JPY and en/us/EUR.

What are the limits?

  • Google shows about 18 to 20 hotels per results page. The Actor follows pagination until it reaches Max hotels per query or Google runs out of results.
  • Prices, providers and availability are what Google shows at scrape time for your dates and guests. Some properties only show "Contact this property" and have no providers.
  • If a hotel's Prices page still fails after retries, that hotel is left out of the results.
  • Google changes its internal data layout from time to time. The parser matches records by their shape rather than fixed keys to survive small changes, but a large change can break it until the Actor is updated.