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
| Method | Path | Auth |
|---|---|---|
POST | /v1/flights/search | Required API key |
| Header | Description |
|---|---|
Authorization | Bearer <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-Type | Use application/json for requests with a body. |
Request Body Schema
| Property | Type | Details | Required | Notes |
|---|---|---|---|---|
slices | array | Yes | - | |
origin | string | Yes | IATA Code | |
destination | string | Yes | IATA Code | |
departure_date | string | Format: YYYY-MM-DD | Yes | - |
passengers | array | Yes | - | |
type | enum | adult, child, infant_without_seat | Yes | - |
cabin_class | enum | economy, business, first, premium_economy | Yes | - |
currency | enum | EUR, USD, CNY | Yes | - |
retrieveBookingLink | boolean | No | - | |
includeOriginalPrice | boolean | No | - | |
language | enum | en, es, zh | Yes | - |
Success Response
Returns normalized offers, provider metadata, pricing and optional booking link fields.
Response Body Schema
| Property | Type | Details | Required | Notes |
|---|---|---|---|---|
offers | array | Yes | - | |
offerId | string | Yes | - | |
offerLink | string | Nullable | - | |
gdsprovider | number | Yes | - | |
expiresAt | string | Format: ISO 8601 | Yes | - |
totalAmount | number | Yes | - | |
originalTotalAmount | number | Yes | - | |
holdOptions | object | Yes | - | |
available | boolean | Yes | - | |
paymentRequiredBy | string | Format: ISO 8601 | Nullable | - |
priceGuarantedUntil | string | Format: ISO 8601 | Nullable | - |
supportedPassengerIdDocuments | array | Yes | - | |
supportedPassengerIdDocuments[] | enum[] | Yes | - | |
passengerIdentityDocumentsRequired | boolean | Yes | - | |
supportedLoyaltyPrograms | array | Yes | - | |
supportedLoyaltyPrograms[] | string[] | Yes | - | |
airline | object | Yes | - | |
name | string | Yes | - | |
iataCode | string | Yes | - | |
logoURL | string | Nullable | - | |
conditionsOfCarriage | string | No | - | |
passengers | array | Yes | - | |
id | string | Yes | - | |
type | enum | adult, child, infant_without_seat | Yes | - |
conditions | object | Yes | - | |
refundBeforeDeparture | object | Yes | - | |
refundBeforeDeparturecurrency | string | Yes | - | |
refundBeforeDeparturepenaltyAmount | string | Yes | - | |
refundBeforeDepartureallowed | boolean | Yes | - | |
changeBeforeDeparture | object | Yes | - | |
changeBeforeDeparturecurrency | string | Yes | - | |
changeBeforeDeparturepenaltyAmount | string | Yes | - | |
changeBeforeDepartureallowed | boolean | Yes | - | |
slices | array | Yes | - | |
fareName | string | Yes | - | |
departure | object | Yes | - | |
iataCode | string | Yes | - | |
cityName | string | Yes | - | |
airportName | string | No | - | |
departingAt | string | Format: ISO 8601 | Yes | - |
timeZone | string | No | - | |
arrival | object | Yes | - | |
iataCode | string | Yes | - | |
cityName | string | Yes | - | |
airportName | string | No | - | |
arrivingAt | string | Format: ISO 8601 | Yes | - |
timeZone | string | No | - | |
durationMinutes | number | Yes | - | |
conditions | object | Yes | - | |
priorityCheckIn | boolean | Yes | - | |
priorityBoarding | boolean | Yes | - | |
advanceSeatSelection | boolean | Yes | - | |
segments | array | Yes | - | |
fareName | string | Yes | - | |
departure | object | Yes | - | |
iataCode | string | Yes | - | |
cityName | string | Yes | - | |
airportName | string | No | - | |
departingAt | string | Format: ISO 8601 | Yes | - |
timeZone | string | No | - | |
terminal | string | No | - | |
arrival | object | Yes | - | |
iataCode | string | Yes | - | |
cityName | string | Yes | - | |
airportName | string | No | - | |
arrivingAt | string | Format: ISO 8601 | Yes | - |
timeZone | string | No | - | |
terminal | string | No | - | |
airline | object | Yes | - | |
operatingCarrier | object | Yes | - | |
operatingCarriername | string | Yes | - | |
operatingCarrieriataCode | string | Yes | - | |
operatingCarrierlogoURL | string | Nullable | - | |
operatingCarrierconditionsOfCarriage | string | No | - | |
marketingCarrier | object | Yes | - | |
marketingCarriername | string | Yes | - | |
marketingCarrieriataCode | string | Yes | - | |
marketingCarrierlogoURL | string | Nullable | - | |
marketingCarrierconditionsOfCarriage | string | No | - | |
flightNumber | string | Yes | - | |
durationMinutes | number | Yes | - | |
passengers | array | Yes | - | |
amenities | object | Yes | - | |
wifi | object | Yes | - | |
wificost | enum | free, free or paid, paid | Nullable | - |
wifiavailable | boolean | Yes | - | |
seat | object | Yes | - | |
seatpitch | enum | "number", n/a | Yes | - |
seatlegroom | enum | less, more, standard, n/a | Yes | - |
seattype | enum | standard, skycouch, recliner, angle_flat, full_flat, full_flat_pod, private_suite | Nullable | - |
power | boolean | Yes | - | |
baggages | array | Yes | - | |
type | enum | checked, carry_on | Yes | - |
quantity | number | Yes | - | |
maxKg | string | No | - | |
CO2EmissionsKg | number | Nullable | - | |
holdId | string | Nullable | - | |
originalCurrency | enum | EUR, USD, CNY | Yes | - |
currency | enum | EUR, USD, CNY | Yes | - |
Request Body - Example Value
json
{
"slices": [
{
"origin": "MAD",
"destination": "JFK",
"departure_date": "2026-08-12"
}
],
"passengers": [
{
"type": "adult"
}
],
"cabin_class": "economy",
"currency": "EUR"
}Responses
| Code | Description |
|---|---|
200 | Flight offers retrieved successfully. |
400 | Bad request – invalid payload. |
401 | Unauthorized – invalid or missing credentials. |
403 | Forbidden – invalid credentials. |
500 | Internal server error |
200 Response Body
Media type: application/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"
}
]
}