Flight APIs

Sabre Flight API: Complete Guide for Developers

Aug 20, 2026Super AdminFlight APIs

Sabre Flight API: Complete Guide for Developers

If you've ever tried to build a flight shopping experience that lets travelers explore "anywhere, anytime" instead of a rigid A-to-B, one-date search, you've probably run into the limits of traditional GDS booking APIs. That's exactly the gap the Sabre Flight API — specifically the Sabre Flight Search API — is built to close.

This guide breaks down what the Sabre Flight API actually does, how its architecture works under the hood, what a real request/response cycle looks like, and what developers should know before integrating it into a booking platform.

What Is the Sabre Flight API?

The Sabre Flight API (Flight Search API) is a REST-based, JSON API designed for inspirational shopping rather than a fixed point-to-point search. Instead of forcing a traveler to specify an exact origin, destination, and date, it supports:

  • Open Origin — search from multiple departure points to one destination

  • Open Destination — search from one origin to multiple possible destinations

  • Open Date — search a flexible date range instead of a single day

It pulls from a multi-source, GCP-based cache called the Sabre Cache, which can hold public content, private API-subscriber content, ATPCO and non-ATPCO fares, and even third-party pushed content. That means a single query can surface pre-computed offers across many destinations and dates in one call, instead of firing dozens of individual searches.

Where It Fits in Sabre's API Ecosystem

The Flight Search API doesn't work in isolation — it's one part of a broader shopping-to-booking workflow. Understanding how these pieces connect makes it much easier to design an integration correctly.

flowchart LR A[Sabre Cache] --> B[Flight Search API] A --> C[Flight Shop / Flight Shop Lite] B --> D[Flight Refresh] D --> E[Flight Check] C --> E E --> F[Flight Policy Display] E --> G[Flight Reshop] E --> H[Order Management API]

A quick breakdown of each component:

  • Sabre Cache — the multi-source, content-agnostic backbone that stores public, private, and third-party fare data.

  • Flight Search — the inspirational, open-parameter search covered in this guide.

  • Flight Refresh — validates cached offers in bulk against live Sabre inventory.

  • Flight Shop / Flight Shop Lite — retrieves best offers across EDIFACT, NDC, and LCC content; Lite trades some capability for a lower price point.

  • Flight Check — revalidates price and availability once a traveler selects an offer, recreating a bookable offer from cache.

  • Flight Policy Display — returns structured fare rules, usable at multiple points in the journey.

  • Flight Reshop — handles exchange shopping across multi-GDS and multi-source content.

  • Order Management API — orchestrates booking and post-booking processes across air and lodging content in a normalized interface.

For most flight-shopping front ends, the practical pattern is: Flight Search to inspire → Flight Refresh or Flight Shop to validate → Flight Check to lock in a bookable offer.

Search Modes: Open Origin, Open Destination, Open Date

The core value of the Sabre Flight API is flexibility on either side of the trip — origin, destination, or date — while keeping the other side fixed.

Search Mode

What You Provide

What You Get Back

Open Destination

Origin airport/city + date range or length of stay

Offers across many possible destinations

Open Origin

Destination + date range or length of stay

Offers from many possible origin airports/cities

Open Date

Fixed origin and destination

Offers across a range of possible return dates

Destinations can be defined broadly — by airport, city, country, IATA region, or a curated theme such as BEACH, SKIING, ROMANTIC, or THEME-PARK. Themes are especially useful for building destination-inspiration UIs, since each theme resolves to a managed list of mapped airport codes without requiring you to maintain your own mapping table.

Authentication

Every call to the Flight Search API requires an OAuth token, obtained separately through Sabre's OAuth Token Create API. That token gets passed with each request to v1/offers/flightSearch. There's no per-call credential exchange baked into the search endpoint itself — token management sits upstream in your integration layer.

Anatomy of a Request

A Flight Search API request is built from a handful of core objects:

  • departureLocation (required) — Airport, City, or list-based origin. Using a Country or CountryList here automatically triggers an open-origin search.

  • arrivalLocations (optional) — Airport, City, Country, Region, or Theme, with a locationFilter of Limit To or Exclude. Omitting this entirely searches "to anywhere."

  • departureDateRange — a fromDate and optional toDate, defaulting to today through 330 days out if left open.

  • lengthsOfStay — an array of integers (1–21) representing round-trip duration; including this signals a round-trip search.

  • processingOptions — modifiers like returnLowestNonStopFare, returnMode (Per Day / Per Month / Per Date Range), returnFullOffers, and a budget cap with currency.

  • sources — filters by providers (Sabre, Direct, Third Party) and distributionModels (ATPCO, API, NDC), with matching exclude options.

  • configuration — subscriber-specific detail, most notably the Pseudo City Code (PCC).

