huynhtanan

Google Hotels MCP

Community huynhtanan
Updated

MCP server for Google Hotels, Google Vacation Rentals and the Google Hotels daily price calendar - live prices from Booking.com, Expedia, Agoda, Vrbo, Airbnb as JSON.

Google Hotels MCP

New blog post: Add Google Hotels to Claude Desktop as an MCP server — 2-minute install walk-through for Claude Desktop and Claude Code.

A Model Context Protocol (MCP) server that lets Claude, Cursor, Windsurf and any other MCP client fetch live Google Hotels and Google Vacation Rentals prices with the rate every booking site is charging (Booking.com, Expedia, Agoda, Vrbo, Airbnb, Hotels.com, …), plus a 3-month daily price calendar for any single property. Everything comes back as JSON — no Google account, no scraping on your laptop, no Puppeteer.

Backed by three open-source actors on the Apify Store. You bring your own Apify token; the actors are pay-as-you-go on the Apify Free plan at $0.002 / hotel, $0.0015 / daily price and $0.002 / vacation rental. Apify ships $5 of free compute every month and no card is required to start.

Tools

Tool What it does
search_hotels Google Hotels search for a destination + dates. Returns name, rating, review count, nightly and total price, hotel class, address, coordinates, amenities, hero photo, Google URL, and (optionally) the price every OTA is charging.
hotel_price_calendar 3-month daily rate calendar for one hotel URL. One row per date with price, currency, available.
search_vacation_rentals Google Vacation Rentals search (Airbnb / Vrbo / Booking.com). Same shape as hotels plus bedrooms/bathrooms.

Quick start

1. Get an Apify token

Create a free account at https://console.apify.com/account/integrations and copy your Personal API token. Pay-as-you-go, no card to start.

2. Add the server to your MCP client

Note: this server is new and not yet on PyPI. Until it is, install directly from the GitHub repo with uvx --from "git+https://github.com/huynhtanan/[email protected]" google-hotels-mcp. Pinned to the tagged release so later main-branch changes do not break existing users. Once google-hotels-mcp lands on PyPI you can drop the --from prefix.

Claude Desktop — edit claude_desktop_config.json:

{
  "mcpServers": {
    "google-hotels": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/huynhtanan/google-hotels-mcp.git", "google-hotels-mcp"],
      "env": { "APIFY_TOKEN": "apify_api_..." }
    }
  }
}

Claude Code:

claude mcp add google-hotels -- uvx --from "git+https://github.com/huynhtanan/[email protected]" google-hotels-mcp --env APIFY_TOKEN=apify_api_...

Cline — in VS Code: open the Cline MCP Servers panel → Add server → Command, paste the same uvx --from git+... command and set APIFY_TOKEN in env.

Cursor — Settings → MCP → Add Server, same uvx --from git+... command with APIFY_TOKEN in env.

If you prefer pipx or pip, install from GitHub with pipx install git+https://github.com/huynhtanan/google-hotels-mcp.git (or pip install git+...) and run google-hotels-mcp.

Example prompts

"Find hotels in Paris for 3 nights from 2026-12-20, two adults, in EUR, with the Booking.com and Expedia rate for each one."

"Pull a 3-month daily price calendar for the Hoxton Paris — I want to see which dates are under €200."

"Compare vacation rentals in Lisbon vs Porto, 2 adults, 2026-11-15 to 2026-11-22, 3+ bedrooms, with the Airbnb vs Vrbo rate for each."

Sample response

search_hotels(query="hotels in Lisbon", check_in="2026-11-10", check_out="2026-11-13", adults=2, currency="EUR") — one of 40 items (trimmed):

