One-Way Fares
Search for one-way flights between two airports on a specific date.
POST/api/fares/one-way
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| origin | string | Yes | 3-letter IATA airport code for departure (e.g. SFO). |
| destination | string | Yes | 3-letter IATA airport code for arrival (e.g. JFK). |
| departure_date | string | Yes | Departure date in YYYY-MM-DD format. |
| adults | integer | No | Number of adult passengers. Default: 1. Max total passengers: 9. |
| children | integer | No | Number of child passengers. Default: 0. |
| infants_in_seat | integer | No | Number of infants with their own seat. Default: 0. |
| infants_on_lap | integer | No | Number of lap infants. Cannot exceed number of adults. Default: 0. |
| cabin_class | string | No | One of "economy", "premium_economy", "business", or "first". Default: "economy". Returned itineraries stay in this requested cabin bucket. |
| max_stops | integer | No | Maximum number of stops (0, 1, or 2). Omit this field to allow any number of stops. |
| min_carry_on_bags | integer | No | Minimum carry-on bags included. |
| min_checked_bags | integer | No | Minimum checked bags included. |
| max_price | integer | No | Strict maximum price in the market's currency. |
| departure_time_range | object | No | Filter by departure/arrival hour. Fields: earliest_hour, latest_hour, arrival_earliest_hour, arrival_latest_hour (0–23, airport-local time). |
| airlines_include | string[] | No | Only include flights from these 2-character airline codes. Cannot be used with airlines_exclude. |
| airlines_exclude | string[] | No | Exclude flights from these 2-character airline codes. Cannot be used with airlines_include. |
| allow_separate_tickets | boolean | No | Allow itineraries that require separate tickets (self-transfer). Default: true. |
| market | string | No | 2-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:
| Parameter | Type | Required | Description |
|---|---|---|---|
| price | object | Yes | Price with amount (number) and currency (string) fields. |
| outbound | object | Yes | Outbound leg object with carrier, duration_minutes, and segments. |
| cabin_class | string | Yes | Requested cabin bucket for this itinerary. |
| bags | object | No | Baggage allowance: carry_on and checked counts. |
| ignav_id | string | Yes | Unique ID for this itinerary. Use it to fetch booking links. |
Leg fields
| Parameter | Type | Required | Description |
|---|---|---|---|
| carrier | string | No | Airline display name for this leg when available. |
| duration_minutes | integer | No | Elapsed leg travel time in minutes, including layovers when present. |
| segments | array | Yes | Array of flight segments for this leg (see below). |
Segment fields
| Parameter | Type | Required | Description |
|---|---|---|---|
| marketing_carrier_code | string | null | Yes | 2-letter airline code of the marketing carrier. |
| flight_number | string | null | Yes | Flight number. |
| operating_carrier_name | string | null | Yes | Name of the operating carrier (may differ from marketing carrier). |
| departure_airport | string | Yes | 3-letter IATA departure airport code. |
| departure_time_local | string | Yes | Local departure time in YYYY-MM-DDTHH:MM:SS format. |
| departure_timezone | string | null | Yes | IANA timezone name for the departure airport. |
| departure_time_utc | string | null | Yes | Departure timestamp converted to UTC (RFC 3339). |
| arrival_airport | string | Yes | 3-letter IATA arrival airport code. |
| arrival_time_local | string | Yes | Local arrival time in YYYY-MM-DDTHH:MM:SS format. |
| arrival_timezone | string | null | Yes | IANA timezone name for the arrival airport. |
| arrival_time_utc | string | null | Yes | Arrival timestamp converted to UTC (RFC 3339). |
| duration_minutes | integer | Yes | Duration of the segment in minutes. |
| aircraft | string | null | Yes | Aircraft type (e.g. "Boeing 777"). |
Related docs
Ready to get started?
Create a free account to get your API key, or try the playground — no signup required.