Google Hotels Scraper
Pricing
from $2.00 / 1,000 properties
Google Hotels Scraper
Hotels and vacation rentals from Google Hotels for any place and stay: price per night and total, rating, reviews, star class, deal label, location, amenities, photos, and optionally each property's address, phone and prices per booking site. Filters, sorting, any currency. No browser, no login.
Pricing
from $2.00 / 1,000 properties
Rating
0.0
(0)
Developer
Steady Scrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Hotels and vacation rentals for any place and stay, straight from the Google Hotels results page: the price per night and the total with taxes and fees, Google's deal label ("31% less than usual"), star class, guest rating with the review count, star distribution and what guests mention, amenities, location, nearby transit and airports, photos, and a link to the property on Google Hotels. Any currency, any market, Google's own filters and sorting, up to 500 results per search. Optionally the property's own page too: street address, phone, one offer per booking site (Booking.com, Expedia, the hotel's own site…) priced for the stay, the review sources and sample reviews. Every search comes back as rows, and when Google has nothing the row says why (no_results, invalid, blocked) instead of an empty dataset. You pay only for properties.
No browser, no login, no API key: it reads the page Google serves, paces itself the way Google tolerates, and rotates IPs before Google's wall shows up.
What you get
One row per property, in Google's order for the sort you chose:
- The stay's price:
pricePerNightandtotalPrice(with taxes and fees) incurrencyfor the exact dates and guests,priceBeforeTaxes,taxesAndFees, thedeallabel when Google shows one, andbookingUrl. - The property:
name,type(hotel or vacation rental),category(hotel, hostel, guest_house, bed_and_breakfast…),hotelClass(stars),rating,reviewCount,ratingDistribution,reviewAspects(what guests mention, with positive and negative counts),description,amenities,essentials(vacation rentals: "Entire apartment", "Sleeps 4", "2 bedrooms"…),checkInTime,website. - Where it is:
latitude,longitude,country,nearby(attractions, transit, airport, restaurants with walking, driving and transit times), andimages. - With details (
includeDetails):address,phone,descriptionLong,offers(provider, per-night and total price, link, whether it is the property's own site) foroffersCheckIn–offersCheckOut,reviewSources(Tripadvisor, Trip.com… with their scale and counts) andreviews(author, date, rating, text). - What was asked:
searchIndex,query,place(the place Google resolved),propertyType,checkIn,checkOut,nights,adults,childAges,currency,market,language,rank,url,entityId,featureId,hotelId,scrapedAt. statusandreason:ok,no_results,invalid(a stay Google will not price, with the dates it answered instead), orblocked(every IP route was refused; unpaid).
Input
| field | what it does |
|---|---|
queries | One search per entry, as typed on Google Hotels: hotels in Lisbon, Paris 11e, near Times Square. A hotel's name gives that hotel first. |
checkIn, checkOut or nights | The stay (1–30 nights, up to a year ahead). |
adults, childAges | Guests; one age per child. |
propertyType | hotels (Google's default tab, which also lists some rentals) or vacation_rentals. |
sortBy | relevance, lowest_price, highest_rating, most_reviewed. |
minRating, hotelClass, minPrice, maxPrice, freeCancellation, amenities | Google's own filters, applied in the search. |
currency, market, language | Prices in this currency for this point of sale; names and labels in this language. |
urls | Searches copied from Google Hotels (links with q and ts), searched as they are. |
maxResultsPerSearch | Google pages by twenty; the Actor follows the pages up to this many rows (default 20, max 500). |
includeDetails | Fetch each property's own page (one extra request per property). |
residentialFallback | Retry through residential proxies when Google refuses the datacenter IPs. Default on. |
{"queries": ["hotels in Lisbon"],"checkIn": "2026-11-10","checkOut": "2026-11-13","adults": 2,"hotelClass": [4, 5],"minRating": "4.0","sortBy": "lowest_price","currency": "USD","maxResultsPerSearch": 40}
Output example
{"searchIndex": 1,"status": "ok","reason": null,"query": "hotels in Lisbon","propertyType": "hotels","checkIn": "2026-11-10","checkOut": "2026-11-13","nights": 3,"adults": 2,"childAges": [],"currency": "USD","market": "us","language": "en","place": "Lisbon","rank": 1,"name": "Iberostar Selection Lisboa","type": "hotel","category": "hotel","hotelClass": 5,"hotelClassLabel": "5-star hotel","rating": 4.7,"reviewCount": 3815,"ratingDistribution": [{ "stars": 5, "percent": 78, "count": 2976 }, { "stars": 4, "percent": 14, "count": 534 }],"reviewAspects": [{ "name": "Breakfast", "mentions": 412, "positive": 371, "negative": 27 }],"pricePerNight": 128.81,"totalPrice": 386.44,"priceBeforeTaxes": 338.56,"taxesAndFees": 47.88,"deal": { "text": "47% less than usual", "level": "great_deal" },"bookingUrl": "https://www.google.com/travel/clk/hi?qid=…","latitude": 38.7247, "longitude": -9.1509, "country": "PT","address": "R. Castilho 64, 1250-071 Lisboa, Portugal","phone": "+351 21 585 9000","website": "https://www.iberostar.com/…","checkInTime": "3:00 PM","description": "Polished rooms & suites in a sleek hotel with a rooftop pool, a spa & a restaurant.","descriptionLong": ["A 4-minute walk from Marquês de Pombal metro station…"],"amenities": ["Breakfast ($)", "Free Wi-Fi", "Parking ($)", "Pools", "Hot tub", "Air conditioning", "Fitness center", "Spa"],"essentials": null,"nearby": [{ "name": "Marquês de Pombal", "category": "transit", "times": [{ "mode": "walking", "time": "4 min" }] }],"images": ["https://lh3.googleusercontent.com/…"],"offers": [{ "provider": "Iberostar Selection Lisboa", "official": true, "perNight": 157.38, "total": 472.14, "url": "https://www.google.com/travel/lodging/clk?…" }],"offersCheckIn": "2026-11-10","offersCheckOut": "2026-11-13","reviewSources": [{ "name": "Tripadvisor", "rating": 4.4, "scale": 5, "reviewCount": 943 }],"reviews": [{ "source": "Tripadvisor", "author": "…", "when": "2 weeks ago", "rating": 3, "scale": 5, "text": "…" }],"entityId": "ChoIy_fo59Ha34akARoNL2cvMTFmeTVnazZ0YxAB","featureId": "0x…:0x…","hotelId": "…","url": "https://www.google.com/travel/hotels/entity/ChoIy_fo59Ha34akARoNL2cvMTFmeTVnazZ0YxAB?hl=en&gl=us&ts=…","scrapedAt": "2026-09-18T12:00:00.000Z"}
Prices: what to expect
pricePerNightis the lowest rate Google found for the stay, as it shows it in the list;totalPriceis the whole stay with taxes and fees. Both are for the exact dates and guests you gave.- Google prices by point of sale. Set
marketto the country you would buy from, or the numbers will not match your own browser. - A property with no rate for your dates (sold out, or too far ahead) comes back with its fields and a
nullprice, so you still know it exists. - With details,
offerslists every booking site Google compares, with the property's own site flaggedofficial.
Use cases
- Rate monitoring: schedule a run per place and stay; alert when
pricePerNightdrops or adealappears. - Market research: every hotel of a city with class, rating, review counts and what guests praise or complain about.
- Hotel leads: with details, the address, phone and website of every property in an area.
- Travel apps and content: feed live prices and photos into a site, a spreadsheet or an agent, with a deep link per property.
Limits and honesty
- Google's list has about 20 properties per page; the Actor follows the pages (one request each) up to
maxResultsPerSearch. Google itself stops paging at some point for very large places. - A query that names one hotel returns that hotel first (unpriced when it has no rate) and its neighbours after it.
- An unknown place makes Google search the
marketcountry instead: checkplaceon the rows. - Amenities and labels come in the
languageyou choose; hotels list the highlights Google shows on their card, vacation rentals their full list.
Pricing
Pay per event: one property event per row with status ok, or one property-with-details event when includeDetails is on. Rows with any other status are free, and so is every request that gave nothing. Set a spending limit on the run and the Actor stops at it.
Legal
The Actor reads publicly available listings that Google Hotels shows to anyone, without logging in. It stores no personal data beyond the public names on sample reviews. Use the data in line with Google's terms and your local law.