Flight Search

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.

post/flights/rates

Request

  • Base URL
    https://api.liteapi.travel/v3.0
  • URL
    https://api.liteapi.travel/v3.0/flights/rates
  • Auth
    API key in header X-API-Key

Request body

adultsinteger required

Number of adults (12+)

childreninteger

Number of children (2-11)

infantsinteger

Number of infants (<2)

childrenAgesinteger[]

Age of each child (2–11 inclusive, per IATA). Length must equal children count. Optional — omit if ages are not relevant.

infantAgesinteger[]

Age of each infant (under 2, per IATA). Length must equal infants count. Optional — omit if ages are not relevant.

cabinClass'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST'

Cabin class (provider SearchFilters codes only). Same enum as filters.cabinClass.

currencystring required

ISO 4217 currency code

countrystring

Optional ISO 3166-1 alpha-2 country code for point of sale

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.