Google Hotels Scraper (Reliable, No Browser) avatar

Google Hotels Scraper (Reliable, No Browser)

Pricing

from $1.40 / 1,000 results

Go to Apify Store
Google Hotels Scraper (Reliable, No Browser)

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

Steady API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

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 error and errorType.
  • Run summary you can assert on. Every run writes RUN_SUMMARY with requested / succeeded / failed counts.

Input

FieldDescription
queriesCities or full queries, one per line: Tokyo, hotels in paris, boutique hotels in Soho London
checkIn / checkOutYYYY-MM-DD. Empty = 14 days from today, one night
countrySets 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...)
languageInterface language, default en
maxHotelsPerQueryUp to 20 (the first result page)
maxPhotosPhoto 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.