booking-com Cars API

Endpoints for searching available car rentals and retrieving vehicle details, pricing, and availability.

OpenAPI Specification

booking-com-cars-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Booking.com Car Rentals Accommodations Cars API
  description: The Booking.com Car Rentals API is part of the Demand API and provides endpoints specific to the car rental segment of the connected trip experience. Developers can use it to search for available car rentals, retrieve car details, look up depots and suppliers, and access depot review scores. The API enables affiliate partners to integrate Booking.com's car rental inventory into their own platforms, offering users the ability to find and book vehicles as part of their travel planning workflow.
  version: '3.1'
  contact:
    name: Booking.com Developer Support
    url: https://developers.booking.com/demand/docs
  termsOfService: https://www.booking.com/content/terms.html
servers:
- url: https://demandapi.booking.com/3.1
  description: Production Server
security:
- bearerAuth: []
  affiliateId: []
tags:
- name: Cars
  description: Endpoints for searching available car rentals and retrieving vehicle details, pricing, and availability.
paths:
  /cars/search:
    post:
      operationId: searchCarRentals
      summary: Search car rentals
      description: Allows travelers to search for car rentals and view the price and list of available vehicles for the route they are interested in. Results include vehicle types, pricing, and availability for the specified pickup and dropoff locations and dates.
      tags:
      - Cars
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CarSearchRequest'
      responses:
        '200':
          description: Car rental search results retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CarSearchResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /cars/details:
    post:
      operationId: getCarDetails
      summary: Get car rental details
      description: Retrieves detailed information about specific car rental offerings, including vehicle specifications, included equipment, insurance details, and rental terms.
      tags:
      - Cars
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CarDetailsRequest'
      responses:
        '200':
          description: Car details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CarDetailsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Depot:
      type: object
      description: Car rental depot with full details
      properties:
        depot_id:
          type: string
          description: Unique depot identifier
        name:
          type: string
          description: Depot name
        address:
          type: string
          description: Street address
        city:
          type: string
          description: City name
        country:
          type: string
          description: Country code
        location:
          $ref: '#/components/schemas/GeoLocation'
        opening_hours:
          type: string
          description: Operating hours
        phone:
          type: string
          description: Contact phone number
    SupplierSummary:
      type: object
      description: Brief supplier information
      properties:
        supplier_id:
          type: string
          description: Unique supplier identifier
        name:
          type: string
          description: Supplier name
    Vehicle:
      type: object
      description: Vehicle information
      properties:
        type:
          type: string
          description: Vehicle type category
        name:
          type: string
          description: Vehicle name or model
        transmission:
          type: string
          description: Transmission type
          enum:
          - automatic
          - manual
        fuel_type:
          type: string
          description: Fuel type
        seats:
          type: integer
          description: Number of seats
        doors:
          type: integer
          description: Number of doors
        bags_large:
          type: integer
          description: Number of large bags that fit
        bags_small:
          type: integer
          description: Number of small bags that fit
        air_conditioning:
          type: boolean
          description: Whether vehicle has air conditioning
        image_url:
          type: string
          format: uri
          description: URL of the vehicle image
    CarSearchResponse:
      type: object
      properties:
        result:
          type: array
          description: List of available car rental offers
          items:
            $ref: '#/components/schemas/CarOffer'
    DepotSummary:
      type: object
      description: Brief depot information
      properties:
        depot_id:
          type: string
          description: Unique depot identifier
        name:
          type: string
          description: Depot name
        address:
          type: string
          description: Street address
    ErrorResponse:
      type: object
      description: Standard error response
      properties:
        errors:
          type: array
          description: List of errors
          items:
            type: object
            properties:
              code:
                type: string
                description: Error code
              message:
                type: string
                description: Human-readable error message
    Price:
      type: object
      description: Price information
      properties:
        amount:
          type: number
          description: Price amount
        currency:
          type: string
          description: ISO 4217 currency code
    CarDetail:
      type: object
      properties:
        offer_id:
          type: string
          description: Unique offer identifier
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        supplier:
          $ref: '#/components/schemas/SupplierSummary'
        pickup_depot:
          $ref: '#/components/schemas/Depot'
        dropoff_depot:
          $ref: '#/components/schemas/Depot'
        price:
          $ref: '#/components/schemas/Price'
        insurance:
          type: object
          description: Insurance details
          properties:
            type:
              type: string
              description: Insurance type
            coverage:
              type: string
              description: Coverage description
            excess:
              $ref: '#/components/schemas/Price'
        fuel_policy:
          type: string
          description: Fuel policy for the rental
        mileage_limit:
          type: string
          description: Mileage allowance details
        terms_and_conditions:
          type: string
          description: Rental terms and conditions
    CarSearchRequest:
      type: object
      required:
      - pickup_location
      - dropoff_location
      - pickup_date
      - dropoff_date
      properties:
        pickup_location:
          type: string
          description: Pickup location identifier or coordinates
        dropoff_location:
          type: string
          description: Dropoff location identifier or coordinates
        pickup_date:
          type: string
          format: date-time
          description: Pickup date and time
        dropoff_date:
          type: string
          format: date-time
          description: Dropoff date and time
        driver_age:
          type: integer
          description: Age of the primary driver
          minimum: 18
        currency:
          type: string
          description: Preferred currency for pricing
    CarDetailsResponse:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/CarDetail'
    CarDetailsRequest:
      type: object
      required:
      - offer_id
      properties:
        offer_id:
          type: string
          description: Offer identifier from search results
    CarOffer:
      type: object
      properties:
        offer_id:
          type: string
          description: Unique offer identifier
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        supplier:
          $ref: '#/components/schemas/SupplierSummary'
        pickup_depot:
          $ref: '#/components/schemas/DepotSummary'
        dropoff_depot:
          $ref: '#/components/schemas/DepotSummary'
        price:
          $ref: '#/components/schemas/Price'
        included_extras:
          type: array
          description: Extras included in the rental price
          items:
            type: string
    GeoLocation:
      type: object
      description: Geographic coordinates
      properties:
        latitude:
          type: number
          description: Latitude coordinate
        longitude:
          type: number
          description: Longitude coordinate
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Include your API key token in the Authorization header.
    affiliateId:
      type: apiKey
      in: header
      name: X-Affiliate-Id
      description: Your Booking.com Affiliate ID, required with every request.
externalDocs:
  description: Booking.com Car Rentals API Documentation
  url: https://developers.booking.com/demand/docs/open-api/demand-api/cars