Flights Search API

Retrieve flight results

Download RAML

Overview

This API facilitates flight itinerary searches. Searches are initiated, and results are retrieved via the /poll endpoint. Polling occurs in two phases: "first-phase" and "second-phase." The "first-phase" returns results from faster providers, and clients should continue polling. Slower providers are queried during the "second-phase." Clients must continue polling until the status response field returns "complete."

Legs and segments

Flight itineraries are composed of legs and segments. A leg represents a single flight between an origin and destination (e.g., SWF -> STN). A leg without layovers consists of a single segment. However, legs often involve layovers and are thus comprised of multiple segments. Leg and segment details, which can be reused across different booking options, are available in the legs and segments maps within the root response.

Example 1: One way flight SWF -> STN with stop in KEF.

  • Leg 1 (SWF -> STN): This is the entire flight journey from SWF to STN.
    • Segment 1 (SWF -> KEF): The first part of the journey.
    • Segment 2 (KEF -> STN): The second part of the journey.

Example 2: Round trip flight SWF <-> STN with stops, with a stop in KEF each way.

  • Leg 1 (SWF -> STN): The outbound flight.
    • Segment 1 (SWF -> KEF): The first part of the outbound flight.
    • Segment 2 (KEF -> STN): The second part of the outbound flight.
  • Leg 2 (STN <- SWF): The return flight.
    • Segment 1 (STN <- KEF): The first part of the return flight.
    • Segment 2 (KEF <- SWF): The second part of the return flight.

Example 3: One way flight from BOS -> JFK without any stops.

  • Leg 1 (BOS -> JFK): The entire flight journey from BOS to JFK.
    • Segment 1 (BOS -> JFK): Since there are no stops, the leg consists of only one segment.

Hacker fares

Hacker fares, also known as split bookings, are itineraries made up of two or more separate bookings, potentially from different airlines or agencies. This approach can sometimes result in lower fares, but requires the user to manage multiple bookings. To include these split booking options in your search results, add the includeSplit=true parameter to your search start request. Take a look at non-exhaustive list of possible split booking scenarios:

Example 1: Round trip from BOS <-> BER using two one-way splits Instead of booking a standard round-trip flight from BOS to BER, a split booking (or hacker fare) could combine two separate one-way flights. For example:

  • Booking option 1 (BOS -> BER) - Provider A
  • Booking option 2 (BER <- BOS) - Provider B

Example 2: Round trip from BOS <-> BER using two round-trip splits The difference from the first example, is that the round trip split is made using some connection. For example:

  • Booking option 1 (BOS <-> LHR) - Provider A
  • Booking option 2 (LHR <-> BOS) - Provider B

Notice that LHR is used as a connection to assemble two round-trip split bookings.

Usage

Start search by sending POST /i/api/affiliate/search/flight/v1/poll?apiKey={apiKey}&userTrackId={userTrackId} request with search parameters.

Search start examples

Example 1: Starting a one way search LHR -> LCY including nearby airports with 2 adults and 1 child in economy class.

POST /i/api/affiliate/search/flight/v1/poll?apiKey={apiKey}&userTrackId={userTrackId}
{
  "searchStartParameters": {
    "cabin": "economy",
    "passengers": [
      "ADT", "ADT", "CHD"
    ],
    "legs": [
      {
        "origin": {
          "locationType": "airports",
          "airports": [ "LHR" ]
        },
        "destination": {
          "locationType": "nearbyAirports",
          "airport": "LCY"
        },
        "date": "2025-12-24",
        "flex": "exact"
      }
    ],
    "filters": {
      "includeSplit": true
    }
  }
}

Example 2: Starting a round-trip search from BOS to JFK with 2 adults and 1 child and senior in economy class with +-3 days flex.

POST /i/api/affiliate/search/flight/v1/poll?apiKey={apiKey}&userTrackId={userTrackId}
{
  "searchStartParameters": {
    "cabin": "economy",
    "passengers": [
      "ADT", "ADT", "CHD", "SNR"
    ],
    "legs": [
      {
        "origin": {
          "locationType": "airports",
          "airports": [ "BOS" ]
        },
        "destination": {
          "locationType": "airports",
          "airports": [ "JFK" ]
        },
        "date": "2025-12-24",
        "flex": "plusminusthree"
      }
    ]
  }
}

Example 3: Starting a multi city search from BOS to JFK and from JFK to RSW for one adult in business class.

POST /i/api/affiliate/search/flight/v1/poll?apiKey={apiKey}&userTrackId={userTrackId}
{
  "searchStartParameters": {
    "cabin": "business",
    "passengers": [ "ADT" ],
    "legs": [
      {
        "origin": {
          "locationType": "airports",
          "airports": [ "BOS" ]
        },
        "destination": {
          "locationType": "airports",
          "airports": [ "JFK" ]
        },
        "date": "2025-07-22"
      },
      {
        "origin": {
          "locationType": "airports",
          "airports": [ "JFK" ]
        },
        "destination": {
          "locationType": "airports",
          "airports": [ "RSW" ]
        },
        "date": "2025-07-29"
      }
    ]
  }
}

The response will contain a searchId and cluster response fields that must be used to continuously poll until the response comes back with a status of "complete".

Poll request example

POST /i/api/affiliate/search/flight/v1/poll?apiKey={apiKey}&userTrackId={userTrackId}&cluster={cluster}
{
  "searchId": "QSBGBspPnD"
}

The /poll endpoint provides a concise set of flight details necessary for displaying initial search results to the user, including provider information. At the moment /details endpoint contains identical information for a single result as in poll. However, in future releases, the /details endpoint might be enhanced to include more comprehensive information about each flight option.

Detail request example

POST /i/api/affiliate/search/flight/v1/details?apiKey={apiKey}&userTrackId={userTrackId}&cluster={cluster}
{
  "searchId": "QSBGBspPnD",
  "resultId": "ad4e36f9db46abb34f878812e55e1161"
}

Resources:

/poll

This endpoint initiates a new flight search or retrieves results for an existing one. Use the /details endpoint to access detailed information about the search results.

POST
/i/api/affiliate/search/flight/v1/poll?apiKey=<string>&userTrackId=<string>&cluster=<string>
Request body
Body:
searchStart
{
    "searchStartParameters": {
        "cabin": "economy",
        "passengers": [
            "ADT"
        ],
        "legs": [
            {
                "origin": {
                    "locationType": "airports",
                    "airports": [
                        "LAX"
                    ]
                },
                "destination": {
                    "locationType": "airports",
                    "airports": [
                        "BOS"
                    ]
                },
                "date": "2025-06-22",
                "flex": "exact"
            },
            {
                "origin": {
                    "locationType": "airports",
                    "airports": [
                        "BOS"
                    ]
                },
                "destination": {
                    "locationType": "airports",
                    "airports": [
                        "LAX"
                    ]
                },
                "date": "2025-06-27",
                "flex": "exact"
            }
        ]
    }
}
searchPoll
{
    "searchId": "gOAiBOpnGj"
}
Responses
200 - application/json
400 - application/json
|

Bad request.

401 - application/json

Authorization errors.

403 - application/json

Request is not allowed.

429 - application/json

Rate limit exceeded.

