Google Hotels Scraper: Prices, Ratings & Booking Sites avatar

Google Hotels Scraper: Prices, Ratings & Booking Sites

Pricing

from $4.00 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper: Prices, Ratings & Booking Sites

Google Hotels Scraper: Prices, Ratings & Booking Sites

Hotels from Google Hotels for any place and dates: price per night and stay total in your currency, taxes, rating, reviews, star class, amenities, location and photos; plus each hotel's prices on every booking site (hotel website, Booking.com, Expedia, Agoda...) with rooms and free cancellation.

Pricing

from $4.00 / 1,000 hotels

Rating

0.0

(0)

Developer

Zaiq

Zaiq

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Google Hotels Scraper: hotel prices by date, ratings and every booking site's price

Get Google Hotels results for any place, dates and guests: each hotel's price per night and stay total in your currency, the taxes and the total with taxes, star class, rating and review count, amenities, location, photos and Google's review topics. Turn on every booking site's price to see, for each hotel, what the hotel's own website, Booking.com, Expedia, Agoda, Trip.com and a dozen more charge for the same stay, with room types and free-cancellation dates.

Built for hotel revenue managers (competitor rates and rate parity), travel agencies and OTAs, travel startups, market researchers and anyone tracking hotel prices by date. Signed out, no Google account and no API key.

What you get

FieldWhat it holds
Hotel rowsname, type (hotel, hostel, guest house, vacation rental), hotelClass, rating, reviews, pricePerNight, priceTotal (before taxes, fees included), taxes, fees, totalWithTaxes, currency, checkIn, checkOut, nights, adults, children
Hotel detailsamenities, description, latitude, longitude, countryCode, website, ratingBreakdown, reviewAspects, nearby, images, hotelId, propertyToken, url, rank
Booking-site prices (when asked)offers: every site's pricePerNight, priceTotal, link and whether it is the hotel's own website; rooms: room, price and free cancellation; lowestPricePerNight, lowestPriceSite, hotelWebsitePricePerNight, address, phone

What people use it for

  • Competitor rate tracking: your comp set's prices for the next 30, 60 or 90 days, every morning
  • Rate parity checks: is any booking site cheaper than the hotel's own website for the same dates?
  • Price calendars: one run per date to see how prices move with weekends, events and seasons
  • Travel products: hotel lists with prices, ratings, amenities and photos for apps, sites and AI agents
  • Market research: supply, star mix, prices and ratings for a city or area
  • Lead lists: hotels with their website, phone and address for B2B outreach

How to use it

  1. Enter searches as you would type them in Google Hotels, such as hotels in Lisbon.
  2. Pick check-in and check-out, guests and currency.
  3. Turn on Every booking site's price if you want each hotel's price on every site, then click Start.

Input

FieldExampleNotes
Searcheshotels in LisbonA place, an area or a kind of stay
Check-in / Check-out2026-11-20 / 2026-11-23Empty = in 14 days, for 2 nights; up to 30 nights
Adults / Children's ages2 / 7Prices are for these guests
CurrencyUSDAny three-letter code
Hotels per search20About 20 a page; up to 500
Include vacation rentalsonTurn off for hotels, hostels and guest houses only
Every booking site's priceoffOpens each hotel; charged per hotel
Hotel linkshttps://www.google.com/travel/hotels/entity/...Prices for chosen hotels, without a search
Google country / Languageus / enGoogle's country and language

Output

Each result is one row in the run's dataset (download it as JSON, CSV, Excel, XML or HTML, or read it through the API). An example row (values shortened):

{
"kind": "hotel",
"name": "Sample Avenue Hotel",
"type": "hotel",
"hotelClass": 5,
"rating": 4.6,
"reviews": 282,
"pricePerNight": 161.3,
"priceTotal": 483.9,
"taxes": 48.3,
"fees": 0,
"totalWithTaxes": 532.2,
"checkIn": "2026-11-20",
"checkOut": "2026-11-23",
"nights": 3,
"adults": 2,
"children": 0,
"currency": "EUR",
"amenities": [
"Breakfast",
"Free Wi-Fi",
"Parking ($)",
"Outdoor pool",
"Air conditioning",
"Bar",
"Restaurant"
],
"latitude": 38.722,
"longitude": -9.1456,
"ratingBreakdown": {
"5": 774,
"4": 348,
"3": 164,
"2": 94,
"1": 211
},
"reviewAspects": [
{
"aspect": "Location",
"mentions": 115,
"positive": 100,
"negative": 9
}
],
"url": "https://www.google.com/travel/hotels/entity/...",
"search": "hotels in Lisbon",
"rank": 3
}