{
  "name": "Patio São Vicente Guest Houses",
  "position": 1,
  "rating": 4.9,
  "reviewsCount": 349,
  "ratingDistribution": {"1": 0, "2": 0, "3": 3, "4": 16, "5": 330},
  "hotelClass": 4,
  "hotelClassText": "4-star hotel",
  "pricePerNight": 109,
  "pricePerNightText": "€109",
  "totalPrice": 372.1,
  "totalBeforeTaxes": 328.48,
  "currency": "EUR",
  "checkIn": "2026-11-10",
  "checkOut": "2026-11-13",
  "nights": 3,
  "checkInTime": "3:00 PM",
  "checkOutTime": "11:00 AM",
  "latitude": 38.7155846,
  "longitude": -9.1280593,
  "nearbyPlaces": [
    {"name": "National Pantheon", "travelTime": "6 min"},
    {"name": "Voz Operário", "travelTime": "2 min"}
  ],
  "reviewTopics": [
    {"topic": "Location", "mentions": 88, "positive": 84, "negative": 2, "positiveShare": 0.977}
  ],
  "amenityIds": [29, 2, 54, 15, 12, 1, 11, 25],
  "website": "https://www.patiosaovicente.com/",
  "mapsUrl": "https://www.google.com/maps?cid=1945275941691630548",
  "googleHotelsUrl": "https://www.google.com/travel/hotels/entity/ChkIn4CU6sjxgJ1YGg0vZy8xMWY0XzdqenhqEAE?hl=en&gl=us"
}

Set include_provider_prices=true and the hotel also gets a providers array with the price Booking.com, Expedia, Agoda, Hotels.com, Vrbo and 10+ other OTAs are each charging for the same stay.

Pricing

Call Cost
1 hotel in search_hotels $0.002
1 hotel with per-provider rates $0.004 ($0.002 result + $0.002 provider enrich)
1 date in hotel_price_calendar $0.0015
1 vacation rental in search_vacation_rentals $0.002

A full-city hotel search (20 hotels with provider rates) is around $0.08. The Apify Free plan ships $5 of credit every month — about 60 full-city searches — before you need to upgrade.

How it compares

google-hotels-mcp HasData google-hotels-mcp Scraping yourself
Open source ✅ MIT ❌ depends
MCP tools 3 (hotels, calendar, rentals) 1 (hotels) 0
Daily price calendar ✅ ❌ hard
Vacation rentals ✅ Airbnb + Vrbo + Booking.com ❌ hard
Per-provider rates ✅ 15+ OTAs ✅ hard
Pricing $0.002 / hotel pay-as-you-go 10 credits / search your time
Free tier $5 / month Apify credit 1,000 credits / month n/a

FAQ

Do I need an Apify paid plan? No. The free plan is enough for a few thousand hotel results per month.

Is this official from Google? No, it is an unofficial server that calls the same /travel/hotels endpoints a browser does, via three open actors.

Why three actors instead of one? Google serves calendars and vacation rentals on separate pages, each with its own ranking signals. Keeping them as separate tools keeps costs honest — you only pay for what the agent actually fetches.

What about rate limits? Each actor retries transient failures and respects Google's rate limits. For heavy workloads use the Apify Scheduler (one line in the console) instead of running the MCP tool in a tight loop.

Links

License

MIT.

MCP Server · Populars

MCP Server · New

    zachshallbetter

    adobe-mcp

    MCP server that turns Adobe InDesign into an AI design automation platform — 135+ tools for layout, styles, export, and publishing workflows

    Community zachshallbetter
    obsei

    obsei

    Obsei is a low code AI powered automation tool. It can be used in various business flows like social listening, AI based alerting, brand image analysis, comparative study and more .

    Community obsei
    colorjs

    color-space

    Open collection of color spaces

    Community colorjs
    chaitin

    百智云 Agent Toolkit

    MCP Server

    Community chaitin
    Slacker-LLC

    solidworks-mcp

    MCP server that drives a running SOLIDWORKS session over its COM API - 92 tools for sketching, solid features, reference geometry, assemblies and drawings, with screenshots as a feedback channel

    Community Slacker-LLC