Sabre Air Shopping API

Low-fare search and offer retrieval

OpenAPI Specification

sabre-air-shopping-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Sabre Bargain Finder Max Air Shopping API
  description: Sabre Bargain Finder Max (BFM) API provides low-fare search capabilities for air shopping, returning optimal flight itineraries with pricing across Sabre's global airline content inventory. Supports one-way, round-trip, and multi-city searches with ATPCO, LCC, and NDC content.
  version: 4.0.0
  contact:
    name: Sabre Developer Support
    url: https://developer.sabre.com/support
  license:
    name: Sabre Developer Agreement
    url: https://developer.sabre.com/
servers:
- url: https://api.sabre.com
  description: Sabre Production API
security:
- BearerAuth: []
tags:
- name: Air Shopping
  description: Low-fare search and offer retrieval
paths:
  /v4.0.0/offers/air-fares/bargain-finder-max:
    post:
      operationId: bargainFinderMaxSearch
      summary: Search for lowest air fares
      description: Performs a low-fare air shopping search returning ranked itinerary options across scheduled, charter, and low-cost carriers. Supports one-way, round-trip, open-jaw, and multi-destination itineraries with flexible date ranges, cabin preferences, and fare basis filters.
      tags:
      - Air Shopping
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BFMRequest'
      responses:
        '200':
          description: Successful low-fare search response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BFMResponse'
        '400':
          description: Bad request — invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized — invalid or expired token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v4.0.0/offers/air-fares/bargain-finder-max/re-shop:
    post:
      operationId: bargainFinderMaxReShop
      summary: Re-shop a specific itinerary for updated pricing
      description: Re-shops a previously selected itinerary to retrieve current pricing and availability before booking. Used to confirm fares prior to PNR creation.
      tags:
      - Air Shopping
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReShopRequest'
      responses:
        '200':
          description: Re-shop results with updated pricing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BFMResponse'
        '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:
    BFMResponse:
      type: object
      properties:
        OTA_AirLowFareSearchRS:
          type: object
          properties:
            PricedItineraries:
              type: object
              properties:
                PricedItinerary:
                  type: array
                  items:
                    $ref: '#/components/schemas/PricedItinerary'
            Success:
              type: object
            Errors:
              type: object
              properties:
                Error:
                  type: array
                  items:
                    $ref: '#/components/schemas/APIError'
    OriginDestinationOption:
      type: object
      properties:
        FlightSegment:
          type: array
          items:
            $ref: '#/components/schemas/FlightSegment'
    OriginDestinationInformation:
      type: object
      required:
      - DepartureDateTime
      - OriginLocation
      - DestinationLocation
      properties:
        DepartureDateTime:
          type: string
          format: date-time
          example: '2026-06-15T00:00:00'
        OriginLocation:
          type: object
          required:
          - LocationCode
          properties:
            LocationCode:
              type: string
              description: IATA airport or city code
              example: DFW
        DestinationLocation:
          type: object
          required:
          - LocationCode
          properties:
            LocationCode:
              type: string
              description: IATA airport or city code
              example: LHR
        RPH:
          type: string
          description: Reference placeholder for itinerary leg
          example: '1'
    ReShopRequest:
      type: object
      required:
      - OTA_AirLowFareSearchRQ
      properties:
        OTA_AirLowFareSearchRQ:
          type: object
          properties:
            TPA_Extensions:
              type: object
              properties:
                IntelliSellTransaction:
                  type: object
                  properties:
                    RequestType:
                      type: object
                      properties:
                        Name:
                          type: string
                          enum:
                          - 50ITINS
    APIError:
      type: object
      properties:
        Code:
          type: integer
        NodeList:
          type: string
        ShortText:
          type: string
        Type:
          type: string
    BFMRequest:
      type: object
      required:
      - OTA_AirLowFareSearchRQ
      properties:
        OTA_AirLowFareSearchRQ:
          type: object
          required:
          - OriginDestinationInformation
          - TravelPreferences
          - TravelerInfoSummary
          properties:
            OriginDestinationInformation:
              type: array
              minItems: 1
              maxItems: 6
              items:
                $ref: '#/components/schemas/OriginDestinationInformation'
            TravelPreferences:
              $ref: '#/components/schemas/TravelPreferences'
            TravelerInfoSummary:
              $ref: '#/components/schemas/TravelerInfoSummary'
            Version:
              type: string
              example: 4.0.0
    PricedItinerary:
      type: object
      properties:
        SequenceNumber:
          type: integer
        AirItinerary:
          type: object
          properties:
            DirectionInd:
              type: string
              enum:
              - OneWay
              - Return
              - OpenJaw
              - Circle
            OriginDestinationOptions:
              type: object
              properties:
                OriginDestinationOption:
                  type: array
                  items:
                    $ref: '#/components/schemas/OriginDestinationOption'
        AirItineraryPricingInfo:
          type: object
          properties:
            ItinTotalFare:
              type: object
              properties:
                BaseFare:
                  type: object
                  properties:
                    Amount:
                      type: number
                    CurrencyCode:
                      type: string
                Taxes:
                  type: object
                  properties:
                    Tax:
                      type: array
                      items:
                        type: object
                        properties:
                          TaxCode:
                            type: string
                          Amount:
                            type: number
                TotalFare:
                  type: object
                  properties:
                    Amount:
                      type: number
                    CurrencyCode:
                      type: string
    FlightSegment:
      type: object
      properties:
        DepartureAirport:
          type: object
          properties:
            LocationCode:
              type: string
        ArrivalAirport:
          type: object
          properties:
            LocationCode:
              type: string
        OperatingAirline:
          type: object
          properties:
            Code:
              type: string
            FlightNumber:
              type: string
        Equipment:
          type: array
          items:
            type: object
            properties:
              AirEquipType:
                type: string
        MarketingAirline:
          type: object
          properties:
            Code:
              type: string
        DepartureDateTime:
          type: string
          format: date-time
        ArrivalDateTime:
          type: string
          format: date-time
        StopQuantity:
          type: integer
        ElapsedTime:
          type: integer
          description: Flight duration in minutes
        ResBookDesigCode:
          type: string
          description: Booking class (RBD)
        CabinClassCode:
          type: string
    TravelPreferences:
      type: object
      properties:
        CabinPref:
          type: array
          items:
            type: object
            properties:
              Cabin:
                type: string
                enum:
                - Economy
                - PremiumEconomy
                - Business
                - First
              PreferLevel:
                type: string
                enum:
                - Preferred
                - Only
        MaxStopsQuantity:
          type: integer
          minimum: 0
          maximum: 3
          example: 1
        TPA_Extensions:
          type: object
          properties:
            LookAheadDays:
              type: object
              properties:
                Value:
                  type: integer
                  description: Number of days to search around departure date
                  example: 3
            TicketingRestriction:
              type: object
              properties:
                Value:
                  type: string
                  enum:
                  - ALL_TICKETS
                  - NONREF_ONLY
                  - REF_ONLY
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
        errorCode:
          type: string
        message:
          type: string
        timeStamp:
          type: string
          format: date-time
    TravelerInfoSummary:
      type: object
      required:
      - AirTravelerAvail
      properties:
        AirTravelerAvail:
          type: array
          items:
            type: object
            properties:
              PassengerTypeQuantity:
                type: array
                items:
                  type: object
                  properties:
                    Code:
                      type: string
                      enum:
                      - ADT
                      - CHD
                      - INF
                      - INS
                      description: Passenger type code
                    Quantity:
                      type: integer
                      minimum: 1
        PriceRequestInformation:
          type: object
          properties:
            CurrencyCode:
              type: string
              example: USD
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token obtained from /v2/auth/token