Getting started
Introduction
The KOOB API is a secure and easy way to interact with our platform to integrate your own services or create complete third party applications.
This documentation covers everything you need to know to get started, you can also find an exhaustive list of endpoints and their parameters in our API Reference.
Need assistance?
For general inquiries, you can contact us at hello@koob.tech or visit our contact form.
For any technical assistance, please reach out to laurene@koob.tech.
Prerequisites
Before you start, make sure you have the following:
- A valid API key. You can obtain one by contacting us.
- A basic understanding of RESTful APIs and JSON.
- A tool to make HTTP requests, such as Postman or cURL.
API Endpoints
The KOOB API and documentation is available in two environments:
- Staging: For development and testing
- Production: For live applications
Staging Environment
Production Environment
Integration Certification Required
Access to the production environment requires completion of our integration certification process. Please contact our technical team to begin the certification workflow before requesting production API credentials.
Use the staging environment for development, testing, and integration work.
Your First Booking
The whole hotel booking flow takes four calls. All requests carry your API key in the X-API-Key header; see Authentication for details.
1. Find a destination or hotel
curl "https://api.koob.tech/api/v3/search?query=bali%20beach&types=hotel,city,region,country" \
-H "X-API-Key: your-api-key-here"Returns relevance-ranked hotels, locations, experiences and trip templates. Keep the id of the hotel or location you want.
2. Search availability
curl "https://api.koob.tech/api/v3/hotels/availability?checkIn=2026-11-12&checkOut=2026-11-16&hotels[0]=4242&rooms[0][adults]=2&rooms[0][childrenBirthdates][0]=2019-05-01" \
-H "X-API-Key: your-api-key-here"Returns hotels with headline prices and a lightweight room list for your stay and party.
3. Get bookable rooms
curl "https://api.koob.tech/api/v3/hotels/4242/rooms/availability?checkIn=2026-11-12&checkOut=2026-11-16&rooms[0][adults]=2&rooms[0][childrenBirthdates][0]=2019-05-01" \
-H "X-API-Key: your-api-key-here"The response carries the booking handshake in meta: a requestId (valid until meta.expiresAt, about 15 minutes) plus rooms with bedChoices in data. Keep two values: the requestId, and the chosen bed choice id.
4. Book
curl -X POST "https://api.koob.tech/api/v3/bookings" \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"requestId": "6f1f9e0c-0a52-4c5e-9c1d-3f2b7a9e8d41",
"customer": {
"firstName": "Marie",
"lastName": "Dupont",
"email": "marie.dupont@example.com"
},
"rooms": [
{
"bedCompositionId": "bed-812-double",
"travelers": [
{ "kind": "adult", "gender": "female", "firstName": "Marie", "lastName": "Dupont", "birthdate": "1988-04-17" },
{ "kind": "adult", "gender": "male", "firstName": "Paul", "lastName": "Dupont", "birthdate": "1986-09-02" },
{ "kind": "child", "gender": "female", "firstName": "Emma", "lastName": "Dupont", "birthdate": "2019-05-01" }
]
}
]
}'Returns 201 with the created booking (data.id, data.state, stay, rooms — the same shape GET /api/v3/bookings/{id} returns). A 404 here usually means the requestId expired — re-run step 3 and book again with the fresh handshake.
Every request and response above is documented with a full example in the API Reference.