Hotel Facilities API
Extract comprehensive property-wide facilities and amenities from Booking.com hotels by hotel ID.
Overview
Fast & Reliable
Powered by Booking.com's mobile GraphQL API. Typical response time: 1–2 seconds.
The Hotel Facilities endpoint returns a detailed breakdown of property-wide facilities for a Booking.com hotel, organized by category (Bathroom, Bedroom, Food & Drink, Spa, Services, etc.), along with popular highlights and curated accommodation highlights.
Endpoint URL
Need a hotel ID?
Use /v1/booking/hotel/url-to-id to convert a Booking.com URL or slug to a numeric hotel ID.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| hotel_id | integer (> 0) | Required |
Numeric Booking.com hotel ID (for example, 91703 for Bellagio Las Vegas).
|
Response Structure
Top-level fields
success— boolean, alwaystruefor 2xx responses.hotel_id— the numeric ID that was queried.data.hotel_id— stringified hotel ID, echoed from the upstream response.data.facilities— object keyed by category name (see below).data.highlights— array of the top popular facility titles (de-duplicated, up to ~10).data.accommodation_highlights— curated hero amenities with icons.data.metadata.scraped_at— ISO-8601 UTC timestamp.retrieved_at— same timestamp at the envelope level.
Facility categories
Category keys are human-readable strings provided by Booking.com. Typical categories include:
- General, Internet, Services, Front Desk Services
- Bathroom, Bedroom, Living Area, Room amenities
- Food & Drink, Kitchen, Media & Technology
- Spa, Activities, Outdoors, View
- Business Facilities, Cleaning Services
- Entertainment & Family Services, Accessibility, Safety & security, Transportation
The exact set of categories returned depends on the hotel. Small properties may return only a handful; large resorts can return 20+.
Accommodation highlights
Each entry has title, icon, and type. The type field identifies the highlight kind (for example, WifiFacilityHighlight, RestaurantFacilityHighlight, BarFacilityHighlight, GenericFacilityHighlight).
Usage Tips
Display Strategy
Group facilities by category for better UX. Use accommodation_highlights for hero badges and highlights for a short bullet list.
Best Practices
- Use the
iconfield fromaccommodation_highlightsto render matching glyphs. - Cache the response — facility data rarely changes. A 24-hour TTL is usually safe.
- If you only have a URL, call
/v1/booking/hotel/url-to-idonce and store the resultinghotel_id. - Expect empty
highlightsandaccommodation_highlightsfor very small properties.
Error handling and status codes
Status codes: 200 on success; errors use non-2xx responses with RFC 7807 Problem Details.
- 422: Missing or invalid
hotel_id(not a positive integer). - 404
NOT_FOUND: Upstream reports the hotel does not exist. - 502
UPSTREAM_ERROR: Upstream non-2xx or GraphQL errors. - 503
SERVICE_UNAVAILABLE: Upstream WAF challenge or maintenance. - 500
INTERNAL_ERROR: Unexpected processing error.
Error responses (Problem Details)
All Booking.com hotel endpoints return errors using RFC 7807 Problem Details.
{
"type": "https://api.stayapi.com/errors/invalid-url",
"title": "Invalid URL",
"status": 400,
"detail": "Parameter 'url' must be a full Booking.com hotel URL of the form https://www.booking.com/hotel/{cc}/{slug}.html.",
"error_code": "INVALID_URL",
"provided": "baan-coconut"
}
Media type: application/problem+json
Standard fields: type, title, status, detail
Extensions: error_code and any endpoint-specific fields
2xx policy: 2xx is returned only when data extraction succeeds.