Response:
{
    "searchId": "gcHiCo3fUc",
    "cluster": "4",
    "status": "complete",
    "pageSize": 2,
    "totalCount": 123,
    "sort": {
        "key": "price",
        "direction": "asc"
    },
    "currency": "GBP",
    "priceMode": "perPerson",
    "passengers": {
        "adults": 1,
        "children": 0,
        "infants": 0,
        "infantsInSeat": 0,
        "seniors": 0,
        "students": 0,
        "youth": 0
    },
    "results": [
        {
            "id": "ad4e36f9db46abb34f878812e55e1161",
            "bookingOptions": [
                {
                    "type": "regular",
                    "bookingUrl": "https://sandbox-en-us.kayakaffiliates.com/in?url=%2Fbook%2Fflight%3Fcode%3DgcHiCo3fUc.BZRbXb2y98ZFj024N3_sTg.55660.ad4e36f9db46abb34f878812e55e1161%26h%3D55ef0102beca%26sub%3DF3979693554398645697E03295e87839",
                    "providerCode": "B6",
                    "displayPrice": {
                        "price": 442,
                        "displayPrice": "£442"
                    },
                    "segmentFares": [
                        {
                            "segmentId": "1750604400000B614881155",
                            "cabin": {
                                "code": "economy",
                                "displayName": "Economy"
                            },
                            "qualityItems": [
                                {
                                    "code": "wifi",
                                    "displayName": "Streaming capable Wi-Fi"
                                },
                                {
                                    "code": "entertainment",
                                    "displayName": "Seatback on-demand & live TV"
                                },
                                {
                                    "code": "power",
                                    "displayName": "Power & USB outlets"
                                },
                                {
                                    "code": "seat",
                                    "displayName": "33\" seat pitch"
                                },
                                {
                                    "code": "food",
                                    "displayName": "Premium snacks (fee)"
                                }
                            ]
                        },
                        {
                            "segmentId": "1751104800000B614870630",
                            "cabin": {
                                "code": "economy",
                                "displayName": "Economy"
                            },
                            "qualityItems": [
                                {
                                    "code": "wifi",
                                    "displayName": "Streaming capable Wi-Fi"
                                },
                                {
                                    "code": "entertainment",
                                    "displayName": "Seatback on-demand & live TV"
                                },
                                {
                                    "code": "power",
                                    "displayName": "Power & USB outlets"
                                },
                                {
                                    "code": "seat",
                                    "displayName": "33\" seat pitch"
                                },
                                {
                                    "code": "food",
                                    "displayName": "Light meal (fee)"
                                }
                            ]
                        }
                    ],
                    "fareFamilies": [
                        {
                            "id": "AN",
                            "displayName": "Blue",
                            "amenities": [
                                {
                                    "code": "carryOnBag",
                                    "restriction": "included",
                                    "displayName": "Carry-on bag included"
                                },
                                {
                                    "code": "checkedBag",
                                    "restriction": "fee",
                                    "displayName": "Checked bag fee"
                                },
                                {
                                    "code": "seatSelection",
                                    "restriction": "included",
                                    "displayName": "Seat selection included"
                                },
                                {
                                    "code": "legroom",
                                    "restriction": "fee",
                                    "displayName": "Extra legroom available for a fee"
                                },
                                {
                                    "code": "change",
                                    "restriction": "included",
                                    "displayName": "Change fee waived"
                                },
                                {
                                    "code": "refundable",
                                    "restriction": "unavailable",
                                    "displayName": "Refunds unavailable"
                                }
                            ],
                            "legIndices": [
                                0,
                                1
                            ]
                        }
                    ],
                    "badges": [
                        {
                            "code": "direct",
                            "displayName": "Direct flight"
                        },
                        {
                            "code": "freeCancellation",
                            "displayName": "Free cancellation"
                        }
                    ],
                    "fees": {
                        "basePrice": {
                            "price": 442,
                            "displayPrice": "£442"
                        },
                        "totalPrice": {
                            "price": 442,
                            "displayPrice": "£442"
                        },
                        "carryOnBag": [
                            {
                                "bagNumber": "first",
                                "restriction": "included",
                                "displayPrice": {
                                    "price": 0,
                                    "displayPrice": "£0"
                                }
                            }
                        ],
                        "checkedBag": [
                            {
                                "bagNumber": "first",
                                "restriction": "fee",
                                "displayPrice": {
                                    "price": 56,
                                    "displayPrice": "£56"
                                }
                            },
                            {
                                "bagNumber": "second",
                                "restriction": "fee",
                                "displayPrice": {
                                    "price": 80,
                                    "displayPrice": "£80"
                                }
                            }
                        ]
                    },
                    "cashbackDetails": {
                        "type": "PERCENTAGE",
                        "value": 5,
                        "cap": 25,
                        "currency": "GBP"
                    }
                },
                {
                    "type": "regular",
                    "bookingUrl": "https://sandbox-en-us.kayakaffiliates.com/in?url=%2Fbook%2Fflight%3Fcode%3DgcHiCo3fUc.BZRbXb2y98ZFj024N3_sTg.55660.ad4e36f9db46abb34f878812e55e1161%26h%3D55ef0102beca%26sub%3DF3979693554398645697E03295e87839",
                    "providerCode": "B6",
                    "displayPrice": {
                        "price": 589,
                        "displayPrice": "£589"
                    },
                    "segmentFares": [
                        {
                            "segmentId": "1750604400000B614881155",
                            "cabin": {
                                "code": "economy",
                                "displayName": "Economy"
                            },
                            "qualityItems": [
                                {
                                    "code": "wifi",
                                    "displayName": "Streaming capable Wi-Fi"
                                },
                                {
                                    "code": "entertainment",
                                    "displayName": "Seatback on-demand & live TV"
                                },
                                {
                                    "code": "power",
                                    "displayName": "Power & USB outlets"
                                },
                                {
                                    "code": "seat",
                                    "displayName": "33\" seat pitch"
                                },
                                {
                                    "code": "food",
                                    "displayName": "Premium snacks (fee)"
                                }
                            ]
                        },
                        {
                            "segmentId": "1751104800000B614870630",
                            "cabin": {
                                "code": "economy",
                                "displayName": "Economy"
                            },
                            "qualityItems": [
                                {
                                    "code": "wifi",
                                    "displayName": "Streaming capable Wi-Fi"
                                },
                                {
                                    "code": "entertainment",
                                    "displayName": "Seatback on-demand & live TV"
                                },
                                {
                                    "code": "power",
                                    "displayName": "Power & USB outlets"
                                },
                                {
                                    "code": "seat",
                                    "displayName": "33\" seat pitch"
                                },
                                {
                                    "code": "food",
                                    "displayName": "Light meal (fee)"
                                }
                            ]
                        }
                    ],
                    "fareFamilies": [
                        {
                            "id": "AR",
                            "displayName": "Blue Refundable",
                            "amenities": [
                                {
                                    "code": "carryOnBag",
                                    "restriction": "included",
                                    "displayName": "Carry-on bag included"
                                },
                                {
                                    "code": "checkedBag",
                                    "restriction": "fee",
                                    "displayName": "Checked bag fee"
                                },
                                {
                                    "code": "seatSelection",
                                    "restriction": "included",
                                    "displayName": "Seat selection included"
                                },
                                {
                                    "code": "legroom",
                                    "restriction": "fee",
                                    "displayName": "Extra legroom available for a fee"
                                },
                                {
                                    "code": "change",
                                    "restriction": "included",
                                    "displayName": "Change fee waived"
                                },
                                {
                                    "code": "refundable",
                                    "restriction": "included",
                                    "displayName": "Refunds available"
                                }
                            ],
                            "legIndices": [
                                0,
                                1
                            ]
                        }
                    ],
                    "badges": [
                        {
                            "code": "direct",
                            "displayName": "Direct flight"
                        }
                    ],
                    "fees": {
                        "basePrice": {
                            "price": 589,
                            "displayPrice": "£589"
                        },
                        "totalPrice": {
                            "price": 589,
                            "displayPrice": "£589"
                        },
                        "carryOnBag": [
                            {
                                "bagNumber": "first",
                                "restriction": "included",
                                "displayPrice": {
                                    "price": 0,
                                    "displayPrice": "£0"
                                }
                            }
                        ],
                        "checkedBag": [
                            {
                                "bagNumber": "first",
                                "restriction": "fee",
                                "displayPrice": {
                                    "price": 56,
                                    "displayPrice": "£56"
                                }
                            },
                            {
                                "bagNumber": "second",
                                "restriction": "fee",
                                "displayPrice": {
                                    "price": 80,
                                    "displayPrice": "£80"
                                }
                            }
                        ]
                    }
                }
            ],
            "legs": [
                {
                    "id": "LAXBOS1750604400000B614881"
                },
                {
                    "id": "BOSLAX1751104800000B614871"
                }
            ]
        }
    ],
    "legs": {
        "LAXBOS1750604400000B614881": {
            "duration": 338,
            "segments": [
                {
                    "id": "1750604400000B614881155",
                    "departureDayMismatch": true
                }
            ],
            "arrivalTime": "2025-06-23T00:33:00",
            "departureTime": "2025-06-22T15:55:00"
        },
        "BOSLAX1751104800000B614871": {
            "duration": 375,
            "segments": [
                {
                    "id": "1751104800000B614870630"
                }
            ],
            "arrivalTime": "2025-06-28T13:45:00",
            "departureTime": "2025-06-28T10:30:00"
        }
    },
    "segments": {
        "1750604400000B614881155": {
            "airline": "B6",
            "flightNumber": "1488",
            "origin": "LAX",
            "destination": "BOS",
            "arrivalTime": "2025-06-23T00:33:00",
            "departureTime": "2025-06-22T15:55:00",
            "equipmentTypeName": "Airbus A318/A319/A320/A321",
            "duration": 338,
            "type": "flight"
        },
        "1751104800000B614870630": {
            "airline": "B6",
            "flightNumber": "1487",
            "origin": "BOS",
            "destination": "LAX",
            "arrivalTime": "2025-06-28T13:45:00",
            "departureTime": "2025-06-28T10:30:00",
            "equipmentTypeName": "Airbus A318/A319/A320/A321",
            "duration": 375,
            "type": "flight"
        }
    },
    "airlines": {
        "B6": {
            "logoUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/B6.png?crop=false&width=108&height=92&fallback=default1.png&_v=1d9c582b6d8f9aebe5ff965c9bb916ee",
            "displayName": "JetBlue",
            "airlineFeeUrl": "https://www.jetblue.com/at-the-airport/baggage-information",
            "baggagePolicies": [
                {
                    "bagType": "personal",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 16 x 12 x 7in"
                        }
                    ]
                },
                {
                    "bagType": "carryOn",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 21 x 13 x 8in"
                        }
                    ]
                },
                {
                    "bagType": "checked",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 62in total"
                        }
                    ]
                }
            ]
        }
    },
    "airports": {
        "LAX": {
            "displayName": "Los Angeles",
            "cityName": "Los Angeles"
        },
        "BOS": {
            "displayName": "Boston Logan Intl",
            "cityName": "Boston"
        }
    },
    "providers": {
        "B6": {
            "displayName": "JetBlue",
            "logoUrls": {
                "imageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/B6.png?crop=false&width=108&height=92&fallback=default1.png&_v=1d9c582b6d8f9aebe5ff965c9bb916ee",
                "horizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/B6.png?crop=false&width=88&height=31&fallback=default1.png&_v=9f55326a03f81c2db69369a948b14390",
                "wideHorizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/B6.png?crop=false&width=102&height=18&fallback=default1.png&_v=9f55326a03f81c2db69369a948b14390"
            }
        }
    }
}

