Download OpenAPI specification:
Our Flights API gives you a complete B2B gateway for searching, pricing, booking, and managing flight inventory with precision. It connects your system to real-time availability, rich flight content, multi-fare handling, instant confirmations, and full booking lifecycle controls.
Built for speed, stability, and clean integration, it lets your platform deliver consistent results, automate operations, and scale without friction. Whether you are powering a B2B portal, a mobile app, or a distribution engine, this API provides the structure you need to move fast, stay reliable, and serve your customers with confidence.
All API endpoints require Bearer Token authentication. Each request must include a valid token in the header to ensure secure and authorized access.
Example:
Authorization: Bearer 9f12c3ab-47c8-4e91-bd84-2c7a1f83b6d1
live_booking: falselive_booking: true┌─────────────────┐
│ Search Flights │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Fare Families │ (Optional - if has_fare_families=true)
└────────┬────────┘
│
▼
┌─────────────────┐
│Check Availability│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Create Booking │
└────────┬────────┘
│
▼
┌─────────────────────────┐
│ Hold Booking (Optional) │
└────────┬────────────────┘
│
▼
┌─────────────────┐
│ Pay from Wallet │
└────────┬────────┘
│
▼
┌─────────────────────────────────┐
│ Poll Booking Details │
│ (every 10 min for 2 hours) │
└────────┬────────────────────────┘
│
▼
┌─────────────────┐
│ PNR & Tickets │
│ Generated │
└─────────────────┘
After payment (payWallet), you must poll the Booking Details endpoint to retrieve the final booking status:
┌──────────────┐ ┌─────────────────┐ ┌──────────────────┐
│ payWallet │────▶│ Poll Booking │────▶│ Check Status │
│ (payment) │ │ Details │ │ │
└──────────────┘ └─────────────────┘ └────────┬─────────┘
│
┌────────────────────────────────┼────────────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ PNR & Ticket │ │ Processing │ │ No PNR/Ticket │
│ Generated │ │ (Continue │ │ after 2 hours │
│ (Confirmed) │ │ Polling) │ │ │
└──────────────┘ └──────────────┘ └────────┬─────────┘
│
▼
┌──────────────────┐
│ Mark unconfirmed │
│ Contact Supplier │
└──────────────────┘
Search for available flights across multiple airlines with comprehensive filtering options. Supports one-way, round-trip, and multi-city itineraries with flexible passenger combinations and cabin class selections.
| adults required | integer >= 1 Number of adult passengers (16+ years) |
| children | integer >= 0 Number of child passengers (2-16 years) |
| infants | integer >= 0 Number of infant passengers (0-2 years) |
required | Array of objects (Itinerary) |
| currency required | string Account currency code (e.g., USD) |
| locale required | string Enum: "en" "ar" Language preference (e.g., en, ar) |
| direction required | string Enum: "R" "O" "M" Flight type: R (Round Trip), O (One way), M (Multi destination) |
| cabin required | string Enum: "E" "PE" "B" "F" Cabin class: E (Economy), PE (Premium Economy), B (Business), F (First) |
{- "adults": 1,
- "infants": 0,
- "children": 0,
- "itineraries": [
- {
- "departure": "CAI",
- "arrival": "JED",
- "date": "2024-12-18"
}, - {
- "departure": "JED",
- "arrival": "CAI",
- "date": "2024-12-19"
}
], - "currency": "USD",
- "locale": "en",
- "direction": "R",
- "cabin": "E"
}{- "search_id": "2db5e697-0a85-4907-ba41-68de00ecec48",
- "search_key": "flights:results:2db5e697-0a85-4907-ba41-68de00ecec48",
- "aggregations": {
- "flights": [
- {
- "id": 900000,
- "cabin": "E",
- "departure": {
- "date": "18-12-2024",
- "time": "02:45",
- "airport": "CAI",
- "terminal": "2"
}, - "arrival": {
- "date": "18-12-2024",
- "time": "06:00",
- "airport": "JED",
- "terminal": "1"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "seats": "9",
- "meal_code": null,
- "free_baggage": "1PC",
- "flight_number": 308,
- "booking_class": "V",
- "equipment": "330",
- "fare_base": "VARTEGB4",
- "code_share": null,
- "fare_type": "PUB",
- "duration": 135,
- "fare_family_name": null,
- "fare_family_amenities": [
- {
- "type": "seat",
- "description": "BASIC SEAT",
- "free": false,
- "importance": 2
}, - {
- "type": "other",
- "description": "CHANGE FEE",
- "free": false,
- "importance": 10
}, - {
- "type": "refundable",
- "description": "REFUNDABLE FOR A FEE",
- "free": false,
- "importance": 2
}
], - "bags_per_pax": {
- "adult": {
- "check_in": {
- "quantity": 1,
- "weight": null,
- "weight_unit": null
}, - "cabin": {
- "quantity": 1,
- "weight": null,
- "weight_unit": null
}
}, - "child": {
- "check_in": {
- "quantity": null,
- "weight": null,
- "weight_unit": null
}, - "cabin": {
- "quantity": null,
- "weight": null,
- "weight_unit": null
}
}, - "infant": {
- "check_in": {
- "quantity": null,
- "weight": null,
- "weight_unit": null
}, - "cabin": {
- "quantity": null,
- "weight": null,
- "weight_unit": null
}
}
}
}
], - "taxes": [ ],
- "passengers": [
- {
- "id": 1,
- "type": "ADT"
}
], - "fares": [ ],
- "translations": {
- "airports": {
- "CAI": {
- "name": "Cairo International Airport",
- "code": "CAI",
- "city": {
- "name": "Cairo",
- "code": "CAI"
}
}, - "JED": {
- "name": "King Abdulaziz International Airport",
- "code": "JED",
- "city": {
- "name": "Jeddah",
- "code": "JED"
}
}
}, - "airlines": {
- "SV": {
- "name": "Saudia",
- "code": "SV"
}
}
}
}, - "itineraries": [
- {
- "id": 900000,
- "cabin_class": "E",
- "passengers": [
- {
- "id": 1,
- "prices": {
- "currency": "SAR",
- "total": 944.13,
- "base": 279.95,
- "taxes": 492.68,
- "total_currency": "SAR944.13"
}
}
], - "prices": {
- "currency": "SAR",
- "total": 1694.29,
- "base": 279.95,
- "taxes": 492.68,
- "total_currency": "SAR1,694.29"
}, - "trips": [
- {
- "id": 900000,
- "departure": "CAI",
- "arrival": "JED",
- "total_flight_time": 135,
- "flights": [
- 900000
]
}, - {
- "id": 900001,
- "departure": "JED",
- "arrival": "CAI",
- "total_flight_time": 435,
- "flights": [
- 900001,
- 900002
]
}
], - "refund_penalty": null,
- "allows_exchange": true,
- "exchange_penalty": "2651.00",
- "allows_revalidation": true,
- "revalidation_penalty": "2651.00",
- "points": 3147,
- "has_fare_families": false,
- "is_refundable": false
}
]
}This step is optional. If the itinerary has has_fare_family set to true, you can use it to fetch the branded fare offers.
| itinerary_id required | string Unique identifier of the selected itinerary |
| search_id required | string Search session identifier from the search response |
[- {
- "id": 0,
- "itinerary": { },
- "brandedFare": [
- "string"
], - "prices": 0.1,
- "amenities": [
- {
- "flight_id": "string",
- "amenities": [
- {
- "type": "check_in_baggage",
- "description": "string",
- "free": true,
- "importance": 0,
- "price": 0.1,
- "obj": { }
}
]
}
]
}
]Validates the current availability and pricing of a selected flight itinerary. This endpoint should be called before proceeding with the booking to ensure price accuracy and seat availability.
If you intend to book a specific branded fare (fare family), you must pass the corresponding fare_family_id as part of the request.
| itinerary_id required | string Unique identifier of the selected itinerary |
| search_id required | string Search session identifier from the search response |
| fare_family_id | string Optional fare family ID to book a specific branded fare |
{- "available": true,
- "price_changed": true,
- "price_change": 0,
- "formatted_price_change": "string",
- "price": "string"
}This endpoint initiates the booking process.
| itinerary_id required | string |
| search_id required | string |
required | Array of objects (PassengerInformationRequest) |
| mobile required | string Contact mobile number with country code |
| phone | string Alternative contact number |
| email required | string <email> Contact email for booking confirmation |
object |
{- "passengers": [
- {
- "identity_number": "A1231231312",
- "nationality_id": 68,
- "last_name": "Doe",
- "first_name": "John",
- "title": "Mr",
- "type": "ADT",
- "birthDate": "15-6-1997",
- "identityExpireDate": "14-5-2038"
}
], - "mobile": "+966565565655",
- "phone": "",
- "email": "John.Doe@example.com"
}{- "data": {
- "id": 2725,
- "name": "Mr John Doe",
- "session_id": "900000-57109609-f631-4999-b01a-6f856e52edea",
- "pnr": "",
- "supplier_reference": "",
- "order_number": "561230182",
- "email": "john.doe@example.com",
- "phone1": "+966565565655",
- "phone2": null,
- "passengers": [
- {
- "id": 3766,
- "title": "Mr",
- "first_name": "John",
- "last_name": "Doe",
- "identity_number": "A1231231312",
- "identity_expire_at": "2038-05-13T21:00:00.000000Z",
- "nationality": "Egypt",
- "birth_date": "1997-06-14T21:00:00.000000Z",
- "tickets": ""
}
], - "ancillaries": [ ],
- "created_at": "2024-12-03T10:49:31.000000Z"
}, - "message": "passenger information stored successfully"
}This endpoint retrieves comprehensive details of a specific flight booking, including:
This ensures timely and accurate updates to the booking status while minimizing manual intervention.
| itinerary_id required | string The unique identifier of the itinerary |
| session required | string Session identifier |
{- "order": {
- "id": 2725,
- "name": "Mr John Doe",
- "session_id": "900000-57109609-f631-4999-b01a-6f856e52edea",
- "pnr": "TGOA48",
- "supplier_reference": "",
- "order_number": "561230182",
- "email": "john.doe@example.com",
- "phone1": "+966565565655",
- "phone2": null,
- "passengers": [
- {
- "id": 3766,
- "title": "Mr",
- "first_name": "John",
- "last_name": "Doe",
- "identity_number": "A1231231312",
- "identity_expire_at": "2038-05-13T21:00:00.000000Z",
- "nationality": "Egypt",
- "birth_date": "1997-06-14T21:00:00.000000Z",
- "tickets": "SBN4BJK"
}
], - "ancillaries": [ ],
- "created_at": "2024-12-03T10:49:31.000000Z"
}, - "data": {
- "search_key": "",
- "search_id": "57109609-f631-4999-b01a-6f856e52edea",
- "itinerary": {
- "id": "900000",
- "trips": [
- {
- "id": "900000",
- "departure": "CAI",
- "arrival": "JED",
- "total_flight_time": 415,
- "flights": [
- 900000,
- 900001
], - "avail_code": null
}, - {
- "id": "900001",
- "departure": "JED",
- "arrival": "CAI",
- "total_flight_time": 145,
- "flights": [
- 900002
], - "avail_code": null
}
], - "passengers": [
- {
- "id": 3766,
- "prices": {
- "currency": "SAR",
- "total": 884.57,
- "base": 224.98,
- "total_currency": "SAR 884.57",
- "taxes": 492.68
}, - "ancillaries": [ ]
}
], - "PaxNameCharacterLimit": null,
- "MiddleNameRequired": false,
- "prices": {
- "currency": "SAR",
- "total": 1663.57,
- "base": 1663.57,
- "total_currency": "SAR 1,663.57",
- "taxes": 0
}
}, - "taxes": [ ],
- "passengers": [
- {
- "id": 3766,
- "type": "ADT"
}
], - "fares": [ ],
- "search": {
- "meta": "b2b",
- "cabin": "E",
- "adults": 1,
- "locale": "en",
- "infants": 0,
- "children": 0,
- "currency": "SAR",
- "direction": "R",
- "created_at": "2024-12-03T09:31:33.574658",
- "agency_code": "1234",
- "itineraries": [
- {
- "date": "2024-12-18",
- "arrival": "JED",
- "departure": "CAI"
}, - {
- "date": "2024-12-19",
- "arrival": "CAI",
- "departure": "JED"
}
]
}, - "flights": [
- {
- "departure": {
- "date": "18-12-2024",
- "time": "15:00",
- "airport": "CAI",
- "terminal": "2"
}, - "arrival": {
- "date": "18-12-2024",
- "time": "18:45",
- "airport": "RUH",
- "terminal": "4"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "418",
- "seats": null,
- "cabin": "E",
- "bookingClass": "V",
- "duration": 165,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "330",
- "cabin_baggage": "1PC",
- "id": 900000
}, - {
- "departure": {
- "date": "18-12-2024",
- "time": "21:00",
- "airport": "RUH",
- "terminal": "5"
}, - "arrival": {
- "date": "18-12-2024",
- "time": "22:55",
- "airport": "JED",
- "terminal": "1"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "1049",
- "seats": null,
- "cabin": "E",
- "bookingClass": "E",
- "duration": 115,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "773",
- "cabin_baggage": "1PC",
- "id": 900001
}, - {
- "departure": {
- "date": "19-12-2024",
- "time": "03:20",
- "airport": "JED",
- "terminal": "1"
}, - "arrival": {
- "date": "19-12-2024",
- "time": "04:45",
- "airport": "CAI",
- "terminal": "2"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "383",
- "seats": null,
- "cabin": "E",
- "bookingClass": "V",
- "duration": 145,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "333",
- "cabin_baggage": "1PC",
- "id": 900002
}
]
}
}This endpoint allows placing a hold on a booking.
can_hold = true. (Needs to be activated on the account)| itinerary_id required | string The unique identifier of the itinerary |
| session required | string Session identifier |
{- "order": {
- "id": 2725,
- "name": "Mr John Doe",
- "session_id": "900000-57109609-f631-4999-b01a-6f856e52edea",
- "pnr": "TGOA48",
- "supplier_reference": "",
- "order_number": "561230182",
- "email": "john.doe@example.com",
- "phone1": "+966565565655",
- "phone2": null,
- "passengers": [
- {
- "id": 3766,
- "title": "Mr",
- "first_name": "John",
- "last_name": "Doe",
- "identity_number": "A1231231312",
- "identity_expire_at": "2038-05-13T21:00:00.000000Z",
- "nationality": "Egypt",
- "birth_date": "1997-06-14T21:00:00.000000Z",
- "tickets": "SBN4BJK"
}
], - "ancillaries": [ ],
- "created_at": "2024-12-03T10:49:31.000000Z"
}, - "data": {
- "search_key": "",
- "search_id": "57109609-f631-4999-b01a-6f856e52edea",
- "itinerary": {
- "id": "900000",
- "trips": [
- {
- "id": "900000",
- "departure": "CAI",
- "arrival": "JED",
- "total_flight_time": 415,
- "flights": [
- 900000,
- 900001
], - "avail_code": null
}, - {
- "id": "900001",
- "departure": "JED",
- "arrival": "CAI",
- "total_flight_time": 145,
- "flights": [
- 900002
], - "avail_code": null
}
], - "passengers": [
- {
- "id": 3766,
- "prices": {
- "currency": "SAR",
- "total": 884.57,
- "base": 224.98,
- "total_currency": "SAR 884.57",
- "taxes": 492.68
}, - "ancillaries": [ ]
}
], - "PaxNameCharacterLimit": null,
- "MiddleNameRequired": false,
- "prices": {
- "currency": "SAR",
- "total": 1663.57,
- "base": 1663.57,
- "total_currency": "SAR 1,663.57",
- "taxes": 0
}
}, - "taxes": [ ],
- "passengers": [
- {
- "id": 3766,
- "type": "ADT"
}
], - "fares": [ ],
- "search": {
- "meta": "b2b",
- "cabin": "E",
- "adults": 1,
- "locale": "en",
- "infants": 0,
- "children": 0,
- "currency": "SAR",
- "direction": "R",
- "created_at": "2024-12-03T09:31:33.574658",
- "agency_code": "1234",
- "itineraries": [
- {
- "date": "2024-12-18",
- "arrival": "JED",
- "departure": "CAI"
}, - {
- "date": "2024-12-19",
- "arrival": "CAI",
- "departure": "JED"
}
]
}, - "flights": [
- {
- "departure": {
- "date": "18-12-2024",
- "time": "15:00",
- "airport": "CAI",
- "terminal": "2"
}, - "arrival": {
- "date": "18-12-2024",
- "time": "18:45",
- "airport": "RUH",
- "terminal": "4"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "418",
- "seats": null,
- "cabin": "E",
- "bookingClass": "V",
- "duration": 165,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "330",
- "cabin_baggage": "1PC",
- "id": 900000
}, - {
- "departure": {
- "date": "18-12-2024",
- "time": "21:00",
- "airport": "RUH",
- "terminal": "5"
}, - "arrival": {
- "date": "18-12-2024",
- "time": "22:55",
- "airport": "JED",
- "terminal": "1"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "1049",
- "seats": null,
- "cabin": "E",
- "bookingClass": "E",
- "duration": 115,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "773",
- "cabin_baggage": "1PC",
- "id": 900001
}, - {
- "departure": {
- "date": "19-12-2024",
- "time": "03:20",
- "airport": "JED",
- "terminal": "1"
}, - "arrival": {
- "date": "19-12-2024",
- "time": "04:45",
- "airport": "CAI",
- "terminal": "2"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "383",
- "seats": null,
- "cabin": "E",
- "bookingClass": "V",
- "duration": 145,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "333",
- "cabin_baggage": "1PC",
- "id": 900002
}
]
}
}This endpoint processes payment from your wallet and finalizes the booking.
Important Notes:
This polling mechanism ensures accurate tracking of the booking lifecycle after payment.
| itinerary_id required | string The unique identifier of the itinerary |
| session required | string Session identifier |
{- "order": {
- "id": 2725,
- "name": "Mr John Doe",
- "session_id": "900000-57109609-f631-4999-b01a-6f856e52edea",
- "pnr": "TGOA48",
- "supplier_reference": "",
- "order_number": "561230182",
- "email": "john.doe@example.com",
- "phone1": "+966565565655",
- "phone2": null,
- "passengers": [
- {
- "id": 3766,
- "title": "Mr",
- "first_name": "John",
- "last_name": "Doe",
- "identity_number": "A1231231312",
- "identity_expire_at": "2038-05-13T21:00:00.000000Z",
- "nationality": "Egypt",
- "birth_date": "1997-06-14T21:00:00.000000Z",
- "tickets": "SBN4BJK"
}
], - "ancillaries": [ ],
- "created_at": "2024-12-03T10:49:31.000000Z"
}, - "data": {
- "search_key": "",
- "search_id": "57109609-f631-4999-b01a-6f856e52edea",
- "itinerary": {
- "id": "900000",
- "trips": [
- {
- "id": "900000",
- "departure": "CAI",
- "arrival": "JED",
- "total_flight_time": 415,
- "flights": [
- 900000,
- 900001
], - "avail_code": null
}, - {
- "id": "900001",
- "departure": "JED",
- "arrival": "CAI",
- "total_flight_time": 145,
- "flights": [
- 900002
], - "avail_code": null
}
], - "passengers": [
- {
- "id": 3766,
- "prices": {
- "currency": "SAR",
- "total": 884.57,
- "base": 224.98,
- "total_currency": "SAR 884.57",
- "taxes": 492.68
}, - "ancillaries": [ ]
}
], - "PaxNameCharacterLimit": null,
- "MiddleNameRequired": false,
- "prices": {
- "currency": "SAR",
- "total": 1663.57,
- "base": 1663.57,
- "total_currency": "SAR 1,663.57",
- "taxes": 0
}
}, - "taxes": [ ],
- "passengers": [
- {
- "id": 3766,
- "type": "ADT"
}
], - "fares": [ ],
- "search": {
- "meta": "b2b",
- "cabin": "E",
- "adults": 1,
- "locale": "en",
- "infants": 0,
- "children": 0,
- "currency": "SAR",
- "direction": "R",
- "created_at": "2024-12-03T09:31:33.574658",
- "agency_code": "1234",
- "itineraries": [
- {
- "date": "2024-12-18",
- "arrival": "JED",
- "departure": "CAI"
}, - {
- "date": "2024-12-19",
- "arrival": "CAI",
- "departure": "JED"
}
]
}, - "flights": [
- {
- "departure": {
- "date": "18-12-2024",
- "time": "15:00",
- "airport": "CAI",
- "terminal": "2"
}, - "arrival": {
- "date": "18-12-2024",
- "time": "18:45",
- "airport": "RUH",
- "terminal": "4"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "418",
- "seats": null,
- "cabin": "E",
- "bookingClass": "V",
- "duration": 165,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "330",
- "cabin_baggage": "1PC",
- "id": 900000
}, - {
- "departure": {
- "date": "18-12-2024",
- "time": "21:00",
- "airport": "RUH",
- "terminal": "5"
}, - "arrival": {
- "date": "18-12-2024",
- "time": "22:55",
- "airport": "JED",
- "terminal": "1"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "1049",
- "seats": null,
- "cabin": "E",
- "bookingClass": "E",
- "duration": 115,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "773",
- "cabin_baggage": "1PC",
- "id": 900001
}, - {
- "departure": {
- "date": "19-12-2024",
- "time": "03:20",
- "airport": "JED",
- "terminal": "1"
}, - "arrival": {
- "date": "19-12-2024",
- "time": "04:45",
- "airport": "CAI",
- "terminal": "2"
}, - "marketing_carrier": "SV",
- "operating_carrier": "SV",
- "operated_by_carrier": null,
- "operated_flight_number": null,
- "flight_number": "383",
- "seats": null,
- "cabin": "E",
- "bookingClass": "V",
- "duration": 145,
- "fare_type": "PUB",
- "fare_base": "VARTEGB4",
- "free_baggage": "1PC",
- "code_share": null,
- "equipment": "333",
- "cabin_baggage": "1PC",
- "id": 900002
}
]
}
}