---
title: "Search Fares"
method: POST
path: "/api/fares/search"
---

# Search Fares

`POST /api/fares/search`

## Request

- Base URL: `https://ignav.com`
- URL: `https://ignav.com/api/fares/search`
- Auth: API key in header `X-Api-Key`

Search one or two ordered flight legs.

## Request body

- FareSearchRequest
  - `legs` SearchLegInput[], required
    - `origin` string, required
    - `destination` string, required
    - `departure_date` string, date, required
    - `max_stops` integer, nullable
    - `departure_time_range` TimeRangeInput
      - `earliest_hour` integer, nullable
      - `latest_hour` integer, nullable
      - `arrival_earliest_hour` integer, nullable
      - `arrival_latest_hour` integer, nullable
  - `adults` integer
  - `children` integer
  - `infants_in_seat` integer
  - `infants_on_lap` integer
  - `cabin_class` 'economy' | 'premium_economy' | 'business' | 'first'
  - `min_carry_on_bags` integer, nullable
  - `min_checked_bags` integer, nullable
  - `max_price` integer, nullable
  - `airlines_include` string[], nullable
  - `airlines_exclude` string[], nullable
  - `allow_self_transfer` boolean
  - `market` string

## Response `200`

Successful Response

- FareSearchModel
  - `legs` SearchLegModel[], required
    - `origin` string, required
    - `destination` string, required
    - `departure_date` string, required
  - `itineraries` SearchItineraryModel[], required
    - `price` PriceModel, required
      - `amount` number, required
      - `currency` string, required
      - `status` 'verified' | 'unverified', required
    - `legs` LegModel[], required
      - `carrier` string, nullable
      - `duration_minutes` integer, nullable
      - `segments` SegmentModel[], required
        - `marketing_carrier_code` string, nullable, required
        - `flight_number` string, nullable, required
        - `operating_carrier_name` string, nullable, required
        - `departure_airport` string, required
        - `departure_time_local` string, required
        - `departure_timezone` string, nullable, required
        - `departure_time_utc` string, nullable, required
        - `arrival_airport` string, required
        - `arrival_time_local` string, required
        - `arrival_timezone` string, nullable, required
        - `arrival_time_utc` string, nullable, required
        - `duration_minutes` integer, required
        - `aircraft` string, nullable, required
    - `cabin_class` string, nullable
    - `bags` BaggageAllowanceModel
      - `carry_on` integer, nullable
      - `checked` integer, nullable
    - `requires_self_transfer` boolean, nullable
    - `ignav_id` string, nullable
  - `observed_at` string, date-time, nullable: UTC time Ignav finished retrieving this search result; null when unknown. Not a guarantee of the current fare.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `402`: Payment Required
- `403`: Forbidden
- `424`: Failed Dependency
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/ignav/apis/ignav-public-api.md) · [All operations](https://skmtc.dev/ignav/apis/ignav-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ignav/apis/ignav-public-api/revisions/1b4cd3e8ca20?raw)