/details

This endpoint retrieves detailed information for a specific search result.

POST
/i/api/affiliate/search/flight/v1/details?apiKey=<string>&userTrackId=<string>&cluster=<string>
Request body
Body:
detailRequest
{
    "searchId": "gOAiBOpnGj",
    "resultId": "ad4e36f9db46abb34f878812e55e1161"
}
Responses
200 - application/json
400 - application/json
|

Bad request.

401 - application/json

Authorization errors.

403 - application/json

Request is not allowed.

429 - application/json

Rate limit exceeded.

Response:
{
    "status": "complete",
    "currency": "GBP",
    "priceMode": "perPerson",
    "passengers": {
        "adults": 1,
        "children": 0,
        "infants": 0,
        "infantsInSeat": 0,
        "seniors": 0,
        "students": 0,
        "youth": 0
    },
    "result": {
        "id": "ad4e36f9db46abb34f878812e55e1161",
        "bookingOptions": [
            {
                "type": "regular",
                "bookingUrl": "https://sandbox-en-us.kayakaffiliates.com/in?url=%2Fbook%2Fflight%3Fcode%3DgcHiCo3fUc.BZRbXb2y98ZFj024N3_sTg.55660.ad4e36f9db46abb34f878812e55e1161%26h%3D55ef0102beca%26sub%3DF3979693554398645697E03295e87839",
                "providerCode": "B6",
                "displayPrice": {
                    "price": 442,
                    "displayPrice": "£442"
                },
                "segmentFares": [
                    {
                        "segmentId": "1750604400000B614881155",
                        "cabin": {
                            "code": "economy",
                            "displayName": "Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Streaming capable Wi-Fi"
                            },
                            {
                                "code": "entertainment",
                                "displayName": "Seatback on-demand & live TV"
                            },
                            {
                                "code": "power",
                                "displayName": "Power & USB outlets"
                            },
                            {
                                "code": "seat",
                                "displayName": "33\" seat pitch"
                            },
                            {
                                "code": "food",
                                "displayName": "Premium snacks (fee)"
                            }
                        ]
                    },
                    {
                        "segmentId": "1751104800000B614870630",
                        "cabin": {
                            "code": "economy",
                            "displayName": "Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Streaming capable Wi-Fi"
                            },
                            {
                                "code": "entertainment",
                                "displayName": "Seatback on-demand & live TV"
                            },
                            {
                                "code": "power",
                                "displayName": "Power & USB outlets"
                            },
                            {
                                "code": "seat",
                                "displayName": "33\" seat pitch"
                            },
                            {
                                "code": "food",
                                "displayName": "Light meal (fee)"
                            }
                        ]
                    }
                ],
                "fareFamilies": [
                    {
                        "id": "AN",
                        "displayName": "Blue",
                        "amenities": [
                            {
                                "code": "carryOnBag",
                                "restriction": "included",
                                "displayName": "Carry-on bag included"
                            },
                            {
                                "code": "checkedBag",
                                "restriction": "fee",
                                "displayName": "Checked bag fee"
                            },
                            {
                                "code": "seatSelection",
                                "restriction": "included",
                                "displayName": "Seat selection included"
                            },
                            {
                                "code": "legroom",
                                "restriction": "fee",
                                "displayName": "Extra legroom available for a fee"
                            },
                            {
                                "code": "change",
                                "restriction": "included",
                                "displayName": "Change fee waived"
                            },
                            {
                                "code": "refundable",
                                "restriction": "unavailable",
                                "displayName": "Refunds unavailable"
                            }
                        ],
                        "legIndices": [
                            0,
                            1
                        ]
                    }
                ],
                "badges": [
                    {
                        "code": "direct",
                        "displayName": "Direct flight"
                    },
                    {
                        "code": "freeCancellation",
                        "displayName": "Free cancellation"
                    }
                ],
                "fees": {
                    "basePrice": {
                        "price": 442,
                        "displayPrice": "£442"
                    },
                    "totalPrice": {
                        "price": 442,
                        "displayPrice": "£442"
                    },
                    "carryOnBag": [
                        {
                            "bagNumber": "first",
                            "restriction": "included",
                            "displayPrice": {
                                "price": 0,
                                "displayPrice": "£0"
                            }
                        }
                    ],
                    "checkedBag": [
                        {
                            "bagNumber": "first",
                            "restriction": "fee",
                            "displayPrice": {
                                "price": 56,
                                "displayPrice": "£56"
                            }
                        },
                        {
                            "bagNumber": "second",
                            "restriction": "fee",
                            "displayPrice": {
                                "price": 80,
                                "displayPrice": "£80"
                            }
                        }
                    ]
                },
                "cashbackDetails": {
                    "type": "PERCENTAGE",
                    "value": 5,
                    "cap": 25,
                    "currency": "GBP"
                }
            },
            {
                "type": "regular",
                "bookingUrl": "https://sandbox-en-us.kayakaffiliates.com/in?url=%2Fbook%2Fflight%3Fcode%3DgcHiCo3fUc.BZRbXb2y98ZFj024N3_sTg.55660.ad4e36f9db46abb34f878812e55e1161%26h%3D55ef0102beca%26sub%3DF3979693554398645697E03295e87839",
                "providerCode": "B6",
                "displayPrice": {
                    "price": 589,
                    "displayPrice": "£589"
                },
                "segmentFares": [
                    {
                        "segmentId": "1750604400000B614881155",
                        "cabin": {
                            "code": "economy",
                            "displayName": "Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Streaming capable Wi-Fi"
                            },
                            {
                                "code": "entertainment",
                                "displayName": "Seatback on-demand & live TV"
                            },
                            {
                                "code": "power",
                                "displayName": "Power & USB outlets"
                            },
                            {
                                "code": "seat",
                                "displayName": "33\" seat pitch"
                            },
                            {
                                "code": "food",
                                "displayName": "Premium snacks (fee)"
                            }
                        ]
                    },
                    {
                        "segmentId": "1751104800000B614870630",
                        "cabin": {
                            "code": "economy",
                            "displayName": "Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Streaming capable Wi-Fi"
                            },
                            {
                                "code": "entertainment",
                                "displayName": "Seatback on-demand & live TV"
                            },
                            {
                                "code": "power",
                                "displayName": "Power & USB outlets"
                            },
                            {
                                "code": "seat",
                                "displayName": "33\" seat pitch"
                            },
                            {
                                "code": "food",
                                "displayName": "Light meal (fee)"
                            }
                        ]
                    }
                ],
                "fareFamilies": [
                    {
                        "id": "AR",
                        "displayName": "Blue Refundable",
                        "amenities": [
                            {
                                "code": "carryOnBag",
                                "restriction": "included",
                                "displayName": "Carry-on bag included"
                            },
                            {
                                "code": "checkedBag",
                                "restriction": "fee",
                                "displayName": "Checked bag fee"
                            },
                            {
                                "code": "seatSelection",
                                "restriction": "included",
                                "displayName": "Seat selection included"
                            },
                            {
                                "code": "legroom",
                                "restriction": "fee",
                                "displayName": "Extra legroom available for a fee"
                            },
                            {
                                "code": "change",
                                "restriction": "included",
                                "displayName": "Change fee waived"
                            },
                            {
                                "code": "refundable",
                                "restriction": "unavailable",
                                "displayName": "Refunds unavailable"
                            }
                        ],
                        "legIndices": [
                            0,
                            1
                        ]
                    }
                ],
                "badges": [
                    {
                        "code": "direct",
                        "displayName": "Direct flight"
                    },
                    {
                        "code": "freeCancellation",
                        "displayName": "Free cancellation"
                    }
                ],
                "fees": {
                    "basePrice": {
                        "price": 589,
                        "displayPrice": "£589"
                    },
                    "totalPrice": {
                        "price": 589,
                        "displayPrice": "£589"
                    },
                    "carryOnBag": [
                        {
                            "bagNumber": "first",
                            "restriction": "included",
                            "displayPrice": {
                                "price": 0,
                                "displayPrice": "£0"
                            }
                        }
                    ]
                }
            },
            {
                "type": "regular",
                "bookingUrl": "https://sandbox-en-us.kayakaffiliates.com/in?url=%2Fbook%2Fflight%3Fcode%3DgcHiCo3fUc.BZRbXb2y98ZFj024N3_sTg.55660.ad4e36f9db46abb34f878812e55e1161%26h%3D55ef0102beca%26sub%3DF3979693554398645697E03295e87839",
                "providerCode": "B6",
                "displayPrice": {
                    "price": 1480,
                    "displayPrice": "£1,480"
                },
                "segmentFares": [
                    {
                        "segmentId": "1750604400000B614881155",
                        "cabin": {
                            "code": "economy",
                            "displayName": "Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Streaming capable Wi-Fi"
                            },
                            {
                                "code": "entertainment",
                                "displayName": "Seatback on-demand & live TV"
                            },
                            {
                                "code": "power",
                                "displayName": "Power & USB outlets"
                            },
                            {
                                "code": "seat",
                                "displayName": "Full flat"
                            },
                            {
                                "code": "food",
                                "displayName": "Meal provided"
                            }
                        ]
                    },
                    {
                        "segmentId": "1751104800000B614870630",
                        "cabin": {
                            "code": "economy",
                            "displayName": "Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Streaming capable Wi-Fi"
                            },
                            {
                                "code": "entertainment",
                                "displayName": "Seatback on-demand & live TV"
                            },
                            {
                                "code": "power",
                                "displayName": "Power & USB outlets"
                            },
                            {
                                "code": "seat",
                                "displayName": "Full flat"
                            },
                            {
                                "code": "food",
                                "displayName": "Light meal (fee)"
                            }
                        ]
                    }
                ],
                "fareFamilies": [
                    {
                        "id": "MN",
                        "displayName": "Mint",
                        "amenities": [
                            {
                                "code": "carryOnBag",
                                "restriction": "included",
                                "displayName": "Carry-on bag included"
                            },
                            {
                                "code": "checkedBag",
                                "restriction": "included",
                                "displayName": "Checked bag included"
                            },
                            {
                                "code": "seatSelection",
                                "restriction": "included",
                                "displayName": "Seat selection included"
                            },
                            {
                                "code": "legroom",
                                "restriction": "included",
                                "displayName": "Extra legroom included"
                            },
                            {
                                "code": "change",
                                "restriction": "included",
                                "displayName": "Change fee waived"
                            },
                            {
                                "code": "refundable",
                                "restriction": "included",
                                "displayName": "Refundable"
                            }
                        ],
                        "legIndices": [
                            0,
                            1
                        ]
                    }
                ],
                "fees": {
                    "basePrice": {
                        "price": 589,
                        "displayPrice": "£589"
                    },
                    "totalPrice": {
                        "price": 589,
                        "displayPrice": "£589"
                    },
                    "carryOnBag": [
                        {
                            "bagNumber": "first",
                            "restriction": "included",
                            "displayPrice": {
                                "price": 0,
                                "displayPrice": "£0"
                            }
                        }
                    ]
                },
                "badges": [
                    {
                        "code": "direct",
                        "displayName": "Direct flight"
                    },
                    {
                        "code": "freeCancellation",
                        "displayName": "Free cancellation"
                    }
                ]
            }
        ],
        "legs": [
            {
                "id": "LAXBOS1750604400000B614881"
            },
            {
                "id": "BOSLAX1751104800000B614871"
            }
        ]
    },
    "providers": {
        "B6": {
            "displayName": "JetBlue",
            "logoUrls": {
                "imageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/B6.png?crop=false&width=108&height=92&fallback=default1.png&_v=1d9c582b6d8f9aebe5ff965c9bb916ee",
                "horizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/B6.png?crop=false&width=88&height=31&fallback=default1.png&_v=9f55326a03f81c2db69369a948b14390",
                "wideHorizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/B6.png?crop=false&width=102&height=18&fallback=default1.png&_v=9f55326a03f81c2db69369a948b14390"
            }
        }
    },
    "legs": {
        "LAXBOS1750604400000B614881": {
            "duration": 338,
            "segments": [
                {
                    "id": "1750604400000B614881155",
                    "departureDayMismatch": true
                }
            ],
            "arrivalTime": "2025-06-23T00:33:00",
            "departureTime": "2025-06-22T15:55:00"
        },
        "BOSLAX1751104800000B614871": {
            "duration": 375,
            "segments": [
                {
                    "id": "1751104800000B614870630"
                }
            ],
            "arrivalTime": "2025-06-28T13:45:00",
            "departureTime": "2025-06-28T10:30:00"
        }
    },
    "segments": {
        "1750604400000B614881155": {
            "airline": "B6",
            "flightNumber": "1488",
            "origin": "LAX",
            "destination": "BOS",
            "arrivalTime": "2025-06-23T00:33:00",
            "departureTime": "2025-06-22T15:55:00",
            "equipmentTypeName": "Airbus A318/A319/A320/A321",
            "duration": 338,
            "type": "flight"
        },
        "1751104800000B614870630": {
            "airline": "B6",
            "flightNumber": "1487",
            "origin": "BOS",
            "destination": "LAX",
            "arrivalTime": "2025-06-28T13:45:00",
            "departureTime": "2025-06-28T10:30:00",
            "equipmentTypeName": "Airbus A318/A319/A320/A321",
            "duration": 375,
            "type": "flight"
        }
    },
    "airlines": {
        "B6": {
            "logoUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/B6.png?crop=false&width=108&height=92&fallback=default1.png&_v=1d9c582b6d8f9aebe5ff965c9bb916ee",
            "displayName": "JetBlue",
            "airlineFeeUrl": "https://www.jetblue.com/at-the-airport/baggage-information",
            "baggagePolicies": [
                {
                    "bagType": "personal",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 16 x 12 x 7in"
                        }
                    ]
                },
                {
                    "bagType": "carryOn",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 21 x 13 x 8in"
                        }
                    ]
                },
                {
                    "bagType": "checked",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 62in total"
                        }
                    ]
                }
            ]
        }
    },
    "airports": {
        "LAX": {
            "displayName": "Los Angeles",
            "cityName": "Los Angeles"
        },
        "BOS": {
            "displayName": "Boston Logan Intl",
            "cityName": "Boston"
        }
    }
}, {
    "status": "complete",
    "currency": "GBP",
    "priceMode": "perPerson",
    "passengers": {
        "adults": 1,
        "children": 0,
        "infants": 0,
        "infantsInSeat": 0,
        "seniors": 0,
        "students": 0,
        "youth": 0
    },
    "result": {
        "id": "ad4e36f9db46abb34f878812e55e1161",
        "bookingOptions": [
            {
                "type": "split",
                "providerCode": "splitbookingow",
                "displayPrice": {
                    "price": 171,
                    "displayPrice": "£171"
                },
                "segmentFares": [
                    {
                        "segmentId": "1746954000000B614870555",
                        "cabin": {
                            "code": "premiumEconomy",
                            "displayName": "Premium Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Wi-Fi available"
                            },
                            {
                                "code": "entertainment",
                                "displayName": "Live TV available"
                            }
                        ]
                    },
                    {
                        "segmentId": "1747479600000NK33410703",
                        "cabin": {
                            "code": "economy",
                            "displayName": "Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Streaming capable Wi-Fi (fee)"
                            },
                            {
                                "code": "seat",
                                "displayName": "28\" seat pitch"
                            },
                            {
                                "code": "food",
                                "displayName": "Snacks (fee)"
                            }
                        ]
                    },
                    {
                        "segmentId": "1747508400000NK11801530",
                        "cabin": {
                            "code": "economy",
                            "displayName": "Economy"
                        },
                        "qualityItems": [
                            {
                                "code": "wifi",
                                "displayName": "Streaming capable Wi-Fi (fee)"
                            },
                            {
                                "code": "seat",
                                "displayName": "28\" seat pitch"
                            },
                            {
                                "code": "food",
                                "displayName": "Snacks (fee)"
                            }
                        ]
                    }
                ],
                "fareFamilies": [
                    {
                        "id": "DN",
                        "displayName": "Blue Basic",
                        "legIndices": [
                            0
                        ],
                        "amenities": [
                            {
                                "code": "carryOnBag",
                                "restriction": "included",
                                "displayName": "Carry on bag included"
                            },
                            {
                                "code": "checkedBag",
                                "restriction": "fee",
                                "displayName": "Checked bag fee"
                            },
                            {
                                "code": "seatSelection",
                                "restriction": "fee",
                                "displayName": "Seat selection fee"
                            },
                            {
                                "code": "legroom",
                                "restriction": "fee",
                                "displayName": "Extra legroom fee"
                            },
                            {
                                "code": "change",
                                "restriction": "unavailable",
                                "displayName": "Change fee unavailable"
                            },
                            {
                                "code": "refundable",
                                "restriction": "unavailable",
                                "displayName": "Refundable fee unavailable"
                            }
                        ]
                    },
                    {
                        "id": "ECONOMY",
                        "displayName": "Economy",
                        "legIndices": [
                            1
                        ],
                        "amenities": [
                            {
                                "code": "carryOnBag",
                                "restriction": "unavailable",
                                "displayName": "Carry on bag unavailable"
                            },
                            {
                                "code": "checkedBag",
                                "restriction": "fee",
                                "displayName": "Checked bag fee"
                            },
                            {
                                "code": "seatSelection",
                                "restriction": "fee",
                                "displayName": "Seat selection fee"
                            },
                            {
                                "code": "legroom",
                                "restriction": "fee",
                                "displayName": "Extra legroom fee"
                            },
                            {
                                "code": "change",
                                "restriction": "fee",
                                "displayName": "Change fee"
                            },
                            {
                                "code": "refundable",
                                "restriction": "unavailable",
                                "displayName": "Refundable fee unavailable"
                            }
                        ]
                    }
                ],
                "splitBookingOptions": [
                    {
                        "bookingUrl": "https://sandbox-en-us.kayakaffiliates.com/in?url=%2Fbook%2Fflight%3Fcode%3DgcHiCo3fUc.BZRbXb2y98ZFj024N3_sTg.55660.ad4e36f9db46abb34f878812e55e1161%26h%3D55ef0102beca%26sub%3DF3979693554398645697E03295e87839",
                        "providerCode": "B6",
                        "displayPrice": {
                            "price": 103,
                            "displayPrice": "£103"
                        },
                        "fees": {
                            "basePrice": {
                                "price": 103,
                                "displayPrice": "£103"
                            },
                            "totalPrice": {
                                "price": 103,
                                "displayPrice": "£103"
                            },
                            "carryOnBag": [
                                {
                                    "bagNumber": "first",
                                    "restriction": "included",
                                    "displayPrice": {
                                        "price": 0,
                                        "displayPrice": "£0"
                                    }
                                }
                            ],
                            "checkedBag": [
                                {
                                    "bagNumber": "first",
                                    "restriction": "fee",
                                    "displayPrice": {
                                        "price": 28,
                                        "displayPrice": "£28"
                                    }
                                },
                                {
                                    "bagNumber": "second",
                                    "restriction": "fee",
                                    "displayPrice": {
                                        "price": 40,
                                        "displayPrice": "£40"
                                    }
                                }
                            ]
                        },
                        "badges": [
                            {
                                "code": "direct",
                                "displayName": "Direct flight"
                            },
                            {
                                "code": "freeCancellation",
                                "displayName": "Free cancellation"
                            }
                        ],
                        "cashbackDetails": {
                            "type": "PERCENTAGE",
                            "value": 3,
                            "cap": 15,
                            "currency": "GBP"
                        }
                    },
                    {
                        "bookingUrl": "https://sandbox-en-us.kayakaffiliates.com/in?url=%2Fbook%2Fflight%3Fcode%3DgcHiCo3fUc.BZRbXb2y98ZFj024N3_sTg.55660.ad4e36f9db46abb34f878812e55e1161%26h%3D55ef0102beca%26sub%3DF3979693554398645697E03295e87839",
                        "providerCode": "SKYPICKER",
                        "displayPrice": {
                            "price": 68,
                            "displayPrice": "£68"
                        },
                        "fees": {
                            "basePrice": {
                                "price": 68,
                                "displayPrice": "£68"
                            },
                            "totalPrice": {
                                "price": 68,
                                "displayPrice": "£68"
                            },
                            "carryOnBag": [
                                {
                                    "bagNumber": "first",
                                    "restriction": "included",
                                    "displayPrice": {
                                        "price": 66,
                                        "displayPrice": "£66"
                                    }
                                }
                            ],
                            "checkedBag": [
                                {
                                    "bagNumber": "first",
                                    "restriction": "fee",
                                    "displayPrice": {
                                        "price": 85,
                                        "displayPrice": "£85"
                                    }
                                }
                            ]
                        },
                        "badges": [],
                        "cashbackDetails": {
                            "type": "FLAT",
                            "value": 10,
                            "currency": "GBP"
                        }
                    }
                ]
            }
        ],
        "legs": [
            {
                "id": "BOSLAX1746954000000B614871"
            },
            {
                "id": "LAXBOS1747479600000NK33411747508400000NK11802"
            }
        ]
    },
    "providers": {
        "splitbookingow": {
            "displayName": "split bookings",
            "logoUrls": {
                "imageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/split bookings.png?crop=false&width=108&height=92&fallback=default1.png&_v=prod-d7da125a0b8b0eec91d12a3ba073b11c1d06c8d2",
                "horizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/split bookings.png?crop=false&width=88&height=31&fallback=default1.png&_v=prod-d7da125a0b8b0eec91d12a3ba073b11c1d06c8d2",
                "wideHorizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/split bookings.png?crop=false&width=102&height=18&fallback=default1.png&_v=prod-d7da125a0b8b0eec91d12a3ba073b11c1d06c8d2"
            }
        },
        "B6": {
            "displayName": "JetBlue",
            "logoUrls": {
                "imageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/B6.png?crop=false&width=108&height=92&fallback=default1.png&_v=1d9c582b6d8f9aebe5ff965c9bb916ee",
                "horizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/B6.png?crop=false&width=88&height=31&fallback=default1.png&_v=9f55326a03f81c2db69369a948b14390",
                "wideHorizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/B6.png?crop=false&width=102&height=18&fallback=default1.png&_v=9f55326a03f81c2db69369a948b14390"
            }
        },
        "SKYPICKER": {
            "displayName": "Kiwi.com",
            "logoUrls": {
                "imageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/SKYPICKER.png?crop=false&width=108&height=92&fallback=default3.png&_v=554e7b58a40b798a35cbdf6f30ba584b",
                "horizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/SKYPICKER.png?crop=false&width=88&height=31&fallback=default3.png&_v=0cd3e94b7e8a5f027bff27942a213709",
                "wideHorizontalImageUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/h/SKYPICKER.png?crop=false&width=102&height=18&fallback=default3.png&_v=0cd3e94b7e8a5f027bff27942a213709"
            }
        }
    },
    "legs": {
        "BOSLAX1746954000000B614871": {
            "duration": 380,
            "segments": [
                {
                    "id": "1746954000000B614870555"
                }
            ],
            "arrivalTime": "2025-05-11T13:15:00",
            "departureTime": "2025-05-11T09:55:00"
        },
        "LAXBOS1747479600000NK33411747508400000NK11802": {
            "duration": 489,
            "segments": [
                {
                    "id": "1747479600000NK33410703",
                    "layover": {
                        "duration": 55
                    }
                },
                {
                    "id": "1747508400000NK11801530"
                }
            ],
            "arrivalTime": "2025-05-17T22:12:00",
            "departureTime": "2025-05-17T11:03:00"
        }
    },
    "segments": {
        "1746954000000B614870555": {
            "airline": "B6",
            "flightNumber": "1487",
            "origin": "BOS",
            "destination": "LAX",
            "arrivalTime": "2025-05-11T13:15:00",
            "departureTime": "2025-05-11T09:55:00",
            "equipmentTypeName": "Airbus A318/A319/A320/A321",
            "duration": 380,
            "type": "flight"
        },
        "1747479600000NK33410703": {
            "airline": "NK",
            "flightNumber": "3341",
            "origin": "LAX",
            "destination": "ATL",
            "arrivalTime": "2025-05-17T18:35:00",
            "departureTime": "2025-05-17T11:03:00",
            "equipmentTypeName": "Airbus A320neo",
            "duration": 272,
            "type": "flight"
        },
        "1747508400000NK11801530": {
            "airline": "NK",
            "flightNumber": "1180",
            "origin": "ATL",
            "destination": "BOS",
            "arrivalTime": "2025-05-17T22:12:00",
            "departureTime": "2025-05-17T19:30:00",
            "equipmentTypeName": "Airbus A321 (sharklets)",
            "duration": 162,
            "type": "flight"
        }
    },
    "airports": {
        "LAX": {
            "displayName": "Los Angeles",
            "cityName": "Los Angeles"
        },
        "BOS": {
            "displayName": "Boston Logan Intl",
            "cityName": "Boston"
        },
        "ATL": {
            "displayName": "Atlanta Hartsfield-Jackson",
            "cityName": "Atlanta"
        }
    },
    "airlines": {
        "B6": {
            "logoUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/B6.png?crop=false&width=108&height=92&fallback=default1.png&_v=1d9c582b6d8f9aebe5ff965c9bb916ee",
            "displayName": "JetBlue",
            "airlineFeeUrl": "https://www.jetblue.com/at-the-airport/baggage-information",
            "baggagePolicies": [
                {
                    "bagType": "personal",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 16 x 12 x 7in"
                        }
                    ]
                },
                {
                    "bagType": "carryOn",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 21 x 13 x 8in"
                        }
                    ]
                },
                {
                    "bagType": "checked",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 62in total"
                        }
                    ]
                }
            ]
        },
        "NK": {
            "logoUrl": "https://content.r9cdn.net/rimg/provider-logos/airlines/v/NK.png?crop=false&width=108&height=92&fallback=default1.png&_v=ee25ddeebebbac3394dc29d6b32e4b7b",
            "displayName": "Spirit Airlines",
            "airlineFeeUrl": "https://www.spirit.com/optionalservices.aspx?_ga=2.74795794.1422511387.1563966207-1059725800.1563966207",
            "baggagePolicies": [
                {
                    "bagType": "personal",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 18 x 14 x 8in"
                        }
                    ]
                },
                {
                    "bagType": "carryOn",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 22 x 18 x 10in"
                        }
                    ]
                },
                {
                    "bagType": "checked",
                    "restrictions": [
                        {
                            "code": "dimensions",
                            "description": "Up to 62in total"
                        }
                    ]
                }
            ]
        }
    }
}

