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.

OpenAPI Specification

booking-holdings-cars-api-openapi.yml Raw ↑
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