The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Google Hotels listing page.
The most efficient, reliable, and developer-friendly way to use the Google Hotels API.
Actor page: apify.com/johnvc/google-hotels-search-scraper Input schema: apify.com/johnvc/google-hotels-search-scraper/input-schema
The Google Hotels API searches Google Hotels and returns clean, structured JSON: hotel and vacation-rental listings with nightly and total prices, deals, star class and property type, ratings and review counts, amenities, images, descriptions, addresses and GPS coordinates, and check-in/check-out times. Search by location query or fetch one property by token. Supports advanced filters, vacation rentals, localization (country, language, currency), and multi-page pagination.
New: three additional modes via the search_type input - autocomplete (destination and hotel name suggestions with property tokens), photos (a property's full photo gallery), and reviews (paginated guest reviews with ratings, text, and sources). Each has its own runnable example script in this repo.
Clone the repository
Install dependencies with UV
Configure your API key
Run the examples
Rich property data. Each result includes nightly and total prices, deals, ratings and review counts, amenities, images, descriptions, GPS coordinates, and check-in/check-out times, so you can compare properties directly.
Four retrieval modes. Search by a location query, fetch full details for one property by property_token, resolve partial queries into destinations and hotels with autocomplete, or pull a property's complete photo gallery and guest reviews.
Powerful filters. Constrain by price range, star class, guest rating, amenities, and property type, and switch to vacation rentals with bedroom and bathroom filters.
Predictable, pay-per-use pricing. Per run plus per page processed, with no subscription. You control cost with the page limit.
Easy to automate. Call it from Python in a few lines, or load it as an MCP tool so assistants like Claude and Cursor can search hotels for you on demand.
google-hotels-autocomplete.py)Returns one dataset item per suggestion. Suggestions for specific hotels include a property_token you can chain into photos, reviews, or property details.
google-hotels-photos.py)Returns one dataset item per photo (typically 100-200 per property) with photo_url, thumbnail_url, dimensions, gallery section, and source.
google-hotels-reviews.py)Returns one dataset item per review with rating, text, date, source platform, reviewer details, and the hotel's response when one exists. Sort with reviews_sort_by: "1" most helpful, "2" most recent, "3" highest score, "4" lowest score.
Either q (search query) or property_token is required.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
search_type | string | No | search | search, autocomplete, photos, or reviews. |
q | string | Yes* | - | Search query, e.g. hotels in Paris. Required for search (unless property_token is set) and autocomplete. |
property_token | string | Yes* | - | Token for a single property (from a prior result or autocomplete). Required for photos and reviews; returns detailed property info in search mode. |
gl | string | No | us | Country code (ISO 3166-1 alpha-2). |
hl | string | No | en | Language code (ISO 639-1). |
currency | string | No | (by country) | Currency code (ISO 4217), e.g. USD, EUR. |
check_in_date | string | No | - | Check-in date, YYYY-MM-DD (recommended with a query). |
check_out_date | string | No | - | Check-out date, YYYY-MM-DD. |
adults | integer | No | 2 | Number of adult guests. |
children | integer | No | 0 | Number of child guests (children_ages required if > 0). |
min_price / max_price | string | No | 0.00 | Price range filter in the chosen currency. |
stars | string | No | - | Comma-separated star ratings, e.g. 4,5. |
hotel_class | string | No | - | Comma-separated class levels 2-5. |
guest_rating | string | No | 0.0 | Minimum guest rating (0.0 to 5.0). |
vacation_rentals | boolean | No | false | Include vacation rentals (enables bedrooms/bathrooms). |
reviews_sort_by | string | No | 1 | Reviews order: 1 most helpful, 2 most recent, 3 highest score, 4 lowest score. |
reviews_category_token | string | No | - | Filter reviews by a category token from a property's reviews breakdown. |
max_pages | integer | No | 1 | Maximum pages to fetch (0 = no limit). Applies to search, photos, and reviews. |
output_file | string | No | - | Optional filename to save results. |
Additional filters (amenities, property_type, rental_type) accept Google's integer IDs; see the Actor page for the full reference.
A real result for hotels in Paris (one item per page; the properties array is trimmed to one entry for readability).
Available as an n8n community node, n8n-nodes-google-hotels-api. In n8n: Settings, Community Nodes, install n8n-nodes-google-hotels-api, then use it in any workflow (it also works as an AI Agent tool). Version 0.2.0 adds Get Autocomplete Suggestions, Get Photos, and Get Reviews operations.
You can load the Google Hotels API as an MCP tool so assistants call it for you. The MCP server URL preloads just this one Actor:
Authenticate with OAuth in the browser when offered, or with your Apify API token (the same APIFY_API_TOKEN used by the Python example). Get a token at https://console.apify.com/settings/integrations and a free Apify account at https://apify.com?fpr=9n7kx3 .

Cowork is the desktop app's automation mode. To give it the Google Hotels API as a tool, add the Apify MCP server as a connector.
claude_desktop_config.json directly).
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonDownload the desktop app and start a free trial: https://claude.ai/referral/uIlpa7nPLg More help: https://docs.apify.com/platform/integrations/claude-desktop

Claude Code is the command-line tool. Add the Actor's MCP server with one command:
To use a token instead of browser OAuth:
Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the Google Hotels API.
Try Claude Code free: https://claude.ai/referral/uIlpa7nPLg Claude Code MCP docs: https://code.claude.com/docs/en/mcp

On claude.ai you add Apify as a connector, then enable just this Actor's tool.
johnvc/google-hotels-search-scraper.https://mcp.apify.com/?tools=actors,docs,johnvc/google-hotels-search-scraper, using OAuth when prompted.Open Claude on the web: https://claude.ai/referral/uIlpa7nPLg

Cursor reads MCP servers from a project file at .cursor/mcp.json.
.cursor/mcp.json:New to Cursor? Get it here: https://cursor.com/referral?code=XQP4VBLI3NNX

ChatGPT connects to the Apify MCP server through Developer mode (available on ChatGPT Pro, Plus, Business, Enterprise, and Education plans).
https://mcp.apify.com/?tools=actors,docs,johnvc/google-hotels-search-scraperMore help: https://docs.apify.com/platform/integrations/mcp
Use the Google Hotels API to power price monitoring, travel apps, and market research with reliable, structured results.
Last Updated: 2026.09.08