Types:

DetailRequest

The request object sent to the flights detail endpoint.

Properties
searchId
Required

Search id for which to retrieve results.

resultId
Required

Result id to retrieve details for.

priceMode
Default: perPerson

The required pricing mode.

currency

Currency to which all prices should be converted. If not provided, default currency for domain is used.

DetailResponse

The response object returned by the detail endpoint.

Properties
status
Required

Status of the search.

currency
Required

Currency to which all prices are converted.

priceMode
Required
Default: perPerson

The required pricing mode.

passengers
Required

Passenger counts for the search.

result
Required

Detail result item.

legs
Required

Map containing FlightLeg objects, with the leg id as keys and FlightLeg object as values.

segments
Required

Map containing FlightSegment objects, with the segment id as keys and FlightSegment object as values.

airlines
Required

Map containing Airline objects, with the airline code as keys and Airline object as values.

airports
Required

Map containing Airport objects, with the airport code as keys and Airport object as values.

providers
Required

Map containing Provider objects, with the provider code as keys and Provider object as values.

ResultItem

Detailed information about flight result.

Properties
id
Required

Unique identifier for the result.

bookingOptions
Required

List of booking options available. Can be empty if no booking options are available after applying filters.

legs
Required

List of legs that make up flight itinerary. Can be empty if no booking options are available after applying filters.

