Flight API integration
Flights API for agencies and OTAs: search, book and ticket
A flights API gives your website live airline fares and lets it create real bookings. This page explains how the calls work, where flight content comes from, what you must sign before going live, and how PHPTRAVELS turns one or several flight APIs into a complete booking engine on your own domain.
- GDS, NDC and consolidators
- Search to ticket to refund
- Ready connectors
- Your own REST API
What it is
What a flights API actually does
A flights API is a set of web services an airline, a GDS or a consolidator opens to travel sellers. Your system sends a request (a route, dates and passengers) and receives priced offers back. When the traveller picks one, further calls confirm the price, create the booking and issue the ticket.
The calls follow the life of a trip. The names differ by supplier, but every flight API covers the same five steps, and IATA's NDC standard gives them the message names most suppliers now use.
The API only moves data. The search form, the results page, payments, invoices and the servicing your team does afterwards are the booking platform's job, which is where Flight booking software comes in.
- 01
ShopAirShopping
Send origin, destination, dates, cabin and passengers. Receive offers with fares, taxes, baggage and fare families.
- 02
PriceOfferPrice
Re-check the chosen offer with the supplier. Fares change by the minute, so this call confirms what the traveller pays.
- 03
BookOrderCreate
Send passenger names, contacts and documents. The supplier creates the booking (a PNR or an NDC order) and holds the seats.
- 04
TicketOrderChange · payment
After payment, the booking is issued as an e-ticket with a ticket number per passenger and flight coupon.
- 05
ServiceOrderRetrieve · OrderCancel
Read the booking again, change dates, add bags or seats, cancel, void or refund under the fare rules.
Where the fares come from
Three kinds of flight API, three ways to sell
Every flight API you can sign falls into one of three groups. They differ in content, in who can sign and in who issues the ticket, so most agencies end up with more than one.

