Hotels Catalog
The hotels endpoint provides access to hotel catalog data including names, descriptions, amenities, images, and location information.
Endpoint
POST /content/hotels/v1/hotels
Use Cases
Get Hotel Details
{
"query": {
"hotelCodes": ["12345"]
}
}
List Hotels by Destination
{
"query": {
"destinationCodes": ["BCN"],
"maxSize": 100
}
}
Filter by Connection
{
"query": {
"connectionCode": "CONN_1",
"maxSize": 50
}
}
Response Structure
{
"hotels": {
"hotels": [
{
"code": "12345",
"hotelName": "Example Hotel Barcelona",
"descriptions": [
{
"text": "A beautiful hotel in the heart of Barcelona",
"language": "en"
}
],
"location": {
"city": "Barcelona",
"countryCode": "ES",
"latitude": 41.3851,
"longitude": 2.1734
},
"amenities": [
{ "code": "WIFI", "name": "Free WiFi" },
{ "code": "POOL", "name": "Swimming Pool" }
],
"media": [
{
"url": "https://example.com/hotel-image.jpg",
"mediaType": "IMAGE",
"isPrimary": true
}
],
"starRating": 4,
"boardCodes": ["RO", "BB", "HB"]
}
],
"count": 1,
"token": null
}
}
Key Fields
code- Bundleport hotel code (use in search)hotelName- Hotel namedescriptions- Multi-language descriptionslocation- Address and coordinatesamenities- Available amenitiesmedia- Images and videosstarRating- Hotel star rating (1-5)boardCodes- Available meal plans
Pagination
Use tokens for large result sets:
let token = null;
let allHotels = [];
do {
const result = await getHotels({
query: { maxSize: 1000 },
token,
});
allHotels.push(...result.hotels.hotels);
token = result.hotels.token;
} while (token);
Next Steps
- Content API Reference - Complete endpoint documentation
- Rooms Catalog - Get room type information
- Destinations - Browse destinations