A record named SUMMARY in the run's key-value store says what each input returned, with any notes (for example an account that does not exist), what was charged and how much traffic the run used.

Pricing

  • $0.005 per hotel in the search results
  • $0.015 per hotel's booking-site prices (every site, rooms and free cancellation), when you turn them on
  • Hotels with no prices for your dates are free

What typical jobs cost at the list price:

JobCost
100 hotels in a city, with prices for your dates$0.50
Booking-site prices for a comp set of 10 hotels, one date$0.15
10 hotels, every date for the next 30 days$4.50
1,000 hotels across 20 cities$5

On Apify's Scale and Business plans the per-event prices are lower (Store discounts). Set Maximum cost per run and the Actor stops cleanly when it is reached: you never pay more than that.

Tips

  • For a price calendar, schedule one run per date (or run a task per date) and compare the datasets.
  • To watch your comp set, paste their Google Hotels links in Hotel links: you skip the search and pay only for the price lists.
  • Set the currency you report in: prices come converted by Google.
  • Prices depend on the guests: children change both price and availability, and adults-only hotels show no prices for families.

Use it through the API

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("zaiq/google-hotels-scraper").call(run_input={"searches": ["hotels in Lisbon"], "checkIn": "2026-11-20", "checkOut": "2026-11-23", "currency": "EUR", "includePrices": true, "maxHotelsPerSearch": 20})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('zaiq/google-hotels-scraper').call({"searches": ["hotels in Lisbon"], "checkIn": "2026-11-20", "checkOut": "2026-11-23", "currency": "EUR", "includePrices": true, "maxHotelsPerSearch": 20});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

HTTP (one call, results back)

curl -X POST 'https://api.apify.com/v2/acts/zaiq~google-hotels-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"searches": ["hotels in Lisbon"], "checkIn": "2026-11-20", "checkOut": "2026-11-23", "currency": "EUR", "includePrices": true, "maxHotelsPerSearch": 20}'

Integrations and schedules

  • Schedules: run it every hour, day or week from the Apify Console (Schedules) and keep a history of results.
  • Make, Zapier, n8n, Google Sheets, Slack, Airtable: connect it through Apify's integrations, or send each finished run to a webhook.
  • Datasets: results stay in the run's dataset; export them or read them by API whenever you need them.

Use it with AI agents (MCP)

Add Apify's MCP server (https://mcp.apify.com) to Claude, ChatGPT, Cursor, VS Code or any MCP client. The agent can find this Actor and run it for you: ask it for "5-star hotels in Lisbon for 20 to 23 November with prices in euros, and which booking site is cheapest for each". AI agents can also pay for runs directly through Apify's agentic payments.

Limits

  • Prices are what Google Hotels shows for your dates, guests and currency at run time; booking sites change them often.
  • Booking-site prices are as Google shows them to a U.S. visitor: per night and for the stay, before taxes. The hotel rows add the taxes and the total with taxes.
  • Booking-site lists come from Google: some hotels list only a few sites, and some show none for some dates.
  • Links that pass through an ad-click counter are left out, so following a link never counts as a paid click.
  • One room per search (Google's default); about 20 hotels a page.

FAQ

Do I need a Google account or API key?

No. Everything is what Google Hotels shows a signed-out visitor.

Are prices per night or for the stay?

Both. pricePerNight and priceTotal are before taxes with any fees included (how Google shows prices in the U.S.); taxes and totalWithTaxes give the rest of what the stay costs.

Which booking sites are covered?

Every site Google lists for the hotel: usually the hotel's own website, Booking.com, Expedia, Hotels.com, Agoda, Trip.com, Priceline and smaller sites.

Can I check rate parity?

Yes: each price list marks the hotel's own website and gives hotelWebsitePricePerNight next to lowestPricePerNight.

Can I get prices for many dates?

Run once per date (a task or a schedule per date); each run is one stay.

Does it include vacation rentals?

Yes, as Google mixes them in; turn Include vacation rentals off for hotels only.

Support

Questions, a site that changed, or a field you need? Open an issue on this Actor's Issues tab: we answer there, usually within a day.


Also found as: google hotels scraper, google hotels api, hotel price scraper, hotel rate shopping, rate parity, hotel price comparison, google travel scraper, booking.com prices, hotel prices by date.