Round-Trip Flight Search API

Search outbound and return fares between airports or metro areas in one request. The response includes both legs, the total itinerary price, baggage details, and an ignav_id for fetching booking links.

POST/api/fares/round-trip

Request body

Accepts all one-way parameters, plus:

ParameterTypeRequiredDescription
return_datestringYesReturn date in YYYY-MM-DD format. Must be on or after departure_date.
return_time_rangeobjectNoFilter return flights by departure/arrival hour. Same format as departure_time_range and uses local time for the return leg's airports.

return_time_range follows the same local-time rule as outbound filters: departure fields use the return leg departure airport's local time, and arrival fields use the return leg arrival airport's local time.

Example

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-10-08","return_date":"2026-10-15"}'
Response
{
  "origin": "SFO",
  "destination": "LHR",
  "departure_date": "2026-10-08",
  "return_date": "2026-10-15",
  "itineraries": [
    {
      "price": {
        "amount": 899,
        "currency": "USD",
        "status": "verified"
      },
      "outbound": {
        "carrier": "British Airways",
        "duration_minutes": 625,
        "segments": [
          {
            "marketing_carrier_code": "BA",
            "flight_number": "286",
            "operating_carrier_name": "British Airways",
            "departure_airport": "SFO",
            "departure_time_local": "2026-10-08T17:30:00",
            "departure_timezone": "America/Los_Angeles",
            "departure_time_utc": "2026-10-09T00:30:00Z",
            "arrival_airport": "LHR",
            "arrival_time_local": "2026-10-09T11:55:00",
            "arrival_timezone": "Europe/London",
            "arrival_time_utc": "2026-10-09T10:55:00Z",
            "duration_minutes": 625,
            "aircraft": "Airbus A380"
          }
        ]
      },
      "inbound": {
        "carrier": "British Airways",
        "duration_minutes": 660,
        "segments": [
          {
            "marketing_carrier_code": "BA",
            "flight_number": "287",
            "operating_carrier_name": "British Airways",
            "departure_airport": "LHR",
            "departure_time_local": "2026-10-15T10:00:00",
            "departure_timezone": "Europe/London",
            "departure_time_utc": "2026-10-15T09:00:00Z",
            "arrival_airport": "SFO",
            "arrival_time_local": "2026-10-15T13:00:00",
            "arrival_timezone": "America/Los_Angeles",
            "arrival_time_utc": "2026-10-15T20:00:00Z",
            "duration_minutes": 660,
            "aircraft": "Airbus A380"
          }
        ]
      },
      "cabin_class": "economy",
      "requires_self_transfer": false,
      "ignav_id": "a1b2c3d4e5f6789012345678abcdef01"
    }
  ]
}

Nonstop weekend trip

Combine max_stops with a short date range for a weekend getaway search:

curl -X POST "https://ignav.com/api/fares/round-trip" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"JFK","destination":"MIA","departure_date":"2026-09-25","return_date":"2026-09-27","adults":2,"max_stops":0}'

Response fields

The response is the same as one-way. Round-trip itineraries add an inbound leg object with the same structure as outbound.

ParameterTypeRequiredDescription
inboundobjectNoInbound leg object with carrier, duration_minutes, and segments.

Ready to get started?

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