Google Hotels Scraper - $1.50 / 1000 Hotels avatar

Google Hotels Scraper - $1.50 / 1000 Hotels

Pricing

from $1.50 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper - $1.50 / 1000 Hotels

Google Hotels Scraper - $1.50 / 1000 Hotels

Scrape Google Hotels as clean JSON: hotel and rental prices per night and total with taxes, rating, reviews, stars, amenities, deals, location and photos for any city and dates, plus every booking site's offer per hotel. No login. $1.50 per 1000 hotels.

Pricing

from $1.50 / 1,000 hotels

Rating

0.0

(0)

Developer

Scrapeunblocker

Scrapeunblocker

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Google Hotels Scraper

Scrape Google Hotels as clean, structured JSON - every hotel and vacation rental Google lists for a search, with the price for your dates (per night and for the whole stay, before and after taxes), Google's deal badges, the rating with its star breakdown and what guests talk about, the hotel class, amenities, location, nearby places and photos. Turn on booking-site offers to also get every booking site's price for each hotel - the official site, Booking.com, Expedia, Agoda and more - with room rates and free-cancellation deadlines. Any city, dates, guests, currency and market. No Google account, API key or proxies to set up.

Features

  • Any search - a city or area ("hotels in Paris"), a landmark ("hotels near Times Square") or a hotel name; hotels in Google's order (position), up to 100 per search.
  • Your stay - check-in and check-out dates, adults and children's ages. Leave the dates empty for Google's default dates.
  • Prices you can compute with - price.perNight, price.perNightWithTaxes, price.total, price.totalWithTaxes and price.taxes as numbers, currency as an ISO 4217 code, plus Google's own price text.
  • Deals - Google's badge (great_deal or deal) with how far below the usual price it is.
  • Ratings - rating, review count, the 5-to-1 star breakdown and review topics (what guests mention, with positive and negative counts).
  • Hotel facts - class and stars, amenities, description, website, coordinates, nearby places with travel times, photos and a Google Maps link.
  • Booking-site prices - with includeOffers, or by property token: the price on every booking site for the stay, the hotel's official site flagged, a link to book, room-level rates and free-cancellation deadlines.
  • Any market and language - currency, country (market) and language.

Use cases

  • Rate shopping - track your hotel's and your competitors' prices on Google for future dates, on a schedule.
  • Rate parity checks - compare the official-site price with Booking.com, Expedia and the other sites for the same stay.
  • Travel products - feed comparison sites and apps with hotels, prices, ratings and photos.
  • Market research - price levels, ratings and supply by city, star class and season.
  • Lead lists - hotel names, websites, phone numbers and addresses for a destination.

Input

FieldTypeDefaultDescription
searchesarray-Google Hotels searches, e.g. hotels in Paris (one search each). An empty input runs one example search.
propertyTokensarray-propertyToken values from earlier results: one item per hotel with every booking site's price and room rates.
checkInstring-Check-in date, YYYY-MM-DD. Set together with checkOut.
checkOutstring-Check-out date, YYYY-MM-DD (stays of up to 30 nights).
adultsinteger2Number of adults (1-10).
childrenstringemptyChildren's ages, comma-separated, e.g. 7,10 (up to 6).
currencystringUSDPrice currency, ISO 4217.
languagestringenLanguage of names, amenities and price texts.
countrystringusMarket, as an ISO-2 code.
maxResultsPerSearchinteger20Hotels to collect per search (1-100).
includeOffersbooleanfalseAlso fetch every booking site's price and the room rates for each hotel found by a search.
concurrencyinteger3Calls run at the same time (1-5).

Example input

{
"searches": ["hotels in Lisbon", "hotels near Times Square"],
"checkIn": "2026-12-04",
"checkOut": "2026-12-06",
"adults": 2,
"children": "7",
"currency": "EUR",
"maxResultsPerSearch": 40,
"includeOffers": true
}

Output

One dataset item per hotel (trimmed):