BookingOption

Properties
type
Required
enum: regular | split

Type of booking option. By default only regular booking options are returned. To receive split booking options, use includeSplit=true request parameter.

displayPrice
Required

Display price that is calculated according to priceMode field. If the result includes only scheduling details, the price will be shown as -1 with a special label in the displayPrice field.

segmentFares
Required

Segment fares of the booking option.

fareFamilies
Required

Fare family per trip or each leg if possible.

providerCode
Required

Provider code.

RegularBookingOption

Represent booking option details.

Properties
bookingUrl
Required

Absolute url to book the flight.

badges

Badges for the booking option.

fees

Details of the flight fees.

cashbackDetails

Cashback details for the booking option. Automatically populated when the affiliate supports cashback.

SplitBookingOption

Represent split booking option details.

Properties
splitBookingOptions
Required

List of split booking option parts. Each part has to booked separately.

SplitBookingOptionPart

Represents a split booking option part that has to be booked separately.

Properties
bookingUrl
Required

Absolute url to book the flight.

providerCode
Required

Provider code.

displayPrice
Required

Display price that is calculated according to priceMode field.

badges

Badges for the booking option part.

fees

Flight fees for the booking option part.

cashbackDetails

Cashback details for the booking option part. Automatically populated when the affiliate supports cashback.

