Booking.com API: Get property details
Gets one Booking.com property's details by name and city or Booking.com link: type, stars, address, description, review scores, facilities, house rules, rooms and photos. Room prices and cancellation terms are shown only when available for the selected dates.
Unofficial. Not affiliated with or endorsed by Booking.com.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Adults optional
adults Number of adult guests. Example: 2.
2 (default)
Whole number 1 or more.
- Check in optional
check_in Arrival date for room prices (YYYY-MM-DD). Example: 2026-11-10.
Not set
- Currency optional
currency Currency for room prices. Example: USD.
USD (default)
- Property, required
property Property name with its city, or a Booking.com property link. Example: Hotel Artemide Rome.
Hotel Artemide Rome
- Check Out optional
check_out Departure date for room prices (YYYY-MM-DD). Example: 2026-11-12.
Not set
Input as JSON
{ "property": "Hotel Artemide Rome"}Output
{ "rooms": [ { "beds": "1 queen bed", "name": "Basic Double Room", "price": null, "size_m2": 13, "currency": null, "max_guests": 2, "cancellation_terms": null }, { "beds": "1 queen bed", "name": "Comfort Double Room", "price": null, "size_m2": 15, "currency": null, "max_guests": 2, "cancellation_terms": null }, { "beds": "2 twin beds", "name": "Comfort Twin Room", "price": null, "size_m2": 15, "currency": null, "max_guests": 2, "cancellation_terms": null } ], "address": "Via Nazionale 22, Central Station, 00184 Rome, Italy", "description": "The Artemide is in a 19th-century building on the vibrant Via Nazionale. A free minibar and free Wi-Fi access are available in each of the elegant rooms. Guests can book a session in the Artemis Spa, offering a sauna, hot tub, Turkish bath and a variety of treatments. Rooms are air-conditioned and d…", "house_rules": { "pets": "Pets are not allowed.", "check_in": "From 2:00 PM to 11:30 PM Guests are required to show a photo ID and credit card at check-in. You need to let the property know what time you'll be arriving in advance.", "children": "Child policies Children of all ages are welcome. Children 3 and above will be charged as adults at this property. To see correct prices and occupancy info, add the number and ages of children in your group to your search. Crib and extra bed policies 0 - 2 years Crib upon request Free The number of c…", "check_out": "From 12:00 AM to 12:00 PM", "cancellation_and_prepayment": "Cancellation and prepayment policies vary according to accommodation type. Enter your stay dates and check the conditions of your selected option." }, "photo_links": [ "https://cf.bstatic.com/xdata/images/hotel/max1024x768/64107180.jpg?k=bc957e3f08024b859b56f18c46f222dba97653e5e23037d1c6f51ac4971252d8&o=" , "https://cf.bstatic.com/xdata/images/hotel/max500/64108367.jpg?k=454234773f3242d349966e31f661143ce05383d50f188c9a3898ae238a70248f&o=" , "https://cf.bstatic.com/xdata/images/hotel/max500/64109016.jpg?k=d3d47d8ce94f1fd72f5d2d37188076942d9a847f376b397256678d312a35d52b&o=" ], "review_word": "Wonderful", "star_rating": 4, "booking_link": "https://www.booking.com/hotel/it/artemide.html" , "review_count": 1684, "review_score": 9.2, "property_name": "Hotel Artemide", "property_type": "Hotel", "category_scores": { "Staff": 9.7, "Comfort": 9.5, "Location": 9.5, "Free Wifi": 9.5, "Facilities": 9.3, "Cleanliness": 9.5, "Value for money": 8.6 }, "facility_groups": [ { "group": "General", "facilities": [ "Shuttle service", "Shared lounge/TV area" , "Air conditioning" ] }, { "group": "Bathroom", "facilities": [ "Toilet paper", "Towels", "Bath or shower" ] }, { "group": "Bedroom", "facilities": [ "Linens", "Wardrobe or closet" ] } ], "most_popular_facilities": [ "Free Wifi", "Airport shuttle", "Spa and wellness center" ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"booking.com/get_property","input":{"property":"Hotel Artemide Rome"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "booking.com/get_property" , "input": { "property": "Hotel Artemide Rome" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "booking.com/get_property" , "input": { "property": "Hotel Artemide Rome" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run booking.com/get_property# with {"property":"Hotel Artemide Rome"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "property" ], "properties": { "adults": { "type": "integer", "default": 2, "minimum": 1, "description": "Number of adult guests. Example: 2." }, "check_in": { "type": "string", "description": "Arrival date for room prices (YYYY-MM-DD). Example: 2026-11-10." }, "currency": { "type": "string", "default": "USD", "description": "Currency for room prices. Example: USD." }, "property": { "type": "string", "minLength": 1, "description": "Property name with its city, or a Booking.com property link. Example: Hotel Artemide Rome." }, "check_out": { "type": "string", "description": "Departure date for room prices (YYYY-MM-DD). Example: 2026-11-12." } }}Output schema
{ "type": "object", "properties": { "rooms": { "type": "array", "items": { "type": "object", "properties": { "beds": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "price": { "type": [ "number", "null" ] }, "size_m2": { "type": [ "number", "null" ] }, "currency": { "type": [ "string", "null" ] }, "max_guests": { "type": [ "integer", "null" ] }, "cancellation_terms": { "type": [ "string", "null" ] } } } }, "address": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "house_rules": { "type": "object", "properties": { "pets": { "type": [ "string", "null" ] }, "check_in": { "type": [ "string", "null" ] }, "children": { "type": [ "string", "null" ] }, "check_out": { "type": [ "string", "null" ] }, "cancellation_and_prepayment": { "type": [ "string", "null" ] } } }, "photo_links": { "type": "array", "items": { "type": "string" } }, "review_word": { "type": [ "string", "null" ] }, "star_rating": { "type": [ "integer", "null" ] }, "booking_link": { "type": [ "string", "null" ] }, "review_count": { "type": [ "integer", "null" ] }, "review_score": { "type": [ "number", "null" ] }, "property_name": { "type": [ "string", "null" ] }, "property_type": { "type": [ "string", "null" ] }, "category_scores": { "type": "object", "additionalProperties": { "type": [ "number", "null" ] } }, "facility_groups": { "type": "array", "items": { "type": "object", "properties": { "group": { "type": "string" }, "facilities": { "type": "array", "items": { "type": "string" } } } } }, "most_popular_facilities": { "type": "array", "items": { "type": "string" } } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
booking.com/get_property- Returns
- property name, type, stars, address, description, review score, word and count, category scores, popular facilities, facility groups, house rules, rooms, photo links, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method booking.com/get_property with the inputs above.
Ask your agent
- What facilities and house rules does Hotel Adlon Kempinski in Berlin have? Also show me the guest review scores by category.
- Pull up the Booking.com page for Riad Yasmine in Marrakech — I want the star rating, address, description and photos.
- Check room prices and cancellation terms at The Hoxton Shoreditch London for 2 adults, checking in 2026-09-14 and out 2026-09-17, in GBP.
- I'm thinking of staying at Casa Gracia Barcelona. What kind of property is it, what's its review score and how many reviews, and what rooms do they offer?
- Get full details for this listing: https://www.booking.com/hotel/jp/park-hyatt-tokyo.html — rooms and prices for 3 adults from 2027-03-02 to 2027-03-06 in JPY.
See more
All Booking.com methodsSearches Booking.com stays by destination and dates, with guest counts, price, review, cancellation, sorting and paging. Displayed prices generally exclude some taxes and fees; children are searched as age 8.
booking.com/search_staysGets public details for one Airbnb listing from its link. When dates are given, it also returns dated prices and cancellation terms if Airbnb offers a quote.
airbnb.com/get_listingFinds available Agoda stays in a city for your dates, with prices before taxes and fees, star and guest ratings, and free-cancellation status.
agoda.com/search_hotelsFinds room offers and nightly prices for one Agoda hotel on selected dates. Totals are calculated from displayed nightly prices before taxes and fees; final checkout totals may differ.
agoda.com/get_room_pricesFinds Expedia hotels in a destination for given dates, with public USD prices, reviews, property class, refund status and links. Nightly prices are per room; totals include all requested rooms, taxes and fees.
expedia.com/search_hotelsFind publicly priced Priceline hotels in a place for your travel dates, with guest ratings, nightly and total USD prices, and cancellation information. Excludes hotels hidden behind anonymous deals and sign-in-only prices.
priceline.com/search_hotelsFinds a hotel on Google Hotels by name and city and returns its guest reviews in the chosen order, its Google rating and review count, and topic ratings averaged from the returned reviews that rate each topic.
google.com/get_hotel_reviewsFinds hotels in a city on Trip.com for given dates, with prices, guest ratings, reviews and booking links. Only the initial public listing is read, so large limits may return fewer hotels.
trip.com/search_hotels