| GDS API | NDC API | Consolidator API | |
|---|---|---|---|
| What it is | Amadeus, Sabre or Travelport: one connection to hundreds of airlines' published fares. | The airline's own offers over IATA's NDC standard, directly or through an aggregator. | A wholesaler that resells GDS, NDC and low-cost content with its own net fares. |
| Content | Network carriers and their branded fares; low-cost coverage varies by GDS. | The airline's richest offers: bundles, ancillaries and continuous pricing. | Often the widest mix, including low-cost carriers and private fares. |
| Who can sign | Usually accredited agencies (IATA, ARC or the local equivalent) with a GDS contract. | Agencies the airline or aggregator approves; some aggregators accept new businesses. | Most agencies and OTAs, including ones without their own accreditation. |
| Ticketing | Your agency issues the ticket under its own accreditation. | The airline issues it; the order is settled through the aggregator or IATA BSP. | The consolidator issues the ticket for you, on its accreditation. |
| Money | Settled through BSP or ARC; commissions and incentives depend on your contract. | Airline prices and fees; some carriers add a surcharge on non-NDC bookings. | You pay the consolidator's net fare from a deposit or credit line and add your markup. |
| On PHPTRAVELS | Amadeus, Sabre, Travelport | Duffel | TBO, PKfare, Kiwi, AERTiCKET and others |
Not sure which one fits? Start with a consolidator to sell from day one, add a GDS once you are accredited, and add NDC for airlines that put their best offers there. The GDS system for travel agents and NDC flights booking system guides go deeper.
Inside the calls
What travels over a flights API at each step
A simplified view of the data your platform sends and gets back. Real suppliers use their own field names and far longer messages; PHPTRAVELS maps each one to the same booking model.
1POST /flights/search 2{ 3 "from": "DXB", "to": "LHR", 4 "date": "2026-11-14", 5 "cabin": "economy", 6 "passengers": { "adults": 2 } 7}
1{ 2 "offers": [{ 3 "id": "OF-7Q2K", 4 "carrier": "EK", "flight": "EK001", 5 "depart": "07:45", "arrive": "11:35", 6 "fare_family": "Standard", 7 "bags": "1 x 23 kg", 8 "total": { "amount": 1284.60, "currency": "USD" }, 9 "expires": "2026-10-09T12:20:00Z"10 }, …]11}
Offers expire. Most suppliers give each offer a time limit, after which it must be searched or priced again.
1POST /flights/price 2{ "offer_id": "OF-7Q2K" }
1{ 2 "offer_id": "OF-7Q2K", 3 "available": true, 4 "total": { "amount": 1284.60, "currency": "USD" }, 5 "fare_rules": { 6 "change": "fee + fare difference", 7 "refund": "not refundable" 8 } 9}
If the fare changed, the platform shows the new price before payment instead of booking at the old one.
1POST /flights/book 2{ 3 "offer_id": "OF-7Q2K", 4 "passengers": [{ 5 "type": "adult", 6 "given_name": "SARA", "surname": "KHAN", 7 "born": "1990-04-02", "passport": "…" 8 }, …], 9 "contact": { "email": "…", "phone": "…" }10}
1{ 2 "booking_ref": "6XK2PL", 3 "status": "held", 4 "ticket_time_limit": "2026-10-10T18:00:00Z" 5}
Names must match the passport. Many airlines charge for name changes or do not allow them at all.
1POST /flights/ticket 2{ "booking_ref": "6XK2PL", "payment": "…" }
1{ 2 "booking_ref": "6XK2PL", 3 "status": "ticketed", 4 "tickets": [ 5 { "passenger": 1, "number": "176-2400000001" }, 6 { "passenger": 2, "number": "176-2400000002" } 7 ] 8}
Until it is ticketed, a held booking is cancelled automatically when its ticketing time limit passes.
Illustrative data, simplified
Ready in PHPTRAVELS
Flight API connectors you switch on with your own keys
These flight suppliers are already connected to the PHPTRAVELS flights module. You sign with the supplier, enter your credentials in the admin, test in their sandbox and go live. The list is the live one from our integrations directory.
Seeru
AmadeusIntegration guide
DuffelIntegration guide
Google FlightsIntegration guide
Kayak
KiwiIntegration guide
Mystifly
PKfareIntegration guide
SabreIntegration guide
TBO HolidaysIntegration guide
TravelportIntegration guide- All integrations
Have a supplier that is not here? Any flight API with documentation can be added, and the source code is yours. See Custom API integration or the full Travel XML API suppliers list.
Before your first booking
What you need besides the API
The technical connection is the quick part. These are the things suppliers ask for before they switch your account to production.
A supplier contract
Every flight API needs an agreement with the GDS, the airline, the aggregator or the consolidator. Credentials come with it, not from your software vendor.
Accreditation or a ticketing partner
Issuing tickets yourself needs IATA, ARC or a local equivalent. Without it, a consolidator issues them for you.
Certification
Most suppliers test your booking flow in their sandbox (search, book, ticket, cancel) before they give production access.
A way to pay the supplier
BSP or ARC settlement, a deposit with a consolidator, or card payments the airline charges directly.
Fare rules and policies
Clear change, refund and baggage terms on your site, taken from the supplier's fare rules, so travellers know what they bought.
Someone to service bookings
Schedule changes, name corrections, voids and refunds keep coming after the sale. Plan who handles them.
API versus booking engine
The API brings fares. The platform turns them into sales.
Connecting a flights API straight to a website still leaves most of the work. This is the split between what a supplier API gives you and what PHPTRAVELS adds.
A flights API gives you
- Offers and fares for a route and date
- A price check and the fare rules
- A booking reference (PNR or order)
- Ticket numbers after issue
- Change and cancel calls
PHPTRAVELS adds
- Search form, results, filters and checkout in your languages
- Several suppliers searched at once, duplicates merged
- Markups, commissions and B2B agent wallets
- Card payments through your own gateway
- E-tickets, invoices and emails in the traveller's language
- Booking queues, void, refund and reissue in the admin
See how each part works, feature by feature, on the Flights page.
For developers
Your own flights API on top of every supplier
PHPTRAVELS normalises every connected flight supplier into one booking model. Your mobile apps, partners and back-office tools then talk to one REST API instead of each supplier's.
The REST API and its documentation come with the Enterprise plan. Compare plans on Pricing or read the developer documentation.
- One format for every supplierOffers from GDS, NDC and consolidator sources come out in the same structure, so your app never handles supplier formats.
- WebhooksBooking, ticketing and cancellation events are pushed to your systems as they happen.
- Source code includedSelf-hosted with the full source, so your developers can extend the API or add a supplier.
Further reading
Guides on flight APIs
See a flights API working in a real booking engine
Search, book and manage flights in the live demo, then talk to us about the suppliers you plan to sign.
A flights API is a set of web services that lets a travel website search airline fares, check prices, create bookings and issue tickets in real time. GDSs, airlines (through NDC) and consolidators each offer one.
Some providers offer free sandbox access for testing, and some metasearch APIs return prices without booking. Selling tickets always needs a commercial agreement with a GDS, an airline, an aggregator or a consolidator.
Not always. You need accreditation to issue tickets yourself through a GDS. Without it, a consolidator API lets you sell and the consolidator issues the tickets on its accreditation.
Usually a consolidator, because it accepts agencies without accreditation and includes low-cost carriers. Add a GDS or NDC connection as volume grows.
A GDS API gives you many airlines' published fares through one connection. An NDC API gives you an airline's own offers, with its bundles and extras, in IATA's NDC format, either directly or through an aggregator.
Yes. PHPTRAVELS searches every connected flight supplier at once, merges duplicate flights and keeps the best fare, so travellers see one list.
No. You sign with each supplier and enter your own credentials in the admin. PHPTRAVELS provides the booking platform and the ready connectors.
With a ready connector, the technical setup is a matter of entering credentials and testing. Most of the time goes into the supplier's contract and certification, which the supplier controls.
Yes. On the Enterprise plan, the PHPTRAVELS REST API exposes search and booking from every connected supplier in one format, with webhooks for booking events.
Keep exploring
More from the platform
- Hotels APIBedbank, OTA, GDS and direct hotel APIs explained
- FlightsGDS and NDC ticketing
- NDC flights booking systemSell NDC airline offers, ancillaries and servicing
- Flight booking softwareBuyer's checklist for agencies and OTAs selling flights
- Amadeus API integrationChoose your Amadeus access and sell flights in your own portal
- Airline ticket consolidatorsConsolidator fares, markups and ticketing ops
