Booking.com Hotels MCP — Hotel Search, Hotel Prices & Availability
https://server.smithery.ai/mrabi/booking/mcpFlightPowers is a travel data API for developers and AI agents: live Booking.com room rates by destination or by hotel name, with a `price_as_seen_from` parameter (the API's `proxy_country`) that prices the stay as seen from another country, over REST, MCP servers and an n8n node on one RapidAPI key. Free tier of 10 searches; PRO is $10 for 2,000 hotel searches. A hotel data API, not a booking engine; best for rate-parity checks, price tracking and AI agents. Ad-free on your own RapidAPI key; a check-in date range in one call. **Real-time Booking.com rates for agents.** Three things people do with this server. Scan for rate gaps: price_as_seen_from prices the same room from another market, so an agent can sample a property across countries and compare. Put live search in your app: search a destination or look a property up by name, no internal IDs, room-level rates as flat JSON. Run a 24/7 AI travel agent: add the server, sign in with Google, and schedule it. No ads, no sponsored content. You bring your own RapidAPI key, so every search is billed to your plan and never to anyone else's. ### Connecting One URL, whichever way you connect: ``` https://hotels.flightpowers.com/mcp ``` Add it, click **Sign in**, sign in with Google, and paste your RapidAPI key once on the page that opens. It is encrypted before it is stored, only the last four characters are ever shown again, and Disconnect deletes it. Scripts, CI and clients without a sign-in button send the key on that same URL, either as an `x-rapidapi-key` header or as `?rapidapi_key=`. There is no second endpoint to choose between. Either way the key is yours, so every search is billed to your plan and never to anyone else's. Get a key on the Booking Live API listing: https://rapidapi.com/mtnrabi/api/booking-live-api . BASIC is free with 10 requests a month. ### Tools | Tool | What it does | | --- | --- | | `search_hotels` | Live properties and nightly prices for a destination and date range — or a whole stretch of dates in one call via `checkin_date_from`/`checkin_date_to`/`nights` | | `find_hotel_by_name` | One named property — no internal hotel ID needed, resolution is done for you | | `compare_hotel_rates` | Prices one stay across every source you have a key for — Booking.com today, more providers as they ship | All three are annotated **read-only**. They search and read; they cannot book, hold, pay for or cancel anything. ### What you get that other hotel tools don't return - **Price as seen from another country** (`price_as_seen_from`, the API's `proxy_country`) — prices the same stay through a residential connection in the country you name. This is what makes **rate-parity and geo-pricing monitoring** possible, and it is the reason a revenue manager would build on this rather than a generic scraper. *Honest sizing:* the gaps are real but modest and property-dependent. In our own repeat-sampled test one country ran a few percent under another on every property we checked, while a third was not stable enough to read from a single call. Treat it as monitoring you run on a schedule against a fixed property, not a one-shot arbitrage trick. - **Search a property by the name a person would type.** `find_hotel_by_name` resolves it for you; most hotel APIs make you look up an internal property ID first. - **24 Booking.com filters** — free cancellation, meal plans, review score, star rating, facilities, pets, adults-only. Validated *before* the request, so a typo costs you nothing instead of silently returning unfiltered results. - Price, review score and count, room type, location, image and a booking link. ### You always know what a search cost Every response carries `api_usage`, read from RapidAPI's own rate-limit headers: | Field | Meaning | | --- | --- | | `requests_used_by_this_call` | Billed requests this single call consumed | | `plan_requests_remaining` | What is left on your plan right now | | `plan_requests_limit` | Your plan's ceiling | ### Sample response ```json { "results": [{ "name": "Hotel Leone", "price_string": "US$273", "price": 273, "review_score": 8.2, "review_count": 701, "room_type": "Superior Double or Twin Room", "link": "https://www.booking.com/hotel/it/leone.html" }], "result_count": 25, "api_usage": { "requests_used_by_this_call": 1, "plan_requests_remaining": 19994 } } ``` ### Built for - **Rate-parity monitoring** — is your direct rate actually undercut in another market? - **Competitive-set tracking** — watch a named comp set on a schedule - **Travel agents** — availability and price for a property a guest asked about by name ### Getting a key Subscribe to the **Booking Live API** on RapidAPI: **→ https://rapidapi.com/mtnrabi/api/booking-live-api** | Plan | Price | Requests / month | Overage | Rate | | --- | --- | --- | --- | --- | | BASIC | $0 | 10, hard cap | not available | 250 / minute | | PRO | $10 / mo | 2,000 | $0.006 each | 25 / minute | | ULTRA | $30 / mo | 6,500 | $0.0045 each | 25 / minute | | MEGA | $75 / mo | 25,000 | $0.003 each | 50 / minute | BASIC is a hard cap, so request 11 is refused instead of billed. `proxy_country` is on every plan, the free one included. ### Also available - ✈️ **Flights** — [mrabi/google-flights](https://smithery.ai/servers/mrabi/google-flights), with Google's own price band and a low/typical/high verdict --- *An independent service returning publicly available hotel pricing. Not affiliated with, endorsed by, or sponsored by Booking.com.* [Privacy](https://hotels.flightpowers.com/privacy) · [Terms](https://hotels.flightpowers.com/terms) · [Support](https://hotels.flightpowers.com/support) · [Status](https://hotels.flightpowers.com/health)
MCP readiness
Readiness is how fully this listing follows its protocol and how it behaved in our probes over 30 days. It is shown for reference and does not move it in search. Search order and leaderboards use the separate quality grade (here C+, 70.0/100), which weighs availability, conformance, p95 speed and descriptor. How the two differ
| Valid MCP handshake | 10/10 | initialize and tools/list both answered. |
| Live MCP endpoint | 25/25 | Endpoint answers the MCP initialize handshake (2399 ms). |
| Protocol revision | 8/10 | Speaks MCP 2025-11-25, 1 revision(s) behind 2026-07-28. |
| Signed descriptor | n/a | No MCP standard defines a signed server descriptor. |
| Uptime (30 days) | 15/15 | 30/30 probes succeeded over 30 days (100%). |
| Tool declaration | 10/10 | Lists 4 tool(s) with descriptions. |
| Verified identity | 5/10 | Publisher declared (repository, package or homepage); claim this listing to verify domain control. |
| Freshness + modern flags | 4/5 | seen in a source within 7 days. |
| Auth declaration | 2/5 | Declares credential scheme: smithery_api_key. |
Compared with peers
Against 53,039 reachable MCP servers in our daily snapshot (2026-11-12 06:46 UTC). Display only; it does not change search order.
- Readiness
- Higher than 95% of peers
- This listing 88 · peer median 81
- Latency
- Faster than 28% of peers
- This listing 522 ms · peer median 326 ms
Where it loses the most points, and how to win them back
- Verified identity −5
— Claim the listing and prove control of its domain.
Now: Publisher declared (repository, package or homepage); claim this listing to verify domain control.
- Auth declaration −3
— State how to authenticate (an auth scheme, or that none is needed).
Now: Declares credential scheme: smithery_api_key.
- Protocol revision −2
— Support the current protocol revision.
Now: Speaks MCP 2025-11-25, 1 revision(s) behind 2026-07-28.
Listed in
Directories this entry was found in.
How to connect
https://server.smithery.ai/mrabi/booking/mcp
curl -X POST https://server.smithery.ai/mrabi/booking/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'