Ctrio Lab · Updated 2026-10-24
Google Hotels prices as JSON: every booking site, your dates
Google Hotels lists the price of each hotel from many booking sites at once. Google does not offer a public API to read those prices. Our Google Hotels Scraper on Apify reads the public hotel pages and returns one row per hotel with every provider's price for your dates, guests and currency.
"Paris", "Shibuya, Tokyo") or hotel names or links, plus check-in, check-out, adults and currency. Each result row has the cheapest nightly and total price, the cheapest provider, a prices list with every booking site, and the rating, reviews, hotel class, amenities, address and coordinates.Inputs
| Field | What it does |
|---|---|
locations | Cities, areas or landmarks. "hotels in" is added unless the text already says hotel, hostel, resort and so on. |
hotels | Specific hotels: a Google Hotels link (contains /entity/), a Google Maps place link, or a name with its city, such as "Ritz Paris". |
checkIn, checkOut | YYYY-MM-DD. Empty check-in means 14 days from today; empty check-out means one night. 1 to 30 nights. |
adults, childrenAges | 1 to 10 adults (default 2), and one age per child, such as [4, 9]. |
currency | 3-letter ISO code: USD (default), EUR, GBP, JPY, KRW and so on. |
maxResults | Hotels per location, 1 to 200 (default 20). Google lists 20 per page. |
country | 2-letter Google region (default US). Some providers and taxes differ by region. |
{
"locations": ["Paris"],
"checkIn": "2026-12-03",
"checkOut": "2026-12-05",
"adults": 2,
"currency": "EUR",
"maxResults": 20
}
Example output (one hotel, shortened)
{
"searchQuery": "Paris",
"position": 2,
"name": "Crowne Plaza Paris - Republique by IHG",
"hotelClass": 4,
"rating": 4.1,
"reviewCount": 2999,
"pricePerNight": 165,
"totalPrice": 165,
"cheapestProvider": "goseek.com",
"currency": "EUR",
"priceAvailable": true,
"prices": [
{ "provider": "goseek.com", "official": false, "pricePerNight": 165, "totalPrice": 165 },
{ "provider": "Crowne Plaza Paris - Republique by IHG", "official": true, "pricePerNight": 208, "totalPrice": 208 }
],
"checkIn": "2026-11-07",
"checkOut": "2026-11-08",
"nights": 1,
"adults": 2,
"amenities": ["Wi-Fi", "Fitness center", "Restaurant", "Pet-friendly"],
"address": "10 Pl. de la République, 75011 Paris",
"latitude": 48.867437,
"longitude": 2.365367,
"placeId": "ChIJNeGz9Qhu5kcRZqDtykV9vb0",
"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/..."
}
official: true marks the hotel's own website. When Google lists taxes and fees separately, pricePerNightWithTaxes and totalPriceWithTaxes hold the price with them.
What a run returned (2026-10-24)
| Search | Hotels | With a price | Cheapest / median / highest per night | Providers per hotel (average) | Run time |
|---|---|---|---|---|---|
| Paris, 2 adults, EUR, 1 night on 2026-11-07 | 20 | 18 | €52 / €220 / €528 | 18.9 | 38 s |
| Shibuya and Shinjuku, Tokyo, 1 adult, JPY, same night | 40 | 37 | ¥10,404 / ¥41,000 / ¥143,989 | 12.8 | 59 s |
Both searches are public example tasks you can run as they are: Paris hotel prices in EUR and Tokyo hotel prices in JPY.
Limits
- Up to 200 hotels per location, 30 nights per stay, about 330 days ahead.
- Prices are what Google shows at run time for the chosen region. They change often.
- Google Hotels search result URLs are not accepted (robots.txt). Use Locations or single hotel links.
- If Google does not recognize a location, Maps can fall back to hotels from another area. Check
address, or use a clearer name ("Shibuya, Tokyo" rather than "Shibuya"). - If Google returns other dates than you asked for, the price fields stay empty instead of showing a wrong price.
Price
$1.00 per 1,000 hotels (one row is one hotel with all of its provider prices), plus an Actor start fee of $0.00005. Higher Apify plans get up to 30% off. Hotels that fail to load are not saved and not charged.
Open Google Hotels Scraper Merge and deduplicate Apify datasets
FAQ
Is there a Google Hotels API for reading prices?
Not a public one. Google's hotel APIs are for hotels and booking sites that send their own rates and listings to Google. To read the prices that Google Hotels shows, you need a scraper that reads the public hotel pages.
Why do some hotels have no price?
Google shows no rate for those dates and guests, for example when the hotel is sold out, has a minimum stay or is not bookable online. The Actor still returns the hotel data with priceAvailable set to false.
Can I paste a Google Hotels search results URL?
No. Search result pages are under a path that Google's robots.txt asks crawlers not to visit. Put the city in Locations, or paste single hotel links that contain /entity/.
Sources: Google Hotels developer documentation; google.com/robots.txt; our own runs on 2026-10-24.