Booking Links

Get direct booking URLs for a specific flight. There are two ways to request booking links.

POST/api/fares/booking-links

Option 1: Using ignav_id

The easiest way. Every itinerary from a fare search includes an ignav_id. Pass it to get booking links for that exact itinerary.

ParameterTypeRequiredDescription
ignav_idstringYesThe ignav_id from a previous fare search.
curl -X POST "https://ignav.com/api/fares/booking-links" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ignav_id":"5e4fcd2f1dc340649eb19f6ee2afb57a"}'

Option 2: Manual flight details

If you don't have an ignav_id, you can specify the flight details manually. For exact itinerary matches, prefer ignav_id.

Passenger mix uses the same fields as fare search: adults, children, infants_in_seat, and infants_on_lap.

ParameterTypeRequiredDescription
originstringYes3-letter IATA departure airport code.
destinationstringYes3-letter IATA arrival airport code.
departure_datestringYesDeparture date in YYYY-MM-DD format.
outbound_carrier_codestringYes2-character airline code for the outbound flight.
outbound_flight_numberstringYesFlight number for the outbound flight.
return_datestringNoReturn date in YYYY-MM-DD format.
inbound_carrier_codestringNo2-character airline code for the return flight. Required when return_date is set.
inbound_flight_numberstringNoFlight number for the return flight. Required when return_date is set.
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 adults. Default: 0.
marketstringNo2-letter country code. Default: "US".
curl -X POST "https://ignav.com/api/fares/booking-links" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"SFO","destination":"JFK","departure_date":"2026-05-12","outbound_carrier_code":"AA","outbound_flight_number":"100"}'

Round-trip booking with return flight

Include return_date, inbound_carrier_code, and inbound_flight_number for round-trip bookings:

curl -X POST "https://ignav.com/api/fares/booking-links" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"LAX","destination":"NRT","departure_date":"2026-05-12","outbound_carrier_code":"NH","outbound_flight_number":"5","return_date":"2026-05-26","inbound_carrier_code":"NH","inbound_flight_number":"6","adults":2}'

Response

Response
{
  "itinerary": {
    "price": {
      "amount": 488,
      "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"
  },
  "booking_options": [
    {
      "legs": [
        "outbound"
      ],
      "links": [
        {
          "provider_name": "American Airlines",
          "provider_type": "airline",
          "fare_name": "Main Cabin",
          "price": {
            "amount": 488,
            "currency": "USD"
          },
          "url": "aa.com/booking/..."
        },
        {
          "provider_name": "Expedia",
          "provider_type": "third_party",
          "price": {
            "amount": 502,
            "currency": "USD"
          },
          "url": "expedia.com/flights/..."
        }
      ]
    }
  ]
}

The booking_options array contains one or more purchase options. Each option has a legs array and a links array. Each link includes a provider_name, provider_type, may include fare_name and per-offer price, and ends with a url.

One-way results usually return a single option with legs: ["outbound"]. Round trips return either one option with both legs, or separate outbound and inbound options when only leg-level booking is available.

Ready to get started?

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