Google Hotels Scraper (Reliable, No Browser)
Pricing
from $1.40 / 1,000 results
Google Hotels Scraper (Reliable, No Browser)
Scrape Google Hotels search results by city or query: name, price, rating, review count, hotel class, coordinates, website and photos. No browser = lower cost and fewer failures.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Steady API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Get hotel search results from Google Hotels for any city or query: name, nightly price, currency, guest rating, review count, hotel class, coordinates, official website, photos and direct links. Built for price monitoring, travel apps, market research and lead lists.
Why this one
- No headless browser. Results are read straight from the page data Google already ships, so runs finish in seconds and cost less.
- Retries that understand Google. Consent pages, "unusual traffic" pages and empty pages are detected and retried on a fresh proxy session instead of being returned as success.
- Automatic proxy fallback. Starts on standard Apify Proxy and switches to residential proxies only when Google starts blocking.
- Partial success over total failure. One bad query never kills the run. Failed queries come back as rows with
erroranderrorType. - Run summary you can assert on. Every run writes
RUN_SUMMARYwith requested / succeeded / failed counts.
Input
| Field | Description |
|---|---|
queries | Cities or full queries, one per line: Tokyo, hotels in paris, boutique hotels in Soho London |
checkIn / checkOut | YYYY-MM-DD. Empty = 14 days from today, one night |
country | Sets the currency. Google prices in the visitor's local currency, so the Actor searches from this country (US = USD, GB = GBP, DE = EUR, JP = JPY...) |
language | Interface language, default en |
maxHotelsPerQuery | Up to 20 (the first result page) |
maxPhotos | Photo URLs per hotel |
Output (one row per hotel)
{"name": "Hotel Relais Du Louvre","position": 3,"type": "hotel","rating": 4.8,"reviewCount": 812,"starClass": 3,"price": 289,"priceDisplay": "$289","currency": "USD","checkIn": "2026-10-10","checkOut": "2026-10-12","latitude": 48.8592,"longitude": 2.3410,"website": "https://...","googleHotelsUrl": "https://www.google.com/travel/hotels/entity/...","googleMapsUrl": "https://maps.google.com/?cid=...","ratingBreakdown": { "stars5": 640, "stars4": 120, "stars3": 30, "stars2": 10, "stars1": 12 },"reviewTopics": [{ "topic": "Location", "mentions": 210, "positive": 198, "negative": 6 }],"nearbyPlaces": [{ "name": "Louvre Museum", "travelTime": "4 min", "transport": null }],"photos": ["https://lh3.googleusercontent.com/..."],"query": "hotels in paris","error": null,"errorType": null}
Error rows keep the same shape with error and errorType set: BLOCKED, NO_RESULTS, PARSE_ERROR, REQUEST_FAILED.
Use cases
- Hotel rate monitoring and revenue management
- Travel apps, price comparison and deal alerts
- Market research on hotel supply and ratings by city
- Lead lists of hotels with websites and map links
Pricing
Pay per result. Billing is one result per returned row, including rows that carry an error. Platform usage (compute and proxies) is included.
Notes
- Prices are the rates Google displays for the chosen dates, in the currency of the selected country.
- Amenity names are included when Google shows them in search results (mostly vacation rentals).
- Only public search results are collected. No login, no personal data.
Code examples
Copy-paste Python and Node examples (zero dependencies) live in github.com/steadyapi/scrapers. The Python one for this Actor is python/google_hotels.py.
Minimal call with plain HTTP:
curl -X POST "https://api.apify.com/v2/acts/steadyapi~google-hotels-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' -d @input.json
Use it from AI agents (MCP)
Add this Actor as a tool in Claude, Cursor or any MCP client through the Apify MCP server:
https://mcp.apify.com/?tools=steadyapi/google-hotels-scraper
Authenticate with your Apify token (OAuth is also supported). The agent can then call the Actor directly and read the results.
FAQ
Can I get prices for specific dates?
Yes. Set checkIn and checkOut. Leave them empty to get a one-night stay two weeks from today.
Why are prices in USD?
Google shows prices in the visitor's local currency. Set country (GB, DE, JP and so on) to get local-currency prices.
How many hotels per search? Up to 20 per query, which is Google's first result page. Add more specific queries (neighborhoods, landmarks, hotel types) to cover a city.
Is this the same data as Google Maps? It is the Google Hotels view: prices, hotel class, rating breakdown and review topics. Each row also links to the Google Maps listing.