Booking Holdings Cars API
This API collection is specific to the car rentals part of the connected trip. Use these endpoints to search for car rentals, check car details and look for depots and suppliers.
This API collection is specific to the car rentals part of the connected trip. Use these endpoints to search for car rentals, check car details and look for depots and suppliers.
openapi: 3.1.0
info:
title: Booking.com Demand Accommodations Cars API
version: '3.1'
summary: "The Booking.com Demand API enables Affiliate Partners to access Booking.com's travel inventory, including accommodations, car rentals, and flights. \n\nUse Demand API to search, retrieve details, check availability, manage bookings and run reports using orders details.\n\n- RESTful API with JSON responses.\n- Make HTTPS POST requests to interact with endpoints.\n- Requires authentication using your Affiliate ID and token credentials.\n\n[Check the try out guide!](/demand/docs/getting-started/try-out-the-api)\n"
x-last-validated: '2026-06-02'
x-generated-from: documentation
description: This API collection is specific for the stay part of the connected trip. </br></br>Use these endpoints to search for stays such as hotels and apartments, check availability, retrieve reviews, and get detailed property information.
servers:
- url: https://demandapi.booking.com/3.1
description: Production environment
- url: https://demandapi-sandbox.booking.com/3.1
description: Sandbox environment
security:
- BearerAuth: []
tags:
- name: Cars
x-displayName: Car rentals
description: This API collection is specific to the car rentals part of the connected trip.</br></br> Use these endpoints to search for car rentals, check car details and look for depots and suppliers.
paths:
/cars/search:
post:
description: Use this endpoint to retrieve the available car rentals matching the search criteria.
summary: Booking.com Search Car Rentals
operationId: carsSearch
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Cars
requestBody:
content:
application/json:
schema:
type: object
properties:
booker:
description: Defines the booker context.
type: object
properties:
country:
description: The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.
type: string
pattern: ^[a-z]{2}$
example: nl
required:
- country
currency:
description: A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies" target="_blank">common/payments/currencies</a>.
type: string
pattern: ^[A-Z]{3}$
example: EUR
driver:
description: Defines the driver context.
type: object
properties:
age:
description: Driver age. Affect the availability and price of the products.
type: integer
minimum: 18
maximum: 99
required:
- age
filters:
description: Defines the filtering criteria for refining the request results. It allows you to specify various parameters to narrow down the available car rental options based on specific attributes.
type: object
properties:
air_conditioning:
description: Filters the results to include car rentals with or without air conditioning. Setting this value to true will only return vehicles with air conditioning, while false will exclude them.
type: boolean
car_categories:
description: Filters the result based on the selected car category.
items:
oneOf:
- const: carrier
description: Vans or minivans designed for carrying larger groups or luggage.
- const: estate
description: Station wagons or estate cars offering extra luggage space.
- const: large
description: Large vehicles offering ample interior space and comfort.
- const: medium
description: Mid-sized vehicles offering a balance of comfort and fuel efficiency.
- const: premium
description: High-end or luxury vehicles with premium features.
- const: small
description: Compact cars ideal for city driving and short distances.
- const: suvs
description: Sport Utility Vehicles offering higher ground clearance and versatility.
depot_location_type:
description: Indicates the specific type of location where the car rental depot is situated. This helps you accurately inform travellers about the nature of the pick-up point—whether it's located inside an airport terminal, at a train station, in a downtown area, or elsewhere. This field is optional and may be null if the location type is not defined.
items:
oneOf:
- const: in_terminal
description: Depot is located inside the airport terminal building.
- const: car_rental_centre
description: Depot is located in a dedicated car rental centre on or near airport grounds.
- const: outside_terminal
description: Depot is outside the terminal area, usually a short walk or drive away.
- const: airport_hotel
description: Depot is located at or inside an airport hotel.
- const: shuttle_bus
description: Depot requires a shuttle bus transfer from the airport or another meeting point.
- const: meet_greet
description: A rental agent meets the traveller in person at an agreed pick-up point (e.g., arrivals hall).
- const: trainstation
description: Depot is located in or near a train station.
- const: downtown
description: Depot is located in a central/downtown city area.
mileage_type:
description: Filters the results based on the mileage type associated with the rental vehicle
type: string
enum:
- limited
- unlimited
number_of_seats:
description: Filters the results based on the number of seats in the vehicle. This allows you to specify a vehicle that can accommodate a specific number of passengers.
type: integer
supplier_ids:
description: Filters the results based on the supplier ID of the vehicle. This allows you to retrieve vehicles from specific suppliers. A maximum of 10 supplier IDs can be provided.
type: array
items:
description: Supplier id.
type: integer
transmission_type:
description: Filters the results based on the transmission type of the vehicle.
type: string
enum:
- automatic
- manual
maximum_results:
default: 100
description: The maximum number of results to return per page.
type: integer
multipleOf: 10
minimum: 10
maximum: 500
language:
description: Effects on the selected language of the target website after redirection by provided url.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
page:
description: Pagination token used to retrieve the next page of results. Obtained from `next_page`.
type: string
payment:
description: Payment-related input filters that allow you to narrow down car search results based on the payment timing options.
type: object
properties:
timings:
description: Filters the results to include only car rentals that offer the specified payment timings. Use this parameter to search for cars based on the timing of payment (e.g., payment upfront, partial payment, or payment at the depot).
type: array
items:
type: string
enum:
- pay_now
- part_pay
- pay_local
route:
description: Defines the route context.
type: object
properties:
dropoff:
description: Drop off location and time.
type: object
properties:
datetime:
description: Pick up / drop off datetime.
example: '2025-11-10T11:05:00'
type: string
pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
location:
description: Pick up / drop off location.
oneOf:
- title: Aeroport
description: Defines location of the related route point by airport.
type: object
properties:
airport:
description: A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA). The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonlocations/common/locations/airports" target="_blank">common/locations/airports</a>.
type: string
pattern: ^[A-Z]{3}$
example: AMS
- description: Defines location of the related route point by coordinates.
title: Coordinates
type: object
properties:
coordinates:
description: Defines the geographic coordinates of the searched location.
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
- description: Defines location of the related route point by city.
title: City
type: object
properties:
city:
description: A signed integer number that uniquely identifies a city. The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonlocations/common/locations/cities" target="_blank">common/locations/cities</a>.
type: integer
required:
- datetime
- location
pickup:
description: Pick up location and time.
type: object
properties:
datetime:
description: Pick up / drop off datetime.
example: '2025-11-05T11:05:00'
type: string
pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
location:
description: Pick up / drop off location.
oneOf:
- description: Defines location of the related route point by airport.
type: object
properties:
airport:
description: A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA). The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonlocations/common/locations/airports" target="_blank">common/locations/airports</a>.
type: string
pattern: ^[A-Z]{3}$
example: AMS
- description: Defines location of the related route point by coordinates.
type: object
properties:
coordinates:
description: Defines the geographic coordinates of the searched location.
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
- description: Defines location of the related route point by city.
type: object
properties:
city:
description: A signed integer number that uniquely identifies a city. The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonlocations/common/locations/cities" target="_blank">common/locations/cities</a>.
type: integer
required:
- datetime
- location
required:
- dropoff
- pickup
sort:
description: The sorting parameters for the response.
type: object
properties:
by:
description: The way to sort your results.
type: string
enum:
- distance
- price
- review_score
direction:
description: The direction you wish for your sort.by parameter to be sorted in.
type: string
enum:
- ascending
- descending
required:
- booker
- currency
- driver
- route
examples:
searchByAirport:
summary: Search example by airport.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
airport: AMS
pickup:
datetime: '2025-11-05T11:05:00'
location:
airport: AMS
searchByCoordinatesWithResponseLimit:
summary: Search example by coordinates and max response limit up to 100 products.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
coordinates:
latitude: 52.309456
longitude: 4.762266
pickup:
datetime: '2025-11-05T11:05:00'
location:
coordinates:
latitude: 52.309456
longitude: 4.762266
maximum_results: 100
searchByCityIdWithSorting:
summary: Search example by city id, filters and sorting by price.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
filters:
transmission_type: automatic
mileage_type: limited
depot_location_type: in_terminal
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
city: -2140479
pickup:
datetime: '2025-11-05T11:05:00'
location:
city: -2140479
sort:
by: price
direction: descending
filterbypayment:
summary: Search by payment timing.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
city: -2140479
pickup:
datetime: '2025-11-05T11:05:00'
location:
city: -2140479
payment:
timings: pay_now
filterbydepotlocation:
summary: Filter results by depot location.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
city: -2140479
pickup:
datetime: '2025-11-05T11:05:00'
location:
city: -2140479
filters:
depot_location_type: in_terminal
multiplefilters:
summary: Use multiple filters in one request.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-12T10:00:00'
location:
city: -2140479
pickup:
datetime: '2025-11-01T10:00:00'
location:
city: -2140479
filters:
depot_location_type: car_rental_centre
number_of_seats: 7
air_conditioning: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
request_id:
description: Uniquely identifies the request. Please provide this identifier when contacting support.
type: string
data:
type: array
items:
description: Detailed information about car rental product.
type: object
properties:
car:
description: Related car id
type: integer
minimum: 1
deal:
title: Deal
description: This specifies the deal tagging for the product.
type:
- object
- 'null'
properties:
discount_percentage:
description: Discount percentage of the applied deals.
type: integer
minimum: 1
public_price:
description: Original price of this product, before applying any discounts.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
tags:
description: The tags of all the applied deals.
type: array
items:
type: string
enum:
- black_friday
- getaway_deal
- mobile_rate
policies:
description: The policies that apply to this product.
type: object
properties:
cancellation:
description: The cancellation policy that applies to this product.
type: object
properties:
details:
description: "Provides the policy details if the cancellation is free. For example: \n 1. duration='PT48H' and context=before_pickup means 'Free cancellation is available up to 48 hrs before pick up'. \n 2. duration='P7D' and context=within_given_time_period_of_booking means 'Free cancellation is available within 7 days of booking'"
type:
- object
- 'null'
properties:
context:
description: The context in which the cancellation policy applies. For example 'before_pickup'
type: string
enum:
- before_pickup
- within_given_time_period_of_booking
duration:
description: The duration until which the cancellation is free. This is in ISO-8601/Duration format.
type: string
pattern: ^P(?:\dY)?(?:\dM)?(?:\dD)?(?:T(?:\dH)?(?:\dM)?(?:\dS)?)?$
type:
description: The type of cancellation present. For example 'free_cancellation' or 'non_refundable'.
type: string
enum:
- free_cancellation
- non_refundable
damage_excess:
description: The maximum amount a traveller may be charged for damages to the car during the rental period, as specified by the rental agreement.
type:
- number
- 'null'
format: double
deposit:
description: The amount of money that will be temporarily pre-authorised or blocked on the traveller’s credit card at the rental location as a security deposit, to cover potential damage or extra charges.
type:
- number
- 'null'
format: double
insurance_package:
description: "The supplier insurance package that applies to this car rental product. Possible values:\n - `basic`: No insurance is included. The traveller is usually required to purchase coverage at the rental counter.\n - `inclusive`: Full protection is provided. Collision Damage Waiver (CDW) is included, limiting the traveller’s financial liability for damage.\n - `zero_excess`: Partial protection is provided. CDW is included, but some coverage elements (e.g., theft protection) may not be included, so the traveller could still be liable for certain costs.\n"
type: string
enum:
- basic
- inclusive
- zero_excess
fuel:
description: The fuel policy that applies to this product.
type: string
enum:
- return_same
- return_same_or_prepay_no_refunds
- return_same_preauth
- free_tank
- prepay_no_refunds
- prepay_part_refunds
- prepay_refunds
mileage:
description: The mileage policy that applies to this product.
type: object
properties:
distance:
description: The maximal distance limit allowed for this product before additional fees apply.
type:
- integer
- 'null'
minimum: 0
distance_unit:
description: The unit of measurement for the distance limit. For example 'km' or 'miles'.
type: string
enum:
- kilometers
- miles
fee:
description: The fee that must be paid if the distance limit is exceeded.
type:
- number
- 'null'
format: double
type:
description: The type of mileage policy applied.
type: string
enum:
- limited
- unlimited
required:
- fee
- type
payment:
description: The payment policy that applies to this product.
type: object
properties:
timing:
description: The applied payment timing. For example 'pay_now'.
type: string
enum:
- pay_now
- part_pay
- pay_local
required:
- timing
theft_excess:
description: The maximum amount a traveller may be charged in the event of car theft during the rental period, as outlined in the rental agreement.
type:
- number
- 'null'
format: double
price:
description: The price components of this product.
type: object
properties:
currency:
description: A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies" target="_blank">common/payments/currencies</a>.
type: string
pattern: ^[A-Z]{3}$
example: EUR
extra_charges:
title: CarsProductExtraCharges
description: The charge breakdown. Includes taxes and fees included in the drive away price.
type: array
items:
title: CarsCharge
description: Defines the charge, including the type of charge and its total amount.
type: object
properties:
charge:
description: The type of this charge.
type: string
enum:
- age_fee
- one_way_fee
total_amount:
description: The total price for this charge.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: The total price. Includes all extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
route:
description: Defines the actual route associated with the product.
type: object
properties:
dropoff:
description: Defines the product drop off route point.
type: object
properties:
depot:
description: Pick up / drop off depot.
type: integer
minimum: 1
example: 5944
pickup:
description: Defines the product pick up route point.
type: object
properties:
depot:
description: Pick up / drop off depot.
type: integer
minimum: 1
example: 5944
supplier:
description: Related supplier id.
type: integer
minimum: 1
url:
description: Urls to the relevant pages.
type: object
properties:
app:
# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/booking-holdings/refs/heads/main/openapi/booking-holdings-cars-api-openapi.yml