Google Hotels Scraper avatar

Google Hotels Scraper

Pricing

from $8.00 / 1,000 results

Go to Apify Store
Google Hotels Scraper

Google Hotels Scraper

Search Google Hotels and get every hotel with prices for your dates, rating, reviews, amenities, location, photos and booking links. Optional per-site booking offers, address and phone. Fast HTTP scraper, no browser.

Pricing

from $8.00 / 1,000 results

Rating

0.0

(0)

Developer

code craker

code craker

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Categories

Share

Search Google Hotels and get every hotel and vacation rental with prices for your dates, rating, reviews, amenities, location, photos and booking links. Optionally open each hotel to get the price on every booking site (Booking.com, Expedia, Hotels.com, the hotel's own site, ...), plus its address and phone number.

The actor talks to Google over plain HTTP — no browser — so runs are fast and cheap: 500 hotels from five searches take about half a minute.

Features

  • 🔎 Search like on Google — hotels in Paris, beach resorts in Bali, vacation rentals near Lake Tahoe. Run many searches at once.
  • 💵 Real prices for your stay — nightly price, whole-stay total, and taxes and fees, for the dates, guests and currency you choose.
  • 🏷 Booking offers per site — optional: every booking site's price for the hotel, with a link to each offer.
  • ⭐ Ratings in depth — average rating, review count, reviews per star, and what guests mention (service, location, cleanliness, ...).
  • 🎛 Filters and sorting — sort by lowest price, highest rating or most reviewed; filter by guest rating and hotel class.
  • 👨‍👩‍👧 Guests — adults and children (with ages), so family prices are correct.
  • ♾ Automatic pagination — pages are fetched in parallel until your limit is reached or Google runs out of results.
  • 💾 Incremental results — hotels are saved page by page, so a long run never loses what it collected.

Use cases

  • Price monitoring and rate-parity checks across booking sites
  • Competitor benchmarking for hotels and revenue managers
  • Travel apps, deal finders and price-alert tools
  • Market research: supply, pricing and guest sentiment by destination
  • Lead lists of hotels with website, phone and address

Quick start

  1. Enter a search, e.g. hotels in Paris.
  2. Pick check-in and check-out dates (or leave them empty for a one-night stay a week from today).
  3. Run. Hotels appear in the dataset as each page completes.

Input

FieldTypeDescription
searchQueriesarrayRequired. Searches to run, as you would type them on Google Hotels.
maxResultsintegerHotels to return per search (1–1000). Default 100.
checkInDate / checkOutDatestringyyyy-mm-dd, or a relative offset such as 7 days. Default: one night, a week from today. Stays up to 30 nights.
adultsintegerAdult guests (1–10). Default 2.
childrenAgesarrayOne age (0–17) per child.
currencystring3-letter code, e.g. USD, EUR, GBP. Default USD.
sortBystringrelevance, lowest_price, highest_rating or most_reviewed.
minRatingstring3.5, 4 or 4.5 — minimum guest rating.
hotelClassarrayStar classes to keep: 2, 3, 4, 5.
includeOffersbooleanAdd per-site booking offers, address, phone and typical price range. Slower, no extra charge. Default false.
languagestringLanguage of descriptions and labels, e.g. en, fr, pt-BR. Default en.
proxyConfigurationobjectProxy settings. The default (Apify datacenter proxy, United States) is recommended.

Example

{
"searchQueries": ["hotels in Paris", "hotels in Rome"],
"maxResults": 200,
"checkInDate": "2026-12-18",
"checkOutDate": "2026-12-21",
"adults": 2,
"currency": "EUR",
"sortBy": "lowest_price",
"minRating": "4",
"includeOffers": true
}

Output

One dataset item per hotel:

{
"searchQuery": "hotels in Paris",
"position": 3,
"name": "Hôtel Mercure Paris Porte d'Orléans",
"type": "4-star tourist hotel",
"hotelClass": 4,
"description": "Modern hotel featuring streamlined quarters, plus dining & a fitness center.",
"rating": 4,
"reviewsCount": 1815,
"pricePerNight": 68.18,
"pricePerNightFormatted": "$68",
"pricePerNightWithTaxesFormatted": "$75",
"totalPrice": 136.36,
"taxesAndFees": 13.64,
"totalPriceWithTaxes": 150,
"totalPriceWithTaxesFormatted": "$150",
"currency": "USD",
"deal": "39% less than usual",
"typicalPriceRange": { "low": "$96", "high": "$129" },
"checkIn": "2026-11-20",
"checkOut": "2026-11-22",
"nights": 2,
"adults": 2,
"children": 0,
"address": "13 Rue François Ory, 92120 Montrouge, France",
"countryCode": "FR",
"latitude": 48.81763,
"longitude": 2.3292313,
"phone": "+33 1 58 07 11 11",
"website": "https://all.accor.com/hotel/0374/index.fr.shtml",
"checkInTime": "2:00 PM",
"checkOutTime": "12:00 PM",
"amenities": ["Paid breakfast", "Free Wi-Fi", "Paid parking", "Air conditioning", "Pet-friendly", "Fitness center"],
"ratingsBreakdown": { "5": 839, "4": 508, "3": 230, "2": 103, "1": 135 },
"reviewTopics": [{ "topic": "Service", "mentions": 44, "positive": 25, "negative": 16 }],
"nearbyPlaces": [{ "name": "Catacombs of Paris", "transport": [{ "mode": "car", "duration": "10 min" }] }],
"thumbnail": "https://lh3.googleusercontent.com/...",
"photos": ["https://lh3.googleusercontent.com/..."],
"offers": [
{
"provider": "Booking.com",
"isOfficialSite": false,
"pricePerNight": 95.06,
"pricePerNightWithTaxes": 123.46,
"totalPrice": 190.11,
"totalPriceWithTaxes": 246.92,
"perk": null,
"link": "https://www.google.com/travel/lodging/clk?..."
}
],
"bookingLink": "https://www.google.com/travel/clk/hi?...",
"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/ChgIk_yPrdu8xKuuARoLL2cvMXY4Z2JiOTIQAQ",
"googleMapsUrl": "https://www.google.com/maps?cid=12562486388467236371",
"hotelId": "ChgIk_yPrdu8xKuuARoLL2cvMXY4Z2JiOTIQAQ",
"placeId": "0x47e671a865cd5ea3:0xae5711e5b5a3fe13",
"scrapedAt": "2026-10-12T11:31:17.928Z"
}

offers, typicalPriceRange, address and phone come from opening the hotel, so turn on Include booking offers to get them. typicalPriceRange is the hotel's usual nightly price range, which is what a deal such as "39% less than usual" is measured against. Vacation rentals usually publish no address or phone.

Good to know

  • Hotels without a price. Some hotels have no price for the chosen stay — they are sold out, have no room for that many guests, or do not share rates with Google. They are still returned, with the price fields set to null.
  • Prices depend on where Google thinks you are. Google hides hotel prices for visitors from some countries, so the actor uses United States proxies unless you choose another country.
  • Amenity names are in English regardless of the language setting.
  • Result depth. Google lists up to roughly 500 properties per search and the run ends there. To cover a big city completely, split it into several searches — by neighbourhood (hotels in Montmartre Paris) or by hotel class.
  • Vague searches. If Google cannot tell which place you mean, it may answer with hotels from somewhere else. Name the destination clearly.

Billing

You pay per hotel saved to the dataset. Booking offers, address and phone are included in that price — turning on Include booking offers costs nothing extra.

The run stops on its own when it reaches the maximum charge you set, so you never pay for more than you asked for.

Local development

npm install
npm test # parser and input unit tests
apify run # runs with the input in storage/key_value_stores/default/INPUT.json