CashbackDetails

Cashback configuration details for a booking option.

Properties
type
Required
enum: PERCENTAGE | FLAT

Type of cashback (e.g., percentage, fixed amount).

value
Required

Cashback value (percentage or fixed amount).

cap

Maximum cashback cap, if applicable.

currency
Required

Currency code for the cashback amount and cap.

BookingOptionBadge

Badge information for the booking option.

Properties
code
Required
enum: instantBook | direct | freeCancellation | selfTransferProtection | virtualInterline

Badge code.

displayName
Required

Localised description of the badge.

BookingOptionFees

Details of the flight fees

Properties
basePrice

Base price of the booking option

totalPrice

Total price of the booking option

carryOnBag

Details of the carry-on bags fees

checkedBag

Details of the checked bags fees

nonRefundableDisclosure

Non refundable disclosure message that must be displayed to the user if present.

FlightBagFee

Details of the flight bag fee

Properties
bagNumber
Required
enum: first | second

Bag number.

restriction
Required

Bag fee restriction level.

displayPrice

Display price of the bag fee.

SegmentFare

Segment fare information.

Properties
segmentId
Required

The segment id.

isSelfTransfer

Indicates if the segment is self transfer.

cabin
Required

Cabin details for the segment.

qualityItems

Segment quality items.

