Google Hotels Scraper - $3.50/1k, Live Prices
Pricing
$3.50 / 1,000 hotel results
Google Hotels Scraper - $3.50/1k, Live Prices
Shop the whole hotel market for any destination and date range in one run. Each listing returns hotel name, nightly price with currency, rating, review count, booking provider, thumbnail and a direct link. $3.50 per 1,000 listings, flat rate with no run-start fee.
Pricing
$3.50 / 1,000 hotel results
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Google Hotels Scraper
Extract public Google Hotels search results as structured dataset rows. Each row includes the property name, displayed price, currency, rating, review count when shown, booking vendor, thumbnail, Google Hotels detail link, query, and stay dates.
Why this actor
- Direct HTTP to Google Travel by default, so ordinary runs do not pay SERP or residential proxy costs.
- Multiple destination queries in one run with cross-query deduplication.
- Optional check-in/check-out dates, adults, country, language, and currency hints.
- Charges only successfully parsed hotel rows through the
hotelevent. Empty, blocked, timed-out, and diagnostic rows are never charged. - Strict 30-second wall deadline per query and bounded request timeouts.
Input example
{"searchQueries": ["hotels in Toronto", "boutique hotels in Montreal"],"checkIn": "2026-08-01","checkOut": "2026-08-03","adults": 2,"country": "ca","language": "en","maxItemsPerQuery": 50,"fallbackToProxy": false}
Google sometimes ignores date or currency hints in its public layout. The output records the requested dates and the price/currency actually displayed by Google; it does not invent rates.
Input fields
| Field | Default | Notes |
|---|---|---|
searchQueries | [] | Up to 10 destination searches per run, e.g. hotels in Toronto, family hotels near Disneyland Paris. Each row carries the query that produced it. |
checkIn / checkOut | "" | YYYY-MM-DD. Check-out must be after check-in when both are supplied. Omit them and Google shows its own default stay. |
adults | 2 | 1–12. Some public result layouts ignore it. |
language | en | Google interface language. |
country | ca | Two-letter Google country edition: ca, us, gb, fr, … |
currency | "" | Three-letter hint such as CAD, USD, EUR. Google may still display the country edition's currency. |
maxItemsPerQuery | 50 | 1–100 unique hotel rows per search. |
fallbackToProxy | false | Retry once through Apify Proxy if direct traffic is blocked or rate-limited. |
Output
One row per hotel, stored in the default dataset and shown in the Hotels dataset view:
propertyToken, searchQuery, name, price (parsed number), priceText (exactly as Google printed it), currency, rating, reviewsCount, hotelClass, hotelType, vendor (the booking provider Google is quoting), thumbnail, detailsUrl, checkInDate, checkOutDate, scrapedAt.
rating, reviewsCount, currency and vendor are null when the card does not show them. hotelClass and hotelType are reserved and currently always null — the public results layout does not carry them. Rows are de-duplicated across queries on propertyToken, falling back to name + price, so a hotel that appears in two of your searches is returned and billed once.
A no-input run emits one _sample: true row and no chargeable hotel event.
Proxy policy
Direct traffic is the default. Enable fallbackToProxy only for rate limiting, blocking, or geo-sensitive volume; a single Apify proxy URL is then used for one fallback retry. Apify Proxy usage is billed to your own account by Apify and is separate from this Actor's per-hotel price.
There is a strict 30-second wall deadline per query and bounded per-request timeouts, so a stalled query ends the search for that destination rather than burning compute.
Pricing
$3.50 per 1,000 hotels ($0.0035 each), with no run-start fee. Flat rate — no volume tiers, no plan gates — and you are charged only through the hotel event, once per successfully parsed hotel row.
Empty, blocked, timed-out and diagnostic rows are never charged, and neither is the no-input sample. A run of 10 queries at maxItemsPerQuery: 50 returns at most 500 unique hotels and costs at most $1.75.