Booking.com Hotels MCP — Hotel Search, Hotel Prices & Availability
Real-time Booking.com rates for agents.
Что умеет
- Search Hotels: FlightPowers hotel search: live Booking.com availability and nightly prices for a destination and date range. Input: a free-text destination the way a person would say it ("Rome", "Toky
- Find Hotel By Name: FlightPowers single-property lookup: live Booking.com availability and pricing for one named property. Input: the hotel name a person would type (adding the city helps when a chain
- Compare Hotel Rates: FlightPowers cross-source comparison: prices one stay on every source you have a key for. Input: a free-text destination the way a person would say it ("Rome", "Tokyo Shibuya"), c
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
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'sproxy_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_nameresolves 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
{
"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 | $20 / mo | 6,500 | $0.003 each | 25 / minute |
| MEGA | $50 / mo | 25,000 | $0.002 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, with Google's own price band and a low/typical/high verdict
- 🆓 Free tier — mrabi/freemium-google-flights-and-booking-mcp, no key, no signup
An independent service returning publicly available hotel pricing. Not affiliated with, endorsed by, or sponsored by Booking.com.
Список инструментов сервера (3)
Технические названия из tools/list. Нужны только разработчикам.
| search_hotels | FlightPowers hotel search: live Booking.com availability and nightly prices for a destination and date range. Input: a free-text destination the way a person would say it ("Rome", "Tokyo Shibuya"), plus check-in and check-out dates. Returns each property's price, review score, room type, location and a booking link. Set price_as_seen_from to a two-letter country code to price the same stay the way a shopper resident in that country would see it, which no other travel tool here can do. Gaps are real but usually modest and property-dependent, and rates move between calls, so hold one named property fixed, call each country a few times, and never read one call per country as a gap. A date range and a nights value price several stays in one call, like the flights tools: pass checkin_date_from, checkin_date_to and nights (a number, or a list like [2, 3, 7]) instead of a fixed checkin_date/checkout_date, and every check-in date is priced separately. The answer is stays -- one entry per stay with its cheapest property, per-night price and median -- plus cheapest_overall, and the full property list for the cheapest stay only. Each stay is one request billed to your plan; max_searches caps it, and a request that expands past the cap is sampled evenly across the range and says so in search_coverage. Set providers to price the same stay on more than one source in one call: ["booking"] (the default), ["airbnb"], or both. Booking rows rate out of 10 and Airbnb rows out of 5, so read rating_scale on every row before comparing two of them. A source you have no RapidAPI key for is not called and is named in providers_skipped with a subscribe link, never quietly dropped. Rates go stale within minutes: never reuse an earlier result, search again. Requires the caller's own RapidAPI key for the Booking Live API. Get one (free tier available) at https://rapidapi.com/mtnrabi/api/booking-live-api, then pass it as an `x-rapidapi-key` header (preferred), a `?rapidapi_key=` query parameter on the server URL, or your client's own API key field -- first non-empty wins. Usage counts against the caller's own RapidAPI plan, not ours; every response reports what it spent and what is left in `api_usage`. |
| find_hotel_by_name | FlightPowers single-property lookup: live Booking.com availability and pricing for one named property. Input: the hotel name a person would type (adding the city helps when a chain has many properties) plus check-in and check-out dates -- no internal property ID needed, the resolution is done for you. Returns the property's price, review score, room type and a booking link. Use it to check one specific hotel, or to track a single property's price over time. A date range and a nights value price several stays in one call, like the flights tools: pass checkin_date_from, checkin_date_to and nights (a number, or a list like [2, 3, 7]) instead of a fixed checkin_date/checkout_date, and this property is priced for every check-in date -- a rate calendar for one hotel. The answer is stays, one entry per date with that date's price and per-night rate, plus cheapest_overall. Each stay is one request billed to your plan; max_searches caps it, and a range that expands past the cap is sampled evenly across the calendar and says so in search_coverage. price_as_seen_from prices the stay as a shopper resident in that country would see it. Gaps are real but usually modest and property-dependent, and rates move between calls, so call each country a few times on this same property before reporting a gap. Rates go stale within minutes: never reuse an earlier result. Requires the caller's own RapidAPI key for the Booking Live API. Get one (free tier available) at https://rapidapi.com/mtnrabi/api/booking-live-api, then pass it as an `x-rapidapi-key` header (preferred), a `?rapidapi_key=` query parameter on the server URL, or your client's own API key field -- first non-empty wins. Usage counts against the caller's own RapidAPI plan, not ours; every response reports what it spent and what is left in `api_usage`. |
| compare_hotel_rates | FlightPowers cross-source comparison: prices one stay on every source you have a key for. Input: a free-text destination the way a person would say it ("Rome", "Tokyo Shibuya"), check-in and check-out dates, and how many adults. Returns one row per source: the cheapest and the median stay total, how many places were found, the currency and when it was read. Read the caveats on every row before you say one source is cheaper. rating_scale is 10 on Booking and 5 on Airbnb. taxes_included is true on Booking, where excluded taxes are folded into the price, and null on Airbnb, where we have not established the tax treatment of the display total; a null is not a no. A source you have no key for is listed in providers_skipped with a subscribe link and is not counted anywhere in the comparison. Rates go stale within minutes: never reuse an earlier result, compare again. Requires the caller's own RapidAPI key for the Booking Live API. Get one (free tier available) at https://rapidapi.com/mtnrabi/api/booking-live-api, then pass it as an `x-rapidapi-key` header (preferred), a `?rapidapi_key=` query parameter on the server URL, or your client's own API key field -- first non-empty wins. Usage counts against the caller's own RapidAPI plan, not ours; every response reports what it spent and what is left in `api_usage`. |