sequenceDiagram participant Client participant Auth as OAuth Token API participant API as Flight Search API participant Cache as Sabre Cache Client->>Auth: Request OAuth token Auth-->>Client: Return access token Client->>API: POST /v1/offers/flightSearch API->>Cache: Query multi-source cache Cache-->>API: Matching flights, journeys, offers API-->>Client: JSON response (flights, journeys, offers)

Anatomy of a Response

The response mirrors the layered structure of the request, returning three related arrays:

  • flights — individual flight segments, each with departure/arrival airports, times, operating and marketing carrier codes, flight numbers, aircraft type, and duration.

  • journeys — logical trips built from one or more flight references (flightRefs), tied to an origin, destination, and departure date.

  • offers — priced offers referencing one or more journeys, including total price, fare breakdown by traveler, validating airline, fare basis codes, applicable PCCs, and a paymentTimeLimit.

This separation matters for how you build your UI: flights and journeys describe the itinerary, while offers describe what it costs and how it can be booked — a single journey can carry multiple competing offers from different sources.

flowchart TD subgraph Response F[Flights] --> J[Journeys] J --> O[Offers] O --> P[Pricing & Fare Components] O --> PT[Payment Time Limit] O --> PCC[Applicable PCCs] end

A Practical Example

Say you're building a destination-inspiration widget for a leisure travel site. A traveler picks JFK as their origin, sets a budget of $500, and wants beach destinations in France sometime in the next few months, staying 1, 3, or 5 days. The request combines:

  • departureLocation: Airport, JFK

  • arrivalLocations: Country = FR, filtered further by Theme = BEACH

  • departureDateRange: a multi-month window

  • lengthsOfStay: [1, 3, 5]

  • processingOptions.budget: $500 USD, returnMode set to Per Day

The API returns a set of flights, the journeys built from them, and priced offers — each offer showing total price, fare component detail, and which PCC it applies to — letting your front end render a calendar or price-grid view without you having to run dozens of separate point-to-point searches.

Why This Matters for Travel Platforms

For OTAs, TMCs, and DMCs, the Flight Search API's real value shows up in three places:

  1. Discovery-driven UX — "Where can I go for under $500?" is a fundamentally different (and often higher-converting) question than "How much is JFK to CDG on this exact date?" Open search makes that UX possible without brute-forcing hundreds of API calls.

  2. Reduced search overhead — because results are served from Sabre's pre-computed cache rather than live-shopped on every request, response times stay sub-second even across broad geography and date ranges.

  3. Composable booking flow — Flight Search is meant to feed into Flight Refresh or Flight Check for validation, which keeps your inspiration layer fast while still ending in a bookable, price-accurate offer.

Integration Considerations

A few things worth planning for before you start building:

  • Cache freshness — because offers come from cache, always run selected offers through Flight Refresh or Flight Check before checkout to confirm price and availability.

  • Location type rules — you can't mix location types within a single object, and country-to-country search isn't supported; plan your UI's location picker around Airport/City/Country/Region/Theme as distinct, non-combinable inputs.

  • Response volume — open searches across wide date ranges can return large payloads; use returnMode and budget filters to keep responses UI-friendly.

  • Source filtering — if you need to isolate NDC, ATPCO, or specific provider content, configure sources explicitly rather than relying on defaults.

Getting the Architecture Right the First Time

The Sabre Flight API is powerful, but it's also easy to under-use if your integration treats it like a simple search endpoint rather than the first stage of a multi-API shopping-to-booking pipeline. Getting the caching layer, offer validation flow, and PCC/source configuration right up front saves significant rework later — especially once you're layering in NDC content or multiple GDS sources.

If you're architecting a booking platform around Sabre — or comparing it against Amadeus and Travelport for your stack — Teenva AI & Digital Ventures builds API integrations and booking platform architecture for OTAs, TMCs, DMCs, and travel agencies. Reach out at sales@teenvaai.com or +91 9572020107 to talk through your integration.

Similar Articles