Flight Listings API
The Flight Listings API allows travellers on your website to search Expedia flight inventory by date, origin, destination, and other parameters to return a listing of available flights. Travellers will then be able to deeplink from your website to the Expedia website to complete their travel booking.
How to make a Flight Listings API call
Request Url
curl https://apim.expedia.com/flights/listings
Required Headers
- Accept: application/vnd.exp-flight.v3+json
- Key: Expedia API key
- Authorization: More info on Authorization String Creation
- Partner-Transaction-Id: Partner TransactionID String
Optional Headers
- Accept-Encoding: gzip
Request Parameters
Minimum request parameters
- Search Type - You can make different kinds of flights listings as follows:
- One way search request: Only one segment is requested
- Round trip search request: Two segments requested
- Multi destination search request: Three to six segments requested
- Traveler info - indicate the number of Travelers.
- origin & destination - indicate from where the traveler depart and arrive
- departureDate - indicate date on which customer wants to depart
Parameter | Sample | Description |
---|---|---|
adult | 1 | Number of Adult Travelers. |
senior | 1 | Number of Senior (age > 65) Travelers |
segment<no>.origin | LAS/LasVegas | 3-letter IATA Airport code/Location name from where the passenger is departing. |
segment<no>.destination | LAX/Los Angeles | 3-letter IATA Airport code/Location name from where the passenger is arriving. |
segment<no>.departureDate | 2025-10-01 | Date, in ISO format [YYYY-MM-DD], on which customer wants to depart. |
Example of Search Request
Request flight offers with all flight segments listed in a single API response.
The number of segment#.origin
, segment#.destination
, and segment#.departureDate
elements indicate the type of flights requested (one way, roundtrip, or multi-destination).
One Way Search
curl https://apim.expedia.com/flights/listings?segment1.origin=LAS&segment1.destination=FLL&segment1.departureDate=2025-09-01&adult=1&senior=1&childrenAges=2,3 \
-H 'Accept: application/vnd.exp-flight.v3+json' \
-H 'Partner-Transaction-Id: ••••••' \
-H 'Key: ••••••' \
-H 'Authorization: ••••••'
Round Trip Search
curl https://apim.expedia.com/flights/listings?segment1.origin=EWR&segment1.destination=LAX&segment1.departureDate=2022-09-01&segment2.origin=LAX&segment2.destination=EWR&segment2.departureDate=2022-09-05&adult=1 \
-H 'Accept: application/vnd.exp-flight.v3+json' \
-H 'Partner-Transaction-Id: ••••••' \
-H 'Key: ••••••' \
-H 'Authorization: ••••••'
Multiple destination Search
curl https://apim.expedia.com/flights/listings?segment1.origin=LAS&segment1.destination=ATL&segment1.departureDate=2022-09-01&segment2.origin=ATL&segment2.destination=ORD&segment2.departureDate=2022-09-05&segment3.origin=ORD&segment3.destination=SEA&segment3.departureDate=2022-09-10&segment4.origin=SEA&segment4.destination=LAS&segment4.departureDate=2022-09-15&adult=1 \
-H 'Accept: application/vnd.exp-flight.v3+json' \
-H 'Partner-Transaction-Id: ••••••' \
-H 'Key: ••••••' \
-H 'Authorization: ••••••'
Search for a family trip
curl https://apim.expedia.com/flights/listings?segment1.origin=LAS&segment1.destination=FLL&segment1.departureDate=2025-09-01&adult=1&senior=1&childrenAges=2,3&infantInLap=1&infantInSeat=1 \
-H 'Accept: application/vnd.exp-hotel.v3+json' \
-H 'Partner-Transaction-Id: ••••••' \
-H 'Key: ••••••' \
-H 'Authorization: ••••••'
Filter Parameters
We recommend using filters to only retrieve the data you need for better latency and smaller payloads
Parameter | Sample | Description |
---|---|---|
cabinClass | economy | The desired cabin classes that the user would like to see offers for. Options can be:economy/first/business/premiumeconomy |
numberOfStops | 1 | Filter for the number of stops the user would like to see offers for. A value of 0 returns only non-stop flights in the search response, and a value of 1 returns offers with both 0 and 1 number of stops This filter parameter works only for values 0 and 1. Any value greater than 1 will be ignored and all the results will be returned by the API irrespective of numberOfStops requested. |
sortType | Price | Sort the search results according to one selected category. Options can be: Price/Duration |
limit | 100 | The maximum number of Flight offers returned in the response. Must be an integer value greater than 0. |
selectedCarriers | AS,AA | Adding comma-separated list of IATA or Expedia airline codes will provide preference to these requested carriers whenever available in the search results content. This however does not guarantee that only the selectedCarriers will come back in the search response. In case if the selected carriers are unavailable or have insufficient offer counts, other carrier offers gets backfilled. A maximum of 6 carriers can be requested. See 'Related Links' section for a full list of Expedia Airline Codes. |
refundable | true | Refundable solutions will be returned if and only if we pass refundable as true in the request.(refundable=true). |
filterNearByAirport | true | Filters nearby airports ensuring only results from the requests airport code are returned. This request param is valid only for AirportCode-based searches. |
Response
A successful response returns the following data:
{
"Segments": [{
"SegmentId": "MTRfUHVibGlzaGVk",
....
"Legs": [{
...
}]
},
{
"SegmentId": "MTQwX1B1Ymxpc2hlZA==",
...
"Legs": [{
...
}]
}
],
"Offers": [{
"OfferId": "v5-sos-42b700553889490c9e966329ac528b67-3-1~0.S~AQoCCAESBwjUBBABGAEgASAMIAcgDSAJKAJYAQ~AQoiCiAIzpYBEgM5NTQYi5ABIOVaKLSouwEwxqq7AThSQABYARIKCAEQARgBKgJOSxgEIgQIARABIgQIAhACIgQIAxABKAIoAygEMAI+AQoiCiAIzpYBEgM5NTQYi5ABIOVaKLSouwEwxqq7AThSQABYARIKCAEQARgBKgJOSxgEIgQIARABIgQIAhACIgQIAxABKAIoAygEMAI",
...
"Links": {
"WebDetails": {
"Method": "GET",
"Href": "https://www.expedia.com/go/udp?CCheck=1&NumAdult=1&NumSenior=1&NumChild=2&ChildrenAges=2|3&Class=3&Sort=10&TripType=OneWay&ProductType=air&eapid=0-1&ServiceVersion=V5&MessageGuid=80f50380-34fa-11e9-9415-0a6b914daa30&langid=1033&piid=v5-sos-42b700553889490c9e966329ac528b67-3-1~0.S~AQoCCAESBwjUBBABGAEgASAMIAcgDSAJKAJYAQ~AQoiCiAIzpYBEgM5NTQYi5ABIOVaKLSouwEwxqq7AThSQABYARIKCAEQARgBKgJOSxgEIgQIARABIgQIAhACIgQIAxABKAIoAygEMAI&Price=545.16&CurrencyCode=USD¤cy=USD&DepartureTLA=L1:LAS&ArrivalTLA=L1:FLL&DepartureDate=L1:2022-09-01&ArrivalDate=L1:2022-09-02&RefundableFlightsOnly=N"
}
},
"SegmentIds": [
"MTRfUHVibGlzaGVk"
],
"OfferPrice": {
...
},
...
},
{
"OfferId": "v5-sos-42b700553889490c9e966329ac528b67-39-1~0.S~AQoCCAESBwjUBBABGAEgASAMIAcgDSAJKAJYAQ~AQoiCiAIzpYBEgM0NzAYi5ABIOVaKLijuwEwv6a7AThSQABYARIKCAEQARgBKgJOSxgEIgQIARABIgQIAhACIgQIAxABKAIoAygEMAI+AQoiCiAIzpYBEgM0NzAYi5ABIOVaKLijuwEwv6a7AThSQABYARIKCAEQARgBKgJOSxgEIgQIARABIgQIAhACIgQIAxABKAIoAygEMAI",
...
"Links": {
"WebDetails": {
"Method": "GET",
"Href": "https://www.expedia.com/go/udp?CCheck=1&NumAdult=1&NumSenior=1&NumChild=2&ChildrenAges=2|3&Class=3&Sort=10&TripType=OneWay&ProductType=air&eapid=0-1&ServiceVersion=V5&MessageGuid=80f50380-34fa-11e9-9415-0a6b914daa30&langid=1033&piid=v5-sos-42b700553889490c9e966329ac528b67-39-1~0.S~AQoCCAESBwjUBBABGAEgASAMIAcgDSAJKAJYAQ~AQoiCiAIzpYBEgM0NzAYi5ABIOVaKLijuwEwv6a7AThSQABYARIKCAEQARgBKgJOSxgEIgQIARABIgQIAhACIgQIAxABKAIoAygEMAI&Price=561.96&CurrencyCode=USD¤cy=USD&DepartureTLA=L1:LAS&ArrivalTLA=L1:FLL&DepartureDate=L1:2022-09-01&ArrivalDate=L1:2022-09-01&RefundableFlightsOnly=N"
}
},
"SegmentIds": [
"MTQwX1B1Ymxpc2hlZA=="
],
"OfferPrice": {
...
},
...
}
],
"SearchCities": [
...
],
"ValidFormsOfPayment": {
...
},
"TransactionId": "80f50380-34fa-11e9-9415-0a6b914daa30"
}
Error Response
{
"Errors": [
{
"Code": "INVALID_DEPARTURE_DATE",
"Description": "Departure date is missing or invalid in segment 1"
}
],
"TransactionId": "7d806ae9-1466-4e4b-9ed8-4102c830db03"
}
Full list of possible error codes and error details:
Understanding how handle errors: Error Handling.
Next Steps
- Here, you can explore the endpoint definitions for this API, then go to the API Explorer to try out all the XAP endpoints, download OpenAPI specs, or download Postman collections. Testing with one or all of these options will give you an understanding of how the examples and schema definitions compare to the actual output. Go to the API Explorer to find out more.
- Deeplink customers to the Expedia website where they can book selected hotel. You will also be able to earn commission on any bookings that your customers make using our XAP API solution.