Google Hotels API
with rates, ratings, and review breakdowns
Search Google Hotels and get every property as clean JSON. One request returns nightly and total rates, ratings, a review sentiment breakdown, and nearby places, for any destination and dates, with proxies handled for you.
of requests succeed
median response
95% finish faster
per 1k hotel searches at volume
Google reshuffles Hotels constantly. Your parser shouldn't care.
- Rates split into nightly and total, before and after fees
- Review sentiment buried in the layout
- Filters and property types shifting
- Proxies and captchas per search
- Re-parse the results after each redesign
One GET Request. That's the whole integration.
Start with just a query. Add more parameters when your use case needs them.
curl -G 'https://api.hasdata.com/scrape/google/hotels' \
--data-urlencode 'q=Hotels in New York' \
--data-urlencode 'checkInDate=2026-08-15' \
--data-urlencode 'checkOutDate=2026-08-20' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json'q * Search QuerycheckInDate * Check-in DatecheckOutDate * Check-out Dategl Countryhl Languagecurrency Currencyadults Adultschildren ChildrenchildrenAges Children AgessortBy Sort ByminPrice Minimum PricemaxPrice Maximum PricepropertyType[] Property Typeamenity[] Amenityrating Minimum Ratingbrands BrandshotelClass Hotel ClassfreeCancellation Free CancellationspecialOffers Special OffersecoCertified Eco-certifiedvacationRentals Vacation Rentalsbedrooms Bedroomsbathrooms BathroomsnextPageToken Next Page TokenpropertyToken Property TokenEvery property, one predictable schema
Each hotel comes back with the same keys, nightly and total rates, a review breakdown, and nearby places. Map the fields once and forget about it.
[
{
"name": "The Manhattan at Times Square Hotel",
"type": "hotel",
"link": "https://www.ihg.com/spnd/hotels/us/en/new-york/nycat/",
"gpsCoordinates": { "latitude": 40.7622856, "longitude": -73.9826404 },
"checkInTime": "4:00 PM",
"checkOutTime": "12:00 PM",
"ratePerNight": { "lowest": "$168", "extractedLowest": 168, "beforeTaxesFees": "$144", "extractedBeforeTaxesFees": 144 },
"totalRate": { "lowest": "$839", "extractedLowest": 839 },
"overallRating": 4.1,
"reviews": 10163,
"locationRating": "4.9",
"reviewsBreakdown": [
{ "name": "Bathroom", "totalMentioned": 1407, "positive": 1180, "negative": 160, "neutral": 67 }
]
}
]name / type stringProperty name and hotel | vacation rental
ratePerNight objectNightly price, before and after taxes and fees
totalRate objectFull-stay price, display and numeric
overallRating / reviews numberStar rating and total review count
locationRating stringHow guests rate the location
reviewsBreakdown[] object[]Per-topic sentiment: positive, negative, neutral counts
gpsCoordinates / checkInTime / checkOutTime object / stringLocation and stay times
// Sponsored properties, kept in their own array so you can drop them in code.
[
{
"name": "The Manhattan at Times Square Hotel",
"propertyToken": "CgsIooCAqvyy0fDgARAB",
"source": "IHG Hotels & Resorts",
"link": "https://www.google.com/aclk?sa=l&ai=DChsSEwi17...",
"gpsCoordinates": { "latitude": 40.7622856, "longitude": -73.9826404 }
}
]name stringAdvertised property name
propertyToken stringToken to pull the property's detail
source stringAdvertiser behind the placement
link stringTracked click-through URL
gpsCoordinates objectlatitude and longitude
// The brand tree you can filter a search by.
[
{
"id": 33,
"name": "Accor Live Limitless",
"children": [
{ "id": 8, "name": "Fairmont Hotels and Resorts" }
]
}
]id / name number / stringBrand group ID and name
children[] object[]Sub-brands, each with its own id and name
An all-in-one scraping service
Every feature you need to collect data from thousands to millions of requests.
Discover similar
scrapers and APIs
to expand your projects.
Google Flights API
Travel Data • $1.12 / 1k Request
Booking.com Scraper
Travel Data • $0.75 / 1k Rows
Fits right into your stack.
Works with the tools you already use.
View Documentation ->Teams that deleted their scraper
Now it's the part of the pipeline they don't think about
HasData delivers exactly what we need: speed and comprehensive search features. It's the fastest API we've used in this space. Plus, their customer support is fantastic.
We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.
Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.
I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.
We were particularly impressed with how easily we could integrate HasData into our existing workflow.
Plans that get cheaper at scale
Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.
Free
Startup
Business
RecommendedEnterprise
Monthly hotel search volume
Start with 100 free hotel searches. No credit card required.
Questions, answered
Each property with nightly and total rates before and after taxes, overall and location ratings, a per-topic review sentiment breakdown, amenities, check-in and check-out times, coordinates, images, and nearby places with travel times.
Yes. The request supports minimum and maximum price, property type, amenities, minimum rating, brand, hotel class, free cancellation, special offers, and eco-certified properties.
Yes. Set vacationRentals to true to switch from hotels to rentals. In that mode you also get the bedrooms and bathrooms parameters and the rental property-type and amenity filters.
Per successful request. One request is one hotel search and returns the whole results page. A failed request costs nothing.
Yes, a one-time trial of 100 hotel searches with every field included. No credit card required. When you're done testing, pick a plan that fits your volume.
One hotel search costs 10 credits. The unit price drops with volume, from about $2.45 down to $0.75 per 1,000 searches. Need more than the top plan covers? We'll set a custom rate.
No. Requests run on HasData's infrastructure, so there's nothing to provision or maintain. You're responsible for using the results in line with each target site's terms and applicable law.
Yes, you can cancel your subscription at any time from your dashboard in a few seconds. Once cancelled, there are no recurring payments.
Your first hotel search
is minutes away
100 hotel searches free · no credit card