Google Hotels Booking-Site Prices: Every Site for Your Hotel
Pricing
$0.01 / 1,000 booking-site prices
Google Hotels Booking-Site Prices: Every Site for Your Hotel
Every booking site Google Hotels lists for a hotel and your dates: Booking.com, Expedia, the official site and more, with nightly and total price, lowest-price and official flags, and links. Up to 60 check-in dates per hotel. Trial: 0.01 USD per 1,000 prices until 30 Nov 2026.
Pricing
$0.01 / 1,000 booking-site prices
Rating
0.0
(0)
Developer
Cozybit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Google Hotels Booking-Site Prices: compare every booking site for a hotel and dates
Give a hotel's name and your dates, and get every booking site Google Hotels lists for it, one row per site: Booking.com, Expedia, Agoda, the hotel's own website and the rest, each with its nightly price, total price and link. No browser and no Google account needed.
- Every site Google shows: typically 18-38 sites per hotel and night.
- Nightly and total price in the currency you choose, as Google shows them.
- Official site flag and a lowest-price flag (ties included), so rate-parity gaps stand out.
- Date ranges: up to 60 consecutive check-in dates per hotel in one run, for price calendars and revenue management.
- Up to 20 hotels per run, by name or Google's
property_token.
Typical uses: rate-parity monitoring for your own hotel, comparing your direct price with online travel agencies, tracking competitor hotels' prices across a season, finding the cheapest site to book.
Prices include all platform costs: you pay per booking-site price returned and nothing for proxies or compute.
Input
| Field | What it does | Default |
|---|---|---|
| Hotels | 1-20 hotel names (include the city, such as Hilton London Metropole) or property_token values | required |
| First check-in date | YYYY-MM-DD, or a time from the run date such as 3 weeks; up to 330 days ahead | 14 days from today |
| Nights | Stay length, 1-30 | 1 |
| Consecutive check-in dates | 1-60: repeat the search for this many check-in dates in a row | 1 |
| Adults | 1-6 | 2 |
| Children's ages | Up to 4 ages, 0-17 (experimental: Google's response does not confirm them) | none |
| Currency | Any currency Google supports, such as USD, EUR, GBP | USD |
| Search country | The Google market to search from, such as US, DE, GB; partners differ by market | US |
Example: two London hotels, two nights in December, prices in pounds:
{ "hotels": ["Hilton London Metropole", "Park Plaza Westminster Bridge London"], "checkIn": "2026-12-04", "nights": 2, "currency": "GBP", "country": "GB" }
Example: one hotel's booking-site prices for each of the next 30 nights, every morning (save it as a task with a schedule):
{ "hotels": ["Crowne Plaza Paris Republique"], "checkIn": "1 day", "nights": 1, "checkInDays": 30 }
Output
One record per booking site, hotel and check-in date:
{"hotel_name": "Crowne Plaza Paris - Republique by IHG", "property_token": "ChgI5sC219yo3969ARoLL2cvMXY4aF9yYmoQAQ","check_in": "2026-11-21", "check_out": "2026-11-23", "nights": 2, "adults": 2, "currency": "USD","site": "Crowne Plaza Paris - Republique by IHG", "rank": 1,"price_per_night": 218.98, "total_price": 437.97, "is_official": true, "is_lowest": false,"hotel_price_per_night": 172.38,"link": "https://www.google.com/travel/lodging/clk?pc=...&pcurl=https://www.ihg.com/...","google_hotels_url": "https://www.google.com/travel/hotels/entity/ChgI5sC219yo3969ARoLL2cvMXY4aF9yYmoQAQ","status": "ok", "error": null, "scraped_at": "2026-11-02T19:15:02.986Z"}
rankis the site's position in Google's list.is_officialmarks the hotel's own website.is_lowestmarks the cheapest site(s) for that hotel and date.hotel_price_per_nightis the lowest nightly price Google shows for the hotel, for comparison with each site.linkis Google's click-through link to the site's offer; links expire. Whether taxes are included follows Google's display for the search country.property_tokenidentifies the hotel across runs: use it as input for exact matching.- A hotel and date with no offers returns one
no_datarecord; a failed lookup returns oneerrorrecord that says why. You never pay for those.
A search that matches many hotels (such as hotels in Paris) returns an error record asking for one hotel. To get a whole city's hotels with their booking sites, use Google Hotels Scraper.
Use it from code
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("cozybit/google-hotels-booking-prices").call(run_input={"hotels": ["Crowne Plaza Paris Republique"], "checkIn": "2027-03-12", "nights": 2,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["check_in"], row["site"], row["price_per_night"], row["is_lowest"])
HTTP API, one request that runs the actor and returns the rows as JSON:
curl -X POST "https://api.apify.com/v2/acts/cozybit~google-hotels-booking-prices/run-sync-get-dataset-items" \-H "Authorization: Bearer <YOUR_API_TOKEN>" -H "Content-Type: application/json" \-d '{"hotels": ["Crowne Plaza Paris Republique"], "checkIn": "2027-03-12", "nights": 2}'
Pricing
Trial price until 30 November 2026: 0.01 USD per 1,000 booking-site prices (the lowest price Apify allows). From 1 December 2026: 0.60 USD per 1,000 booking-site prices. Apify notifies all users before a price change.
| Event | Price |
|---|---|
| Booking-site price (one site's offer for one hotel and date) | 0.60 USD per 1,000 (0.0006 USD each) |
Worked examples (about 30 sites per hotel and night):
- One hotel, one stay: about 0.018 USD.
- One hotel, 30 check-in dates: about 900 prices, 0.54 USD.
- 10 competitor hotels, checked once: about 300 prices, 0.18 USD.
To cap spending, set a maximum cost per run in the run options; the actor stops cleanly when it is reached.
Free Apify plan
On the free Apify plan a run returns at most 100 booking-site prices. When the limit is reached the run finishes successfully with the status message "Free Apify plan limit reached". Any paid Apify plan removes the limit.
Reliability
In 11 test runs on the Apify platform (13 hotels in Paris, London, New York, Berlin, Mumbai, Singapore, Tokyo, Las Vegas and Maui, five currencies, up to 7 consecutive dates), the actor returned 794 booking-site prices, typically 18-38 per hotel and night, in 5-68 seconds per run. Against the most-used booking-site scraper on the same Paris hotel and nights, we returned more site offers (97 to 95), 91 of the 93 shared offers had the same price within 1 USD, and our run was faster (9.5 s to 12.3 s).
How it stays reliable: the actor reads the data Google embeds in the hotel's prices page instead of driving a browser, sends a few paced requests per IP and switches to a new IP when Google limits one. Every page is checked against your dates and currency.
Limits
- Booking sites depend on Google's partners for the search country, so the list differs by market.
- Give hotels by name with the city, or by
property_token. If Google answers a name with several hotels, the error lists them so you can pick one. - Prices are what Google shows at the time of the run and change often.
- Google Hotels has no official public API; when Google changes its site the actor may fail until it is updated.
Related actors
- Google Hotels Scraper: all hotels for a city or area with prices, ratings and details, filters, and optional booking sites per hotel.
- Google Flights Scraper: flight prices, schedules, bags and amenities for any route and date.
- Google Flights Fare Calendar: the cheapest fare for every day over up to 180 days.
Support
Report problems and feature requests on the actor's Issues tab, ideally with the run link.