Skip to main content

Quickstart

Bundleport is a unified travel API platform that connects you to multiple hotel providers through a single integration. Get started in minutes with our REST API or SDKs.

Prerequisites

  • API Endpoint: https://test-api.bundleport.com (sandbox) or https://api.bundleport.com (production)
  • API Key: Get your sandbox API key (sk_test_*) from app.bundleport.com (or contact support)
  • cURL or your preferred HTTP client
Sandbox vs Production endpoints

Sandbox API keys (sk_test_*) only work against test-api.bundleport.com. Production keys (sk_prod_*) only work against api.bundleport.com. The examples below use the sandbox endpoint.

Step 1: Get Your API Key

  1. Sign up for a Bundleport account at app.bundleport.com
  2. Navigate to API Keys in your dashboard
  3. Create a new API key with Sandbox access
  4. Copy your API key (you'll need it for all requests)
tip

Start with sandbox keys (sk_test_*) to test without affecting real bookings. Production keys require additional verification.

Step 2: Authenticate Your Request

All Bundleport API requests require authentication via an API key in the Authorization header:

Authorization: ApiKey YOUR_API_KEY_HERE

Step 3: Make Your First API Call

curl -X POST https://test-api.bundleport.com/connect/hotels/v1/availability \
-H "Authorization: ApiKey YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"criteria": {
"checkIn": "2025-12-15T00:00:00Z",
"checkOut": "2025-12-17T00:00:00Z",
"occupancies": [
{
"paxes": [
{"name": "John", "surname": "Doe", "age": 35},
{"name": "Jane", "surname": "Doe", "age": 33}
]
}
],
"currency": "EUR",
"language": "en",
"nationality": "US"
},
"settings": {
"connectionCodes": ["testb-hbds-1876"]
}
}'

Step 4: Understand the Response

At a glance, a successful availability response tells you three things:

  • options — Bookable combinations of hotel, room, board, and price; each has an optionRefId you pass to quote and then book.
  • tracing — How the request behaved per configured connection (e.g. hotels returned, errors), so you can spot partial supplier failures.
  • warnings / errors (when present) — Non-fatal issues or blocking problems; even with 200 OK, always inspect these fields before showing results to customers.

Example shape:

{
"options": [
{
"optionRefId": "OPT-123456789",
"hotel": {
"code": "12345",
"name": "Example Hotel Barcelona",
"location": {
"city": "Barcelona",
"country": "ES"
}
},
"rooms": [
{
"description": "Standard Double Room",
"boardCode": "RO",
"price": {
"currency": "EUR",
"net": 150.00,
"suggested": 180.00
}
}
]
}
],
"tracing": {
"status": "OK",
"accessSpans": [
{
"access": "testb-hbds-1876",
"status": "OK",
"hotelsRequested": 10,
"hotelsReturned": 8
}
]
}
}

Next Steps

Now that you've made your first API call, explore:

Common Issues

401 Unauthorized

  • Verify your API key is correct
  • Ensure the Authorization header format is: ApiKey YOUR_KEY
  • Check that your API key has the required permissions

400 Bad Request

  • Validate your request payload matches the API schema
  • Check date formats (use ISO 8601: YYYY-MM-DDTHH:MM:SSZ)
  • Ensure destination codes are valid (e.g., IATA codes for airports)

Rate Limits

  • Default: 600 requests/minute, 15,000/hour, 250,000/day
  • Limits are configurable per account; see Rate limits and your dashboard at app.bundleport.com

Need Help?