canonical: https://jentic.com/apis/booking.com/booking

# Booking.com API

Jentic publishes the only available OpenAPI specification for Booking.com API, keeping it validated and agent-ready. Booking.com is one of the largest accommodation marketplaces and exposes an API for searching hotels, checking availability, and creating bookings. This spec covers a focused set of five core endpoints: hotel search, hotel detail lookup, availability check, booking creation, and booking retrieval. Use it to surface accommodation options inside your own travel product, confirm rooms before booking, and place reservations on behalf of a traveller.

## For AI agents

Search hotels, check availability, and create accommodation bookings on Booking.com programmatically.

## Scope

Does not handle flights, car rentals, or attraction tickets - use for Booking.com hotel and accommodation search, availability, and booking only.

## Capabilities

- Search the Booking.com inventory for hotels matching a destination and date range
- Retrieve full hotel details including room types and amenities for a given hotel ID
- Check room availability and price for a specific hotel before booking
- Create a booking on behalf of a traveller with their stay dates and guest details
- Retrieve a previously created booking by its booking identifier

## Use cases

### Embedded Accommodation Search in a Travel App

Surface Booking.com hotel inventory inside your own travel planning product so users can search and book without leaving the app. GET /hotels/search returns matching hotels for a destination and date range, and GET /hotels/{hotelId} returns the detail used in the listing page. Removes the need to maintain your own accommodation supply pipeline.

Example prompt: GET /hotels/search?destination=Lisbon&check_in=2026-07-12&check_out=2026-07-15&guests=2

### Availability-Confirmed Booking Flow

Confirm that a hotel still has rooms at the quoted price before charging the traveller, then place the booking. GET /availability checks live availability for the chosen hotel and dates, and POST /bookings completes the reservation. Avoids the bad customer experience of a booking failure after payment is captured.

Example prompt: GET /availability for hotelId 12345 and dates 2026-07-12 to 2026-07-15, then POST /bookings if available

### Itinerary Sync and Receipts

Pull booking detail back into the user's account or a corporate travel system using GET /bookings/{bookingId} once a reservation has been made. Useful for travel apps that consolidate itineraries or expense systems that need to attach receipts. Eliminates the need for the traveller to manually forward confirmation emails.

Example prompt: GET /bookings/BK-998877 and write the result to the trip itinerary record

### AI Agent Travel Booking Assistant

An AI travel agent uses Jentic to discover Booking.com operations, searches accommodation, confirms availability, and places bookings on behalf of a user from a single natural-language request. The Booking.com API key lives in your Jentic One instance so the agent never sees the raw key. Replaces a multi-step manual booking flow with a single search-load-execute cycle per action.

Example prompt: Search Jentic for 'create a Booking.com hotel booking', load the operation, and execute it for the chosen hotel and stay dates

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /hotels/search | Search hotels by destination and dates |
| GET | /hotels/{hotelId} | Retrieve hotel details |
| GET | /availability | Check availability for a hotel and date range |
| POST | /bookings | Create a booking |
| GET | /bookings/{bookingId} | Retrieve a booking |

## Key resources

- **Hotels** — Search the inventory and retrieve full hotel details by ID
- **Availability** — Check live room availability and pricing for a hotel and date range
- **Bookings** — Create new reservations and retrieve them by booking ID

## Why Jentic

- **Setup:** Wiring the Booking.com API by hand means sending your partner key in the Authorization header and mapping the hotel search, availability, and booking endpoints yourself. Through Jentic you install once, import Booking.com from the API Directory, store the partner key once, and your agent calls it.
- **Permission scoping:** Booking.com carries the search and booking data in query parameters and the request body, with only the lookup ids in the path (/hotels/{hotelId}, /bookings/{bookingId}), so limit the agent to the operations it needs, such as searching hotels or checking availability. You choose that set, so creating a booking is not included unless you add it.
- **Credential handling:** Your Booking.com partner key is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'search Booking.com hotels' or 'check room availability', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the partner reference docs.

## Related APIs

- **BookingSync API** — BookingSync focuses on short-term rental management while Booking.com is a hotel marketplace.
- **BoldSign API** — Sign a corporate travel agreement in BoldSign before booking via Booking.com.
- **Bond API** — Issue a travel-specific virtual card via Bond and pay for the Booking.com reservation with it.

## FAQ

### Why is there no official OpenAPI spec for Booking.com API?

Booking.com does not publish an OpenAPI specification - its developer portal documents the API in HTML reference. Jentic generates and maintains this spec so AI agents and developers can call Booking.com via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Booking.com API use?

Booking.com uses an API key sent in the Authorization header. Through Jentic the key is held in the encrypted vault and only a scoped, short-lived token reaches the agent context - the raw partner key never enters logs or prompts.

### Can I create a hotel booking through the Booking.com API?

Yes. POST /bookings with the hotelId, check-in and check-out dates, and guest details. We recommend calling GET /availability first to confirm the room is still available at the quoted price before placing the booking.

### How do I search hotels by destination through Jentic?

Search Jentic for 'search Booking.com hotels', load the GET /hotels/search operation schema, then execute it with the destination and date range. The response returns matching hotels with their IDs you can pass to GET /hotels/{hotelId}.

### What are the rate limits for the Booking.com API?

Formal rate limits are not declared in this OpenAPI specification. Booking.com partner programs typically apply per-second and per-day caps - back off on HTTP 429 responses and avoid repeatedly polling /availability for the same hotel.

### Can I retrieve a booking after it has been created?

Yes. GET /bookings/{bookingId} returns the booking detail, including stay dates, guest count, and status. Useful for itinerary sync or expense reporting.

### Can I limit what my agent is allowed to do with the Booking.com API?

Yes. Because Jentic One is self-hosted and your own rules decide which operations and credentials the agent may use, you can scope the agent to only the Booking.com endpoints it needs, such as searching hotels with GET /hotels/search or checking prices with GET /availability. Since you choose that set, a write operation like creating a booking with POST /bookings is not included unless you explicitly add it. The partner key stays in your instance and is injected only for the operations you permit.
