POST/v1/flights/search

Search flight offers

Searches active flight inventory sources and returns normalized offers with final developer pricing, provider metadata and optional booking links.

Searches active flight inventory sources and returns normalized offers with final developer pricing, provider metadata and optional booking links.

Endpoint

MethodPathAuth
POST/v1/flights/searchRequired API key
Required headers:
HeaderDescription
AuthorizationBearer <secret_key>. The secret is shown only once when the credential is created.
X-Travelandz-Id<public_key>:<profile_code>. The profile_code is the dp_-prefixed Developer Profile code shown in your dashboard. This binds the request to a profile and credential.
Content-TypeUse application/json for requests with a body.

Request Body Schema

PropertyTypeDetailsRequiredNotes
slicesarrayYes-
originstringYesIATA Code
destinationstringYesIATA Code
departure_datestringFormat: YYYY-MM-DDYes-
passengersarrayYes-
typeenumadult, child, infant_without_seatYes-
cabin_classenumeconomy, business, first, premium_economyYes-
currencyenumEUR, USD, CNYYes-
retrieveBookingLinkbooleanNo-
includeOriginalPricebooleanNo-
languageenumen, es, zhYes-

Success Response

Returns normalized offers, provider metadata, pricing and optional booking link fields.

Response Body Schema

PropertyTypeDetailsRequiredNotes
offersarrayYes-
offerIdstringYes-
offerLinkstringNullable-
gdsprovidernumberYes-
expiresAtstringFormat: ISO 8601Yes-
totalAmountnumberYes-
originalTotalAmountnumberYes-
holdOptionsobjectYes-
availablebooleanYes-
paymentRequiredBystringFormat: ISO 8601Nullable-
priceGuarantedUntilstringFormat: ISO 8601Nullable-
supportedPassengerIdDocumentsarrayYes-
supportedPassengerIdDocuments[]enum[]Yes-
passengerIdentityDocumentsRequiredbooleanYes-
supportedLoyaltyProgramsarrayYes-
supportedLoyaltyPrograms[]string[]Yes-
airlineobjectYes-
namestringYes-
iataCodestringYes-
logoURLstringNullable-
conditionsOfCarriagestringNo-
passengersarrayYes-
idstringYes-
typeenumadult, child, infant_without_seatYes-
conditionsobjectYes-
refundBeforeDepartureobjectYes-
refundBeforeDeparture
currency
stringYes-
refundBeforeDeparture
penaltyAmount
stringYes-
refundBeforeDeparture
allowed
booleanYes-
changeBeforeDepartureobjectYes-
changeBeforeDeparture
currency
stringYes-
changeBeforeDeparture
penaltyAmount
stringYes-
changeBeforeDeparture
allowed
booleanYes-
slicesarrayYes-
fareNamestringYes-
departureobjectYes-
iataCodestringYes-
cityNamestringYes-
airportNamestringNo-
departingAtstringFormat: ISO 8601Yes-
timeZonestringNo-
arrivalobjectYes-
iataCodestringYes-
cityNamestringYes-
airportNamestringNo-
arrivingAtstringFormat: ISO 8601Yes-
timeZonestringNo-
durationMinutesnumberYes-
conditionsobjectYes-
priorityCheckInbooleanYes-
priorityBoardingbooleanYes-
advanceSeatSelectionbooleanYes-
segmentsarrayYes-
fareNamestringYes-
departureobjectYes-
iataCodestringYes-
cityNamestringYes-
airportNamestringNo-
departingAtstringFormat: ISO 8601Yes-
timeZonestringNo-
terminalstringNo-
arrivalobjectYes-
iataCodestringYes-
cityNamestringYes-
airportNamestringNo-
arrivingAtstringFormat: ISO 8601Yes-
timeZonestringNo-
terminalstringNo-
airlineobjectYes-
operatingCarrierobjectYes-
operatingCarrier
name
stringYes-
operatingCarrier
iataCode
stringYes-
operatingCarrier
logoURL
stringNullable-
operatingCarrier
conditionsOfCarriage
stringNo-
marketingCarrierobjectYes-
marketingCarrier
name
stringYes-
marketingCarrier
iataCode
stringYes-
marketingCarrier
logoURL
stringNullable-
marketingCarrier
conditionsOfCarriage
stringNo-
flightNumberstringYes-
durationMinutesnumberYes-
passengersarrayYes-
amenitiesobjectYes-
wifiobjectYes-
wifi
cost
enumfree, free or paid, paidNullable-
wifi
available
booleanYes-
seatobjectYes-
seat
pitch
enum"number", n/aYes-
seat
legroom
enumless, more, standard, n/aYes-
seat
type
enumstandard, skycouch, recliner, angle_flat, full_flat, full_flat_pod, private_suiteNullable-
powerbooleanYes-
baggagesarrayYes-
typeenumchecked, carry_onYes-
quantitynumberYes-
maxKgstringNo-
CO2EmissionsKgnumberNullable-
holdIdstringNullable-
originalCurrencyenumEUR, USD, CNYYes-
currencyenumEUR, USD, CNYYes-