{
"position": 1,
"search": "hotels in Paris",
"source": "search",
"name": "Courtyard by Marriott Paris Gare de Lyon",
"type": "hotel",
"propertyToken": "ChkIh_ig59yqmq16Gg0vZy8xMWY2Y3IybmpqEAE",
"hotelClass": "4-star tourist hotel",
"stars": 4,
"rating": 4.4,
"reviews": 1748,
"price": {
"display": "$177",
"displayIncludesTaxes": false,
"perNight": 176.89,
"perNightWithTaxes": 192.67,
"total": 176.89,
"totalWithTaxes": 192.67,
"taxes": 15.78,
"perNightWithTaxesDisplay": "$193",
"totalWithTaxesDisplay": "$193"
},
"deal": null,
"currency": "USD",
"checkIn": "2026-11-01",
"checkOut": "2026-11-02",
"nights": 1,
"adults": 2,
"children": [],
"amenities": ["Breakfast ($)", "Wi-Fi ($)", "Parking ($)", "Air conditioning", "Fitness center", "Bar", "Restaurant", "Full-service laundry"],
"amenityCodes": [165, 30, 17, 2, 8, 4],
"description": "Modern hotel featuring streamlined quarters, some with city views, plus dining & a fitness center.",
"website": "https://www.marriott.com/en-us/hotels/pargl-courtyard-paris-gare-de-lyon/overview/",
"latitude": 48.8450789,
"longitude": 2.3712402,
"country": "FR",
"ratingsBreakdown": [
{"stars": 5, "percent": 67, "count": 1144},
{"stars": 4, "percent": 21, "count": 372}
],
"reviewTopics": [
{"name": "Transit", "fullName": "Public transit", "mentions": 164, "positive": 132, "negative": 8, "sentiment": 0.551},
{"name": "Service", "fullName": "Service", "mentions": 341, "positive": 274, "negative": 52, "sentiment": 0.504}
],
"nearbyPlaces": [
{"name": "Gare de Lyon", "kind": "transit", "travel": [{"mode": "walking", "duration": "4 min"}]},
{"name": "Aéroport de Paris-Charles de Gaulle", "kind": "airport", "travel": [{"mode": "taxi", "duration": "36 min"}, {"mode": "public_transport", "duration": "45 min"}]}
],
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfAu90-EOyWr0kxX5i3BCDM792e...",
"images": ["https://lh3.googleusercontent.com/grass-cs/AABkmLfAu90-EOyWr0kxX5i3BCDM792e..."],
"mapsCid": "8816475037762075655",
"mapsUrl": "https://maps.google.com/?cid=8816475037762075655",
"hotelId": "11395465993892876298",
"url": "https://www.google.com/travel/hotels/entity/ChkIh_ig59yqmq16Gg0vZy8xMWY2Y3IybmpqEAE?hl=en&gl=us",
"market": "us",
"language": "en"
}

With includeOffers, each hotel also carries its booking options (trimmed):

{
"name": "River Palace Hotel",
"search": "hotels in Rome",
"offersCollected": 20,
"address": "Via Flaminia, 33, 00196 Roma RM",
"phone": "06 830011",
"offers": [
{
"provider": "River Palace Hotel",
"official": true,
"link": "https://www.google.com/travel/lodging/clk?pc=AA80Osxi8m4pjzo...",
"partnerUrl": "https://www.blastnessbooking.com/GoogleBooking.php?order=asc...",
"perNight": 198.5,
"total": 397.0,
"perNightDisplay": "€199",
"totalDisplay": "€397"
},
{
"provider": "Amimir.com",
"official": false,
"link": "https://www.google.com/travel/lodging/clk?pc=AA80Osy5inbrK4M...",
"partnerUrl": "https://www.amimir.com/en/book/?start=04%2F12%2F2026&end=06%...",
"perNight": 133.5,
"total": 267.0,
"perNightDisplay": "€134",
"totalDisplay": "€267"
}
],
"rooms": [
{
"name": "Classic Double Room",
"rates": [
{"provider": "Booking.com", "perNight": 195.5, "total": 391.01, "totalDisplay": "€391", "freeCancellation": false, "freeCancellationUntil": null}
]
}
]
}

An item from propertyTokens has the same hotel fields plus address, phone, about, placeId, offers, rooms, offersCollected and the token in input.

Searches and property tokens that return nothing or cannot be run go to the ERRORS record in the run's key-value store, with the reason. They are not billed. A hotel whose booking options cannot be fetched is still delivered, with an offersError field, and is not charged for offers.

Pricing

$1.50 per 1000 hotels (pay per result) - one dataset item is one hotel from a search, or one hotel from a property token. With includeOffers, each hotel that gets its booking-site prices is also charged the hotel-offers event: $2.00 per 1000 ($3.50 per 1000 hotels in all). Failed searches, unknown tokens and failed offers calls are free.

Notes

  • Google Hotels shows about 20 hotels per results page; a maxResultsPerSearch above 20 reads the following pages, up to 100 hotels per search.
  • A search naming one hotel returns just that hotel, marked matchedProperty: true.
  • A search Google cannot place falls back to hotels around the request's origin; such items carry a warning in warnings, so name the city or area in the search.
  • The WithTaxes price fields are null when Google shows a single price (in many markets prices already include taxes); price.displayIncludesTaxes says what Google's headline price includes.
  • Booking sites follow the market (country): for example a us market lists Expedia.com and a ca market Expedia.ca.
  • Room rates are listed for the hotels where Google shows them.
  • Powered by ScrapeUnblocker.