Flight Search Filters

Every fare search accepts optional filters that narrow results before they reach your code. Combine as many as you need.

For flexible search, max_stops and departure_time_range belong on each leg. Shared filters such as passengers, cabin, airlines, bags, price, market, and mixed-carrier filters stay at the top level and apply to the complete trip.

Departure time

Use departure_time_range to restrict departures to a window. Hours are 0–23 in the departure airport's local time. Both bounds include the full selected hour: latest_hour: 12 includes departures through 12:59.

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-12-01","departure_time_range":{"earliest_hour":6,"latest_hour":11}}'

Arrival time

The same object also supports arrival_earliest_hour and arrival_latest_hour to filter by when the flight lands, using the arrival airport's local time. Both bounds include the full selected hour, just like departure bounds.

curl -X POST "https://ignav.com/api/fares/one-way" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"LAX","destination":"LHR","departure_date":"2026-12-01","departure_time_range":{"arrival_earliest_hour":6,"arrival_latest_hour":12}}'

Include specific airlines

Pass airlines_include with an array of 2-character airline codes to only see flights from those carriers.

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":"LHR","departure_date":"2026-12-01","airlines_include":["BA","AA"]}'

Exclude airlines

Or use airlines_exclude to remove specific carriers from results. You can combine it with airlines_include, but a code cannot appear in both arrays.

curl -X POST "https://ignav.com/api/fares/one-way" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"LAX","destination":"CDG","departure_date":"2026-12-01","airlines_exclude":["NK","FR"]}'

Baggage requirements

Use carry_on_bags and checked_bags to compare prices with bag fees in calendar and exact searches. Each count is the total for the party, up to one of each bag type per traveler with a seat. For two adults, carry_on_bags: 2 and checked_bags: 1 requests two carry-ons and one shared checked bag. Zero, null or omitted means no preference.

curl -X POST "https://ignav.com/api/fares/one-way" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"DEN","destination":"LAS","departure_date":"2026-12-01","adults":2,"carry_on_bags":2,"checked_bags":1}'

With a positive count, exact results and booking links include baggage_pricing with both requested counts (zero for an unspecified type) and a status:

  • estimated: the price includes estimated fees for the requested bags.
  • reported_included: the selected offer reports the requested bag types included.
  • unknown: baggage pricing is unavailable for this quote.

Unknown results stay in the response and may have extra bag fees; check the seller's baggage details before booking. Pass the ignav_id to booking-links to carry the request forward. Its response includes the quote and its baggage status; an airline-direct link can retain the search quote without refreshing it.

Maximum price

Use max_price to cap results at a price threshold in the market's currency. Results above the value, or priced in another currency, are excluded. This limit applies to the returned quote.

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":"MIA","departure_date":"2026-12-01","max_stops":0,"max_price":200}'

Mixed carriers

Set allow_mixed_carriers to false to exclude connections with multiple reported marketing carriers within one direction or leg. Different airlines on separate legs are allowed. Missing carrier codes are ignored. The response field has_mixed_carriers reports the same signal. These fields do not describe separate tickets or connection protection.

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":"FCO","departure_date":"2026-12-01","allow_mixed_carriers":false}'

Infants

Use infants_on_lap for lap infants (cannot exceed the number of adults) or infants_in_seat for infants with their own seat. Total passengers cannot exceed 9.

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":"JFK","departure_date":"2026-12-01","adults":2,"infants_on_lap":1}'

Combining filters

You can combine filters. Here's an afternoon business-class round-trip on select carriers, capped at $3,000 with at most one stop:

curl -X POST "https://ignav.com/api/fares/round-trip" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"SFO","destination":"LHR","departure_date":"2026-12-01","return_date":"2026-12-08","adults":2,"cabin_class":"business","max_stops":1,"max_price":3000,"departure_time_range":{"earliest_hour":14,"latest_hour":22},"airlines_include":["BA","VS","AA"]}'

Ready to get started?

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