One-Way Fares

Search for one-way flights between two airports on a specific date.

POST/api/fares/one-way

Request body

ParameterTypeRequiredDescription
originstringYes3-letter IATA airport code for departure (e.g. SFO).
destinationstringYes3-letter IATA airport code for arrival (e.g. JFK).
departure_datestringYesDeparture date in YYYY-MM-DD format.
adultsintegerNoNumber of adult passengers. Default: 1. Max total passengers: 9.
childrenintegerNoNumber of child passengers. Default: 0.
infants_in_seatintegerNoNumber of infants with their own seat. Default: 0.
infants_on_lapintegerNoNumber of lap infants. Cannot exceed number of adults. Default: 0.
cabin_classstringNoOne of "economy", "premium_economy", "business", or "first". Default: "economy". Returned itineraries stay in this requested cabin bucket.
max_stopsintegerNoMaximum number of stops (0, 1, or 2). Omit this field to allow any number of stops.
min_carry_on_bagsintegerNoMinimum carry-on bags included.
min_checked_bagsintegerNoMinimum checked bags included.
max_priceintegerNoStrict maximum price in the market's currency.
departure_time_rangeobjectNoFilter by departure/arrival hour. Fields: earliest_hour, latest_hour, arrival_earliest_hour, arrival_latest_hour (0–23, airport-local time).
airlines_includestring[]NoOnly include flights from these 2-character airline codes. Cannot be used with airlines_exclude.
airlines_excludestring[]NoExclude flights from these 2-character airline codes. Cannot be used with airlines_include.
allow_separate_ticketsbooleanNoAllow itineraries that require separate tickets (self-transfer). Default: true.
marketstringNo2-letter country code for pricing locale (e.g. "US", "GB"). Default: "US".

For departure_time_range, hours are interpreted in local airport time (not UTC): departure fields use the departure airport's local clock, and arrival fields use the arrival airport's local clock.

Example

curl -X POST "https://ignav.com/api/fares/one-way" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"SFO","destination":"JFK","departure_date":"2026-05-12"}'
Response
{
  "origin": "SFO",
  "destination": "JFK",
  "departure_date": "2026-05-12",
  "itineraries": [
    {
      "price": {
        "amount": 299,
        "currency": "USD"
      },
      "outbound": {
        "carrier": "American Airlines",
        "duration_minutes": 330,
        "segments": [
          {
            "marketing_carrier_code": "AA",
            "flight_number": "100",
            "operating_carrier_name": "American Airlines",
            "departure_airport": "SFO",
            "departure_time_local": "2026-05-12T08:00:00",
            "departure_timezone": "America/Los_Angeles",
            "departure_time_utc": "2026-05-12T15:00:00Z",
            "arrival_airport": "JFK",
            "arrival_time_local": "2026-05-12T16:30:00",
            "arrival_timezone": "America/New_York",
            "arrival_time_utc": "2026-05-12T20:30:00Z",
            "duration_minutes": 330,
            "aircraft": "Boeing 777"
          }
        ]
      },
      "cabin_class": "economy",
      "ignav_id": "5e4fcd2f1dc340649eb19f6ee2afb57a"
    }
  ]
}

Family in premium economy

Search for 2 adults and 1 child in premium economy from New York to Paris:

curl -X POST "https://ignav.com/api/fares/one-way" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"JFK","destination":"CDG","departure_date":"2026-05-12","adults":2,"children":1,"cabin_class":"premium_economy"}'

Different market (GBP pricing)

Set market to GB to get prices in British pounds:

curl -X POST "https://ignav.com/api/fares/one-way" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"LHR","destination":"DXB","departure_date":"2026-05-12","market":"GB"}'

Response fields

The response contains origin, destination, departure_date, and an itineraries array. Each itinerary includes:

ParameterTypeRequiredDescription
priceobjectYesPrice with amount (number) and currency (string) fields.
outboundobjectYesOutbound leg object with carrier, duration_minutes, and segments.
cabin_classstringYesRequested cabin bucket for this itinerary.
bagsobjectNoBaggage allowance: carry_on and checked counts.
ignav_idstringYesUnique ID for this itinerary. Use it to fetch booking links.

Leg fields

ParameterTypeRequiredDescription
carrierstringNoAirline display name for this leg when available.
duration_minutesintegerNoElapsed leg travel time in minutes, including layovers when present.
segmentsarrayYesArray of flight segments for this leg (see below).

Segment fields

ParameterTypeRequiredDescription
marketing_carrier_codestring | nullYes2-letter airline code of the marketing carrier.
flight_numberstring | nullYesFlight number.
operating_carrier_namestring | nullYesName of the operating carrier (may differ from marketing carrier).
departure_airportstringYes3-letter IATA departure airport code.
departure_time_localstringYesLocal departure time in YYYY-MM-DDTHH:MM:SS format.
departure_timezonestring | nullYesIANA timezone name for the departure airport.
departure_time_utcstring | nullYesDeparture timestamp converted to UTC (RFC 3339).
arrival_airportstringYes3-letter IATA arrival airport code.
arrival_time_localstringYesLocal arrival time in YYYY-MM-DDTHH:MM:SS format.
arrival_timezonestring | nullYesIANA timezone name for the arrival airport.
arrival_time_utcstring | nullYesArrival timestamp converted to UTC (RFC 3339).
duration_minutesintegerYesDuration of the segment in minutes.
aircraftstring | nullYesAircraft type (e.g. "Boeing 777").

Ready to get started?

Create a free account to get your API key, or try the playground — no signup required.