Request Body - Example Value

json
json
{
  "slices": [
    {
      "origin": "MAD",
      "destination": "JFK",
      "departure_date": "2026-08-12"
    }
  ],
  "passengers": [
    {
      "type": "adult"
    }
  ],
  "cabin_class": "economy",
  "currency": "EUR"
}

Responses

CodeDescription
200Flight offers retrieved successfully.
400Bad request – invalid payload.
401Unauthorized – invalid or missing credentials.
403Forbidden – invalid credentials.
500Internal server error

200 Response Body

Media type: application/json

json
json
{
  "offers": [
    {
      "offerId": "string",
      "offerLink": "string",
      "gdsprovider": 0,
      "expiresAt": "2026-06-05T00:06:29.070Z",
      "totalAmount": 0,
      "originalTotalAmount": 0,
      "holdOptions": {
        "available": true,
        "paymentRequiredBy": "2026-06-05T00:06:29.070Z",
        "priceGuarantedUntil": "2026-06-05T00:06:29.070Z"
      },
      "supportedPassengerIdDocuments": "passport",
      "passengerIdentityDocumentsRequired": true,
      "supportedLoyaltyPrograms": [
        null
      ],
      "airline": {
        "name": "string",
        "iataCode": "string",
        "logoURL": {},
        "conditionsOfCarriage": "string"
      },
      "passengers": [
        {
          "id": "string",
          "type": "adult"
        }
      ],
      "conditions": {
        "refundBeforeDeparture": {
          "currency": "string",
          "penaltyAmount": "string",
          "allowed": true
        },
        "changeBeforeDeparture": {
          "currency": "string",
          "penaltyAmount": "string",
          "allowed": true
        }
      },
      "slices": [
        {
          "fareName": "string",
          "departure": {
            "iataCode": "string",
            "cityName": "string",
            "airportName": "string",
            "departingAt": "string",
            "timeZone": "string"
          },
          "arrival": {
            "iataCode": "string",
            "cityName": "string",
            "airportName": "string",
            "arrivingAt": "string",
            "timeZone": "string"
          },
          "durationMinutes": 0,
          "conditions": {
            "priorityCheckIn": true,
            "priorityBoarding": true,
            "advanceSeatSelection": true
          },
          "segments": [
            {
              "fareName": "string",
              "departure": {
                "iataCode": "string",
                "cityName": "string",
                "airportName": "string",
                "departingAt": "string",
                "timeZone": "string",
                "terminal": "string"
              },
              "arrival": {
                "iataCode": "string",
                "cityName": "string",
                "airportName": "string",
                "arrivingAt": "string",
                "timeZone": "string",
                "terminal": "string"
              },
              "airline": {},
              "flightNumber": "string",
              "durationMinutes": 0,
              "passengers": [
                {
                  "amenities": {
                    "wifi": {
                      "cost": {},
                      "available": true
                    },
                    "seat": {
                      "pitch": "string",
                      "legroom": "string",
                      "type": {}
                    },
                    "power": true
                  },
                  "baggages": [
                    {
                      "type": "checked",
                      "quantity": 0,
                      "maxKg": "string"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "CO2EmissionsKg": 0,
      "holdId": "string",
      "originalCurrency": {},
      "currency": "EUR"
    }
  ]
}