Search for flights (legs-based itinerary)
Overview
Search for available flights with real-time pricing from multiple providers. The itinerary must be sent as a non-empty legs array. Each leg follows the provider SearchLeg shape: required origin, destination, and date (YYYY-MM-DD); optional direction (OUTBOUND or INBOUND); optional per-leg filters that override global filters for that leg only.
Not supported: top-level origin, destination, departureDate, or returnDate — use legs only.
When to Use
- Listings — live prices for search results UI
- One-way, round-trip, or multi-city — one leg per segment, in order
- Filtering — cabin class, stops, price, refundability, times (globally or per leg)
- Streaming — incremental provider results over SSE
What You Get
- Offers from multiple providers
- Itineraries with segments, layovers, and durations
- Price breakdown (fares, taxes, fees) and baggage hints
Key Features
- Multi-provider aggregation in one request
- SSE: send header Accept: text/event-stream on POST /flights/rates, or POST /flights/rates/stream with the same JSON body
- Global filters, sort
Quick Start
Required: legs (at least one object with origin, destination, date), adults (≥ 1), currency
Date limit: each leg date must not be more than 11 months from today.
Round-trip: two legs (e.g. outbound then return with direction OUTBOUND / INBOUND). One-way: one leg.
Request
- Base URLhttps://api.liteapi.travel/v3.0
- URLhttps://api.liteapi.travel/v3.0/flights/rates
- AuthAPI key in header X-API-Key
Request body
Example request
{
"legs": [
{
"origin": "JFK",
"destination": "CDG",
"date": "2026-07-01",
"direction": "OUTBOUND",
"filters": {
"departureTimeAfter": "06:00",
"departureTimeBefore": "14:00",
"arrivalTimeAfter": "08:00",
"arrivalTimeBefore": "22:00",
"excludeConnectionAirports": [
"IST",
"DOH"
],
"excludeOvernight": false,
"flightNumbers": [
"DE2017",
"DE4265"
],
"flightNumbersMatch": "any",
"maxDuration": 600,
"maxStops": 1
}
},
{
"origin": "CDG",
"destination": "JFK",
"date": "2026-08-02",
"direction": "INBOUND",
"filters": {
"maxStops": 1,
"excludeOvernight": true
}
}
],
"adults": 1,
"childrenAges": [
5,
11
],
"infantAges": [
1
],
"cabinClass": "ECONOMY",
"currency": "USD",
"country": "US",
"margin": {
"rateSearch": 10,
"seats": 5,
"bags": 5
},
"filters": {
"departureTimeBefore": "14:00",
"arrivalTimeBefore": "18:00",
"excludeConnectionAirports": [
"IST",
"DOH"
],
"excludeOvernight": false,
"flightNumbers": [
"DE2017",
"DE4265"
],
"flightNumbersMatch": "any",
"maxDuration": 600,
"maxStops": 1,
"maxPrice": 1500,
"minPrice": 200,
"includesCarryOnBag": false,
"includesCheckedBag": false,
"changeableOnly": false,
"refundableOnly": false,
"preBookingSeatsAllowed": false,
"showCheapestOfferOnly": false,
"cabinClass": "BUSINESS",
"cabinClassMatch": "at_least",
"legDurations": [
{
"direction": "OUTBOUND",
"maxMinutes": 600
},
{
"direction": "INBOUND",
"maxMinutes": 720
}
]
},
"sort": {
"sortBy": "price",
"sortOrder": "asc"
}
}Response
Successful response
Changes
No recorded changes to this operation across all 1 revision of this API.