SegmentFareCabin

Cabin details for the segment.

Properties
code
Required
enum: economy | premiumEconomy | business | first | mixed

The cabin code of the segment.

displayName
Required

The cabin display name of the segment.

SegmentFareQualityItem

The quality item of the segment.

Properties
code
Required
enum: timer | wifi | wifiPartial | wifiNegative | wifiPartialNegative | entertainment | entertainmentNegative | food | foodNegative | power | powerNegative | seat | seatNegative | redEye

Segment fare quality item code.

displayName
Required

The localised message of the quality item.

FareFamily

Fare family details for leg or the whole trip.

Properties
id
Required

Fare family id.

displayName
Required

Fare family display name.

amenities
Required

Fare family amenities.

legIndices

List of leg indices that the fare family applies to. If not present, the fare family applies to the whole trip with the most restrictive amenities.

FareFamilyAmenity

Details of a amenity for a fare.

Properties
code
Required
enum: carryOnBag | checkedBag | seatSelection | legroom | change | refundable | sameDayChange | standby | internet | unknown

Fare amenity type.

restriction
Required
displayName
Required

Fare amenity localised description.

PollRequest

The request object sent to the flights poll endpoint.

Properties
searchId

Search id for which to retrieve results. Set to null when starting a new search.

searchStartParameters

Optional parameters used to configure a new search. Not required when searchId is provided.

resultParameters

Optional parameters used to configure the results returned by a search.

SearchStartParameters

Properties
cabin
Required

Cabin class for the search.

passengers
Required

Specifies the passenger counts.

legs
Required

Specifies flight legs for the search.

filters

Filters to apply to the search.

SearchStartCabinClassenum

Cabin class.

economy | premiumEconomy | business | first

AmenityRestrictionLevelenum

Fare amenity restriction level.

* unavailable: Amenity is not available.
* fee: Amenity is available for a fee.
* included: Amenity is included in the fare.
* flexible: Amenity is flexible.

unavailable | fee | included | flexible

PassengerTypeenum

Passenger type

  • ADT: Adult - 18-64 age
  • SNR: Senior - 65+ age
  • YTH: Youth - 12-17 age
  • CHD: Child - 2-11 age
  • INS: Infant in seat - under 2 age.
  • INL: Infant in lap - under 2 age.

ADT | SNR | YTH | CHD | INS | INL

LegRequest

Specifies flight leg for the search.

Properties
origin
Required

Origin location for the leg.

destination
Required

Destination location for the leg.

date
Required

ISO date of flight.

flex
Default: exact

Flexibility of the date specified date parameter.

LocationRequest

Properties
locationType
Required
enum: airports | nearbyAirports

Type of location.

AirportsLocationRequest

Properties
airports
Required

List of airport or metro codes.

Example:
[
    "LHR",
    "LGW"
]
[
    "LON"
]

NearbyAirportLocationRequest

Search location for airports close to the given airport.

Properties
airport
Required

Airport code for the search. Nearby airport codes will be included in the search.

Example:
LHR

FlexDatesRequestenum

Flexible dates.

exact | plusone | minusone | plusminusone | plusminustwo | plusminusthree

SearchResultParameters

