Google Hotels Scraper & API - Hotel Prices & Price Calendar
Pricing
from $1.28 / 1,000 hotels
Google Hotels Scraper & API - Hotel Prices & Price Calendar
[Limited Launch Offer $1.50/1K] Scrape Google Hotels prices and hotel rates for any city and dates: price per night and total, stars, rating, reviews, location, website, photos. Many locations and check-in dates in one run.
Pricing
from $1.28 / 1,000 hotels
Rating
0.0
(0)
Developer
Scrape With Me
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Google Hotels Scraper - Prices, Ratings, Price Calendar
Scrape Google Hotels for any city, area or landmark and any dates: price per night and total price for your stay, star class, guest rating and number of reviews, rating breakdown, coordinates, hotel website, photos, description, check-in/out times, nearby places and the Google Hotels / Google Maps links. No browser, no API key.
Search many locations and many check-in dates in one run - every row carries its search (location, check-in, check-out, nights, adults, currency), so a run with several dates is a ready-made price calendar.
Why this one
- It works. Plain, fast HTTPS requests to Google Hotels (about 20 hotels per request, paginated), not a slow headless browser. If Google throttles, the request is retried on a proxy automatically.
- Price calendar. Add several check-in dates to compare prices across dates in one dataset.
- Pay only for what you keep. Filters for minimum rating, maximum price per night and star class are applied before saving - only matching hotels are charged.
- Any currency and language. Prices in USD, EUR, BRL, JPY...; names and descriptions in your language.
- Approximate places welcome. "Times Square, New York" or "near the Eiffel Tower" work; the place Google used is returned in
resolvedLocation.
Input example
{"locations": ["Paris", "Rio de Janeiro"],"checkIn": "2026-11-12","checkInDates": ["2026-12-10"],"nights": 3,"adults": 2,"currency": "EUR","maxHotelsPerSearch": 100,"minRating": "4","hotelClass": ["4", "5"]}
Output example (shortened)
{"name": "Ritz Copacabana Hotel","hotelClass": 4,"pricePerNight": 154,"priceTotal": 463,"currency": "EUR","rating": 4.5,"reviewCount": 917,"latitude": -22.97,"longitude": -43.19,"website": "https://...","photos": ["https://lh3.googleusercontent.com/..."],"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/...","googleMapsUrl": "https://maps.google.com/?cid=...","resolvedLocation": "Rio de Janeiro","searchLocation": "Rio de Janeiro","checkIn": "2026-11-12","checkOut": "2026-11-15","nights": 3,"adults": 2,"position": 1,"scrapedAt": "2026-10-04T20:10:00Z"}
The OUTPUT record summarises every search: hotels found, matching filters and saved, the place Google resolved, and any error.
Run it on a schedule and connect it to your tools
Schedule: in Apify Console open Schedules → Create, pick this actor and your input, and set it to run every Monday at 07:00 (your time zone) for a fresh dataset on a fixed day. Each run returns the full, current result set as a new dataset.
Integrations (Actor → Integrations tab, no code):
- Google Sheets — append every run's rows to a sheet.
- Make, Zapier, n8n — start the actor from a scenario/zap/workflow and use the rows in the next steps.
- Webhook — get a POST to your endpoint when a run succeeds, then download the dataset.
- Slack / email — notify your team when a scheduled run finishes.
AI agents (MCP) — Claude, ChatGPT, Cursor, VS Code or any MCP client can run it as a tool: add the Apify MCP
server https://mcp.apify.com?actors=kalilfagundes.w/google-hotels-scraper (sign in with your Apify account) and ask for the data in
plain language. The agent fills the input from the input schema and reads the dataset back.
API — call it from your code (pip install apify-client / npm i apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("kalilfagundes.w/google-hotels-scraper").call(run_input={"locations": ["Paris","Rio de Janeiro"],"checkIn": "2026-11-12","checkInDates": ["2026-12-10"],"nights": 3,"currency": "EUR","maxHotelsPerSearch": 25,"maxItems": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('kalilfagundes.w/google-hotels-scraper').call({"locations": ["Paris","Rio de Janeiro"],"checkIn": "2026-11-12","checkInDates": ["2026-12-10"],"nights": 3,"currency": "EUR","maxHotelsPerSearch": 25,"maxItems": 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Pricing
Pay per event, platform usage included: one hotel event per saved hotel row (see the Pricing tab). Hotels removed by your filters are not charged.
Tips & limitations
- Prices are what Google Hotels shows for the dates, guests and currency you choose (usually the lowest offer).
- Google shows up to ~20 hotels per page;
maxHotelsPerSearchcontrols how many pages are read. - For daily price tracking, save the input as a task and schedule it.
Related actors
- Google Flights Scraper & API - Flight Prices & Cheap Flights
- Amazon Price Tracker & Product Scraper - ASIN, BSR, 23 Sites
- Walmart Product Search Scraper - Prices, Ratings, Sellers
Feedback
If this actor saves you time, a quick rating on its Store page helps other people find it. Something not working? Open an issue in the Issues tab and it gets fixed fast.