Google Hotels Scraper - Hotel Prices & Ratings avatar

Google Hotels Scraper - Hotel Prices & Ratings

Pricing

from $2.00 / 1,000 hotel with a prices

Go to Apify Store
Google Hotels Scraper - Hotel Prices & Ratings

Google Hotels Scraper - Hotel Prices & Ratings

Scrape Google Hotels for any city and dates: nightly and total hotel prices, guest rating, reviews, stars, GPS and website. Extract up to 1,000 hotels per city, build a price calendar over 60 check-in dates, filter out vacation rentals. No browser, fast, pay per hotel.

Pricing

from $2.00 / 1,000 hotel with a prices

Rating

0.0

(0)

Developer

Tom Awake

Tom Awake

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

What does Google Hotels Scraper do?

Google Hotels Scraper extracts every hotel that Google Hotels shows for a city and your dates: the nightly and total price, guest rating, review count, hotel class, GPS coordinates, website, check-in times and photos. Think of it as a Google Hotels API: give it cities and dates, get one clean row per hotel.

  • Your dates, verified. Each row says whether Google priced it for the dates you asked (datesApplied). Measured: 180 of 180 rows.
  • Up to 1,000 hotels per city. The actor follows Google's pages, 20 hotels each. Measured: 134 unique hotels over 7 pages in Lyon, with no duplicate.
  • Hotel price calendar. Give up to 60 check-in dates and a stay length, and get every hotel's rate for each date in a single run. Revenue managers use it to compare rates week over week.
  • Fast, no browser. The actor reads Google's own data feed. It fetched 50 hotels for two Paris stays in 27 seconds.
  • Hotels only if you want. Google mixes vacation rentals into hotel results. Every row carries isVacationRental, and one switch removes them.

What data can you extract from Google Hotels?

DataFields
PricepricePerNight, pricePerNightExact, totalPrice, display strings, nativeCurrency
Price in your currencypricePerNightConverted, totalPriceConverted, currency
ReputationoverallRating, reviewCount, hotelClass, hotelType
Locationlatitude, longitude, countryCode, nearbyPlaces
Contact and detailswebsite, checkInTime, checkOutTime, imageUrls
IdentifiersgoogleHotelId, propertyToken, googleHotelsUrl, position (rank on Google)
Quality flagsdatesApplied, available, isVacationRental

How to scrape Google Hotels

  1. Enter one or more locations: Lyon, Shinjuku, Tokyo, near the Louvre, Paris.
  2. Pick a check-in and check-out date, or several check-in dates for a price calendar.
  3. Optionally set filters: minimum rating, minimum stars, maximum price per night, hotels only.
  4. Click Start, then download the results as JSON, CSV or Excel, or read them through the API.

How much does it cost to scrape Google Hotels?

You pay per hotel returned with a price. Sold-out hotels, which have no price, are delivered for free. At the listed price:

JobHotelsCost
One city, one stay100about $0.30
One city, 4-week price calendar4 × 100about $1.20
10 cities, one stay1,000about $3

Subscription plans pay less per hotel. If a run reaches the spending limit you set, the output stops at that limit and never goes past it.

Input example

{
"locations": ["Lyon", "Barcelona"],
"checkInDates": ["2026-10-15", "2026-10-22", "2026-10-29", "2026-11-05"],
"nights": 2,
"maxResultsPerLocation": 100,
"currency": "EUR",
"includeVacationRentals": false
}

Output example

{
"position": 4,
"locationQuery": "Lyon",
"hotelName": "TRIBE Lyon Croix Rousse",
"hotelClass": 4,
"overallRating": 4.7,
"reviewCount": 848,
"checkInDate": "2026-10-15",
"checkOutDate": "2026-10-17",
"nights": 2,
"datesApplied": true,
"pricePerNight": 108,
"pricePerNightExact": 107.57,
"totalPrice": 215,
"nativeCurrency": "EUR",
"pricePerNightConverted": 123.47,
"currency": "USD",
"latitude": 45.7829,
"longitude": 4.8343,
"website": "https://all.accor.com/...",
"isVacationRental": false,
"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/..."
}

Use the Google Hotels API in Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("DataIO/google-hotels-scraper").call(run_input={
"locations": ["Lyon"], "checkInDate": "2026-10-15", "checkOutDate": "2026-10-17",
})
for hotel in client.dataset(run["defaultDatasetId"]).iterate_items():
print(hotel["hotelName"], hotel["pricePerNightConverted"], hotel["overallRating"])

The same works from JavaScript, Make, Zapier, n8n, or AI agents through the Apify MCP server.

Other actors you might like

FAQ

The actor reads prices and hotel details that Google shows publicly, without logging in. It collects no personal data about individuals. How you use the data (terms of service, local law) is your responsibility. When in doubt, ask a lawyer.

Why is the price in a different currency?

Google ignores every currency setting and shows the currency of the visitor's country. Every row keeps the original price and currency, and adds a conversion at today's rate (open.er-api.com). The conversion is an estimate, not what the booking site will charge.

Can I choose the number of guests?

No. Google ignores a guest count written into the search, so we don't offer a setting we can't honour. Prices are for the occupancy Google shows by default.

Can I track hotel prices every day?

Yes. Schedule the actor and leave the dates empty: the default stay is always 14 days ahead, so a daily schedule gives you a rolling two-week-out rate for every hotel.

What if Google refuses some requests?

The actor switches to a new proxy session and retries. If a location still fails, it delivers what it has collected and names the incomplete locations in the status message. Residential proxies work best.

Source

Public Google Hotels search results. This actor is not affiliated with or endorsed by Google. Exchange rates: open.er-api.com.