Properties
currency

Currency to which all prices are converted. Default is resolved by domain.

priceMode
Default: perPerson

The required pricing mode.

pageNumber
Default: 1

Page number to retrieve.

pageSize
Default: 50

Results per page.

sort
Default: {"key":"price","direction":"asc"}

By which criteria results should be sorted.

maxStops

Maximum number of stops to include in results. Use this to filter flights by the number of layovers.

  • 0: Direct flights only (no stops)
  • 1: Direct flights and flights with up to 1 stop
  • 2: All flights (direct, 1 stop, and 2+ stops)

If not specified, all flights are returned regardless of stops.

Example:
0
includeLongFlights

When true, include long-duration and bad-itinerary options in filtered results. When false, apply stricter quality (exclude long / bad-itinerary rows). When omitted, default behavior applies.

PriceModeenum

Defines the basis on which a price is calculated - total or per person.

total | perPerson

SortCriteria

Sort request configuration.

Properties
key
Required

By which criteria results should be sorted.

direction
Required

Sort direction.

SortKeyenum

Sort key.

price | duration | bestValue

SortDirectionenum

Sort direction.

asc | desc

PollResponse

The response object returned by the poll endpoint.

Properties
searchId
Required

Unique identifier for the search that must be used in subsequent poll requests.

cluster
Required

Cluster to which subsequent poll requests must be made.

status
Required

Status of the search.

pageSize

Result list page size.

totalCount
Required

Total results count.

sort
Required
Default: {"key":"price","direction":"asc"}

By which criteria results should be sorted.

currency
Required

Currency to which all prices are converted.

priceMode
Required
Default: perPerson

The required pricing mode.

passengers
Required

Passenger counts for the search.

results
Required

A list of result items.

legs
Required

Map containing FlightLeg objects, with the leg id as keys and FlightLeg object as values.

segments
Required

Map containing FlightSegment objects, with the segment id as keys and FlightSegment object as values.

airlines
Required

Map containing Airline objects, with the airline code as keys and Airline object as values.

airports
Required

Map containing Airport objects, with the airport code as keys and Airport object as values.

providers
Required

Map containing Provider objects, with the provider code as keys and Provider object as values.

ResultItemLeg

Represents the information for a leg found in the exact result.

Properties
id
Required

Leg id

Passengers

Passenger counts for the search.

Properties
adults
Required

Number of adult passengers (18-64 years old).

children
Required

Number of child passengers (2-11 years old).

infants
Required

Number of lap infants (under 2 years old, traveling on an adult's lap).

infantsInSeat
Required

Number of infants in seat (under 2 years old, with their own seat).

seniors
Required

Number of senior passengers (65+ years old).

students
Required

Number of student passengers (over 18 years old).

youth
Required

Number of youth passengers (12-17 years old).

FlightSegment

Represents the flight scheduled segment information.

Properties
airline
Required

Marketing airline code of the segment.

flightNumber
Required

The flight number of the segment.

operationalDisplay

Operating airline or free text disclosure that must be displayed to end user if it's different from marketing airline.

origin
Required

Segment origin airport or station code depending on the segment type.

destination
Required

Segment destination airport or station code depending on the segment type.

arrivalTime
Required

The segment's arrival time is local to the arrival location's timezone and is represented in the ISO 8601 format.

departureTime
Required

The segment's departure time is local to the destination location's timezone and is represented in the ISO 8601 format.

equipmentTypeName

The equipment type of the segment.

Example:
Boeing 787-9 Dreamliner
duration
Required

The duration of the segment in minutes.

isOvernight

Indicates if the segment is overnight.

type
Required
enum: flight | train | bus

The type of the segment.

FlightLeg

Represents scheduled data for a leg found in the results.

Properties
duration
Required

The duration of the leg in minutes.

segments
Required

The segments info constructed out of the parent leg.

arrivalTime
Required

The arrival time of the leg.

departureTime
Required

The departure time of the leg.

FlightLegSegment

Represents the leg segment information for a flight.

Properties
id
Required

The id of the segment.

departureDayMismatch

Indicates if the segment is in another day than previous segment.

layover

The layover information for the leg segment.

FlightSegmentLayover

Represents the layover information for a flight segment.

Properties
duration
Required

The duration of the layover in minutes.

Provider

Represents the flight provider information.

Properties
displayName
Required

The localized display name of the provider.

logoUrls

Logo urls for providers.

ProviderImage

Represents all the absolute logo urls for providers.

Properties
imageUrl
Required

Absolute image url to be used as icon.

horizontalImageUrl

Absolute horizontal Image URL.

wideHorizontalImageUrl

Absolute horizontal Image URL.

Airline

Represents the airline information.

Properties
logoUrl
Required

Absolute logo URL of the airline.

displayName
Required

The name of the airline.

airlineFeeUrl

Absolute url to airline fees.

baggagePolicies

The baggage policies for the Airline.

AirlineBaggagePolicy

Represents the baggage policy information for an airline.

Properties
bagType
Required
enum: carryOn | checked | personal

Baggage type.

restrictions
Required

The baggage policy restriction information for the airline.

AirlineBaggagePolicyRestriction

Represents the baggage policy restriction information for an airline.

Properties
code
Required
enum: weight | dimensions

Baggage restriction type.

description
Required

Baggage restriction value.

SearchStartFilters

Filters to apply to the search start request.

Properties
includeSplit
Default: false

If true, split booking results will be included. Split bookings (a.k.a Hacker Fares) are results that have legs made up of different providers.

Airport

Airport information.

Properties
displayName
Required

The localized display name of the airport.

cityName
Required

The localized city name of the airport.

Price

Properties
price
Required

Price

displayPrice
Required

Localized price display name.

SearchStatusCodeenum

The status field in the response indicates the current phase:

  • first-phase: The search is running and some initial results may be available. Clients should poll to retrieve more results.
  • second-phase: The results from most important providers are ready. Clients should display the results as if they were complete, and keep polling to retrieve more results.
  • complete: The list of results is final. Clients should stop polling.

first-phase | second-phase | complete

CurrencyCode

ISO 4217 code identifier for currency. Currency codes are composed of a country's two-character Internet country code plus a third character denoting the currency unit.

Pattern: [A-Z]{3}

Example:
USD

SearchErrorResponse

Response returned when an error occurs, accompanied with a HTTP error code.

Properties
url
Required

URL of failed request.

errors
Required

List of errors.

Example:
{
    "url": "<<resourcePathName>>",
    "errors": [
        {
            "code": "ANONYMOUS_ACCESS_DENIED",
            "description": "anonymous access to kayak API denied.",
            "localizedDescription": "Anonymous access to kayak API denied."
        }
    ]
}

ErrorEntry

Representation of an error, includes an error code and error description.

Properties
code
Required

Error code. Known error codes include:

  • INTERNAL_ERROR: An internal error has occurred ...
description
Required

Error message for debugging (not localized). This message is NOT intended to be shown to end users.

localizedDescription
Required

Localized error message, for client consumption.

PreSearchErrorResponse

Error responses due to missed requirements (e.g, incorrect domain, missing headers).

Properties
status
Required

Error status code.

errorCode
Required

Error code.

errorMessage
Required

Error description.

Example:
{
    "status": 401,
    "errorCode": "INVALID_API_KEY",
    "errorMessage": "Invalid API key: XXX"
}

The KAYAK Affiliate Network lets you link from any brand you likeEnhance and monetize your travel content with flights, hotels, cars and more!

KAYAK logo
HotelsCombined logo
Momondo logo
Cheapflights logo
Cookie preferences