
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.
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
locationFilterofLimit ToorExclude. Omitting this entirely searches "to anywhere."departureDateRange — a
fromDateand optionaltoDate, 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 abudgetcap with currency.sources — filters by
providers(Sabre, Direct, Third Party) anddistributionModels(ATPCO, API, NDC), with matching exclude options.configuration — subscriber-specific detail, most notably the Pseudo City Code (PCC).
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.
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, JFKarrivalLocations: Country = FR, filtered further by Theme = BEACHdepartureDateRange: a multi-month windowlengthsOfStay: [1, 3, 5]processingOptions.budget: $500 USD,returnModeset 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:
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.
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.
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
returnModeandbudgetfilters to keep responses UI-friendly.Source filtering — if you need to isolate NDC, ATPCO, or specific provider content, configure
sourcesexplicitly 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.




