Hotel Facilities API
Extract comprehensive facilities and amenities information from Booking.com hotels.
Overview
Complete Amenities List
Get all hotel facilities organized by category, including property-wide and room-specific amenities.
The Hotel Facilities endpoint provides a detailed breakdown of all facilities available at a hotel, organized by categories such as general facilities, activities, services, and room-specific amenities.
Endpoint URL
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
url | string | Required | Booking.com hotel URL or hotel slug (e.g., "baan-coconut" or "https://www.booking.com/hotel/th/baan-coconut.html") |
Response Structure
Facility Categories
- General - Core hotel facilities (WiFi, parking, etc.)
- Activities - Recreation and entertainment options
- Services - Guest services (concierge, laundry, etc.)
- Food & Drink - Dining options and bars
- Pool/Wellness - Pool, spa, and fitness facilities
- Transportation - Shuttle services and transfers
- Reception Services - Front desk services
- Common Areas - Shared spaces and lounges
- Entertainment & Family - Kids facilities and entertainment
- Cleaning Services - Housekeeping options
- Business Facilities - Meeting rooms and business center
- Shops - On-site shopping options
- Miscellaneous - Other unique facilities
Room-Specific Facilities
Facilities organized by room type, showing which amenities are available in specific room categories.
Facility Statistics
- Total facility count
- Count by category
- Most common facilities
Usage Tips
Display Strategy
Group facilities by category for better user experience. Highlight the most important amenities like WiFi, parking, and breakfast.
Implementation Best Practices
- Use icons to represent facility categories
- Show room-specific facilities when displaying room options
- Highlight popular amenities (Free WiFi, Free Parking, etc.)
- Allow filtering search results by key facilities
- Cache facility data as it rarely changes
Supported URL Formats
This endpoint accepts both hotel slugs and full Booking.com URLs, providing flexibility in how you reference hotels.
Hotel Slug Format
Use just the hotel identifier from the URL:
Full URL Format
Use the complete Booking.com hotel URL:
Automatic Detection
The API automatically detects and handles both formats. Use whichever format is most convenient for your application.
# Using hotel slug curl -X GET "https://api.stayapi.com/v1/booking/hotel/facilities?url=baan-coconut" \ -H "x-api-key: YOUR_API_KEY" # Using full URL curl -X GET "https://api.stayapi.com/v1/booking/hotel/facilities?url=https://www.booking.com/hotel/th/baan-coconut.html" \ -H "x-api-key: YOUR_API_KEY"
// Using hotel slug const response = await fetch( "https://api.stayapi.com/v1/booking/hotel/facilities?url=baan-coconut", { headers: { "x-api-key": "YOUR_API_KEY" } } ); // Or using full URL const responseFullUrl = await fetch( "https://api.stayapi.com/v1/booking/hotel/facilities?url=https://www.booking.com/hotel/th/baan-coconut.html", { headers: { "x-api-key": "YOUR_API_KEY" } } ); const data = await response.json(); // Display facilities by category Object.entries(data.data.facilities_by_category).forEach(([category, facilities]) => { console.log(`\n${category}:`); facilities.forEach(facility => { console.log(` - ${facility}`); }); }); // Show key statistics console.log(`\nTotal facilities: ${data.data.facility_count.total}`);
import requests url = "https://api.stayapi.com/v1/booking/hotel/facilities" headers = {"x-api-key": "YOUR_API_KEY"} # Using hotel slug params = {"url": "baan-coconut"} # Or using full URL params_full_url = {"url": "https://www.booking.com/hotel/th/baan-coconut.html"} response = requests.get(url, headers=headers, params=params) data = response.json() # Display facilities by category facilities = data["data"]["facilities_by_category"] for category, items in facilities.items(): print(f"\n{category}:") for facility in items[:5]: # Show first 5 in each category print(f" - {facility}") if len(items) > 5: print(f" ... and {len(items) - 5} more") # Show popular facilities print("\nMost Common Facilities:") for facility in data["data"]["popular_facilities"][:10]: print(f" ✓ {facility}")
{ "success": true, "data": { "facilities_by_category": { "General": [ "Non-smoking rooms", "Free WiFi", "Family rooms", "Free parking", "Room service", "Restaurant", "24-hour front desk", "Bar", "Good breakfast" ], "Activities": [ "Beach", "Bicycle rental", "Snorkeling", "Diving", "Fishing", "Canoeing", "Hiking", "Karaoke", "Library" ], "Services": [ "Airport shuttle", "Laundry", "Dry cleaning", "Ironing service", "Currency exchange", "Concierge", "Tour desk", "Luggage storage" ], "Food & Drink": [ "Restaurant", "Bar", "Breakfast options", "Coffee shop", "Snack bar", "Special diet menus", "Wine/champagne" ], "Pool/Wellness": [ "Outdoor pool", "Spa", "Massage", "Hot tub/Jacuzzi", "Fitness center", "Sauna", "Pool bar", "Sun deck" ], "Transportation": [ "Airport shuttle (surcharge)", "Shuttle service", "Car rental", "Bicycle rental" ], "Reception Services": [ "24-hour front desk", "Express check-in/out", "Currency exchange", "Tour desk", "Luggage storage", "Safety deposit box" ] }, "room_facilities": { "all_rooms": [ "Air conditioning", "Private bathroom", "Flat-screen TV", "Free WiFi", "Safe", "Minibar", "Coffee/tea maker", "Hair dryer", "Toiletries" ], "by_room_type": { "Deluxe Room": [ "Balcony", "Sea view", "Bathtub", "Bathrobes", "Slippers" ], "Suite": [ "Living room", "Kitchenette", "Dining area", "Washing machine", "Ocean view" ] } }, "facility_count": { "total": 87, "by_category": { "General": 15, "Activities": 12, "Services": 18, "Food & Drink": 8, "Pool/Wellness": 10, "Transportation": 4, "Reception Services": 8, "Room Facilities": 12 } }, "popular_facilities": [ "Free WiFi", "Free parking", "Airport shuttle", "Non-smoking rooms", "Restaurant", "24-hour front desk", "Outdoor pool", "Air conditioning", "Bar", "Beach" ] }, "message": "Successfully retrieved hotel facilities", "retrieved_at": "2024-01-15T10:30:00Z" }
{ "error": "Hotel not found", "detail": "Could not find hotel with URL: invalid-hotel", "status_code": 404 }