Skip to main content
POST
/
api
/
v1
/
flights
/
search
Search flights (synchronous, filter-based)
curl --request POST \
  --url https://mcp-bff.gojinko.com/api/v1/flights/search \
  --header 'Content-Type: application/json' \
  --data '
{
  "allow_live_shop": true,
  "currency": "<string>",
  "filters": {
    "cabin_class": "economy",
    "dates": {
      "departure_date_ranges": [
        {
          "end": "<string>",
          "start": "<string>"
        }
      ],
      "departure_dates": [
        "<string>"
      ],
      "return_date_ranges": [
        {
          "end": "<string>",
          "start": "<string>"
        }
      ],
      "return_dates": [
        "<string>"
      ],
      "stay_days": 123,
      "stay_days_range": {
        "max": 123,
        "min": 123
      }
    },
    "direct_only": true,
    "locations": {
      "destination_type": "<string>",
      "destinations": [
        "<string>"
      ],
      "origin_type": "<string>",
      "origins": [
        "<string>"
      ]
    },
    "trip_type": "oneway"
  },
  "limit": 123,
  "locale": "<string>",
  "offset": 123,
  "passengers": {
    "adt": 123,
    "ages": [
      123
    ],
    "chd": 123,
    "inf_lap": 123,
    "inf_seat": 123,
    "residency_country": "<string>",
    "student": 123,
    "youth": 123
  },
  "price_constraints": {
    "max_total": 123
  },
  "sort": "lowest"
}
'
{
  "destination": {
    "city_main_image": "<string>",
    "city_name": "<string>",
    "iata_code": "<string>",
    "location": {
      "latitude": 123,
      "longitude": 123
    }
  },
  "facets": {
    "airlines": {},
    "cabins": {},
    "destinations": {},
    "emissions": {
      "avg": 123,
      "max": 123,
      "min": 123
    },
    "origins": {},
    "prices": [
      {
        "count": 123,
        "from": 123,
        "label": "<string>",
        "to": 123
      }
    ],
    "stops": {}
  },
  "itineraries": [
    {
      "cabin_type": "economy",
      "conversion_rate": 123,
      "deep_link": "<string>",
      "destination_city_code": "<string>",
      "destination_city_image": "<string>",
      "destination_city_location": {
        "latitude": 123,
        "longitude": 123
      },
      "destination_city_name": "<string>",
      "fare_brand": "<string>",
      "id": "<string>",
      "jinko_advice": {
        "description": "<string>",
        "label": "Lowest",
        "quantiles": {
          "max_fare": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "min_fare": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "percentile_25": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "percentile_50": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "percentile_75": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          }
        },
        "title": "<string>"
      },
      "origin_city_code": "<string>",
      "origin_city_location": {
        "latitude": 123,
        "longitude": 123
      },
      "origin_city_name": "<string>",
      "origin_total_amount": {
        "currency": "<string>",
        "decimal_places": 2,
        "value": 123
      },
      "score": 123,
      "search_timestamp": "<string>",
      "slices": [
        {
          "cabin": "economy",
          "destination": "<string>",
          "destination_airport_name": "<string>",
          "destination_city_name": "<string>",
          "duration_minutes": 123,
          "marketing_carrier_info": {
            "code": "<string>",
            "is_lcc": true,
            "logo": "<string>",
            "name": "<string>"
          },
          "origin": "<string>",
          "origin_airport_name": "<string>",
          "origin_city_name": "<string>",
          "segments": [
            {
              "aircraft": "<string>",
              "arrive": {
                "airport": "<string>",
                "city_code": "<string>",
                "city_name": "<string>",
                "terminal": "<string>",
                "time_local": "<string>"
              },
              "depart": {
                "airport": "<string>",
                "city_code": "<string>",
                "city_name": "<string>",
                "terminal": "<string>",
                "time_local": "<string>"
              },
              "duration_minutes": 123,
              "flight_number": "<string>",
              "layover_minutes_after": 123,
              "marketing_carrier": "<string>",
              "marketing_carrier_info": {
                "code": "<string>",
                "is_lcc": true,
                "logo": "<string>",
                "name": "<string>"
              },
              "operating_carrier": "<string>",
              "operating_carrier_info": {
                "code": "<string>",
                "is_lcc": true,
                "logo": "<string>",
                "name": "<string>"
              }
            }
          ]
        }
      ],
      "total_amount": {
        "currency": "<string>",
        "decimal_places": 2,
        "value": 123
      }
    }
  ],
  "live_offers": [
    {
      "deep_link": "<string>",
      "destination_city_code": "<string>",
      "destination_city_image": "<string>",
      "destination_city_location": {
        "latitude": 123,
        "longitude": 123
      },
      "destination_city_name": "<string>",
      "extra_baggage_options": [
        {
          "description": "<string>",
          "id": "<string>",
          "is_included": true,
          "journey_id": "<string>",
          "pieces": 123,
          "price_per_bag": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "segment_id": "<string>",
          "total_price": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "weight": 123,
          "weight_unit": "<string>"
        }
      ],
      "extra_carry_on_options": [
        {
          "description": "<string>",
          "id": "<string>",
          "is_included": true,
          "journey_id": "<string>",
          "pieces": 123,
          "price_per_bag": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "segment_id": "<string>",
          "total_price": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "weight": 123,
          "weight_unit": "<string>"
        }
      ],
      "fares": [
        {
          "booking_fees": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "brand_name": "<string>",
          "cabin_class": "<string>",
          "cancellation_fee": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "carry_on_baggage": {
            "description": "<string>",
            "dimensions": "<string>",
            "pieces": 123,
            "weight": 123,
            "weight_unit": "<string>"
          },
          "change_fee": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "change_policy": "<string>",
          "fare_basis_code": "<string>",
          "fare_brand_code": "<string>",
          "fare_descriptions": [
            "<string>"
          ],
          "fare_rules": [
            {
              "channels": [
                "<string>"
              ],
              "charge_model": [
                "<string>"
              ],
              "direction": "<string>",
              "max_minutes_after_departure": 123,
              "max_minutes_before_departure": 123,
              "min_minutes_before_departure": 123,
              "penalty": "<string>",
              "penalty_fee": {
                "currency": "<string>",
                "decimal_places": 2,
                "value": 123
              },
              "rule_type": "<string>"
            }
          ],
          "fare_rules_summary": [
            "<string>"
          ],
          "included_baggage": {
            "description": "<string>",
            "dimensions": "<string>",
            "pieces": 123,
            "weight": 123,
            "weight_unit": "<string>"
          },
          "is_changeable": true,
          "is_name_changeable": true,
          "is_refundable": true,
          "price_per_passenger": [
            {
              "base_fare": {
                "currency": "<string>",
                "decimal_places": 2,
                "value": 123
              },
              "passenger_type": "<string>",
              "quantity": 123,
              "taxes": {
                "currency": "<string>",
                "decimal_places": 2,
                "value": 123
              },
              "total_per_person": {
                "currency": "<string>",
                "decimal_places": 2,
                "value": 123
              }
            }
          ],
          "price_per_person": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "priority_boarding": true,
          "provider_metadata": "<string>",
          "rbd": "<string>",
          "refund_policy": "<string>",
          "seat_selection_included": true,
          "total_price": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "trip_item_token": "<string>"
        }
      ],
      "inbound_flight": {
        "airline": "<string>",
        "airline_logo": "<string>",
        "airline_name": "<string>",
        "arrival_datetime": "<string>",
        "departure_datetime": "<string>",
        "destination": "<string>",
        "destination_airport_name": "<string>",
        "destination_name": "<string>",
        "duration_minutes": 123,
        "origin": "<string>",
        "origin_airport_name": "<string>",
        "origin_name": "<string>",
        "segments": [
          {
            "aircraft": "<string>",
            "airline": "<string>",
            "airline_logo": "<string>",
            "airline_name": "<string>",
            "arrival_airport": "<string>",
            "arrival_city": "<string>",
            "arrival_city_name": "<string>",
            "arrival_terminal": "<string>",
            "arrival_time": "<string>",
            "arrival_time_local": "<string>",
            "departure_airport": "<string>",
            "departure_city": "<string>",
            "departure_city_name": "<string>",
            "departure_terminal": "<string>",
            "departure_time": "<string>",
            "departure_time_local": "<string>",
            "duration_minutes": 123,
            "flight_number": "<string>",
            "layover_minutes": 123,
            "operating_carrier": "<string>",
            "operating_carrier_info": {
              "code": "<string>",
              "is_lcc": true,
              "logo": "<string>",
              "name": "<string>"
            }
          }
        ],
        "stop_infos": [
          {
            "airport_code": "<string>",
            "duration_minutes": 123
          }
        ],
        "stops": 123
      },
      "is_round_trip": true,
      "jinko_advice": {
        "description": "<string>",
        "label": "Lowest",
        "quantiles": {
          "max_fare": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "min_fare": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "percentile_25": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "percentile_50": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          },
          "percentile_75": {
            "currency": "<string>",
            "decimal_places": 2,
            "value": 123
          }
        },
        "title": "<string>"
      },
      "offer_id": "<string>",
      "offer_token": "<string>",
      "origin_city_code": "<string>",
      "origin_city_location": {
        "latitude": 123,
        "longitude": 123
      },
      "origin_city_name": "<string>",
      "outbound_flight": {
        "airline": "<string>",
        "airline_logo": "<string>",
        "airline_name": "<string>",
        "arrival_datetime": "<string>",
        "departure_datetime": "<string>",
        "destination": "<string>",
        "destination_airport_name": "<string>",
        "destination_name": "<string>",
        "duration_minutes": 123,
        "origin": "<string>",
        "origin_airport_name": "<string>",
        "origin_name": "<string>",
        "segments": [
          {
            "aircraft": "<string>",
            "airline": "<string>",
            "airline_logo": "<string>",
            "airline_name": "<string>",
            "arrival_airport": "<string>",
            "arrival_city": "<string>",
            "arrival_city_name": "<string>",
            "arrival_terminal": "<string>",
            "arrival_time": "<string>",
            "arrival_time_local": "<string>",
            "departure_airport": "<string>",
            "departure_city": "<string>",
            "departure_city_name": "<string>",
            "departure_terminal": "<string>",
            "departure_time": "<string>",
            "departure_time_local": "<string>",
            "duration_minutes": 123,
            "flight_number": "<string>",
            "layover_minutes": 123,
            "operating_carrier": "<string>",
            "operating_carrier_info": {
              "code": "<string>",
              "is_lcc": true,
              "logo": "<string>",
              "name": "<string>"
            }
          }
        ],
        "stop_infos": [
          {
            "airport_code": "<string>",
            "duration_minutes": 123
          }
        ],
        "stops": 123
      },
      "owner": "<string>",
      "passenger_count": 123,
      "passengers": {
        "adt": 5,
        "chd": 4,
        "inf": 2
      },
      "provider": "<string>",
      "provider_name": "<string>",
      "response_id": "<string>",
      "seat_maps": [
        {
          "aircraft_type": "<string>",
          "rows": [
            {
              "row_number": 123,
              "seats": [
                {
                  "availability": "<string>",
                  "column": "<string>",
                  "features": [
                    "<string>"
                  ],
                  "price": {
                    "currency": "<string>",
                    "decimal_places": 2,
                    "value": 123
                  },
                  "seat_number": "<string>"
                }
              ]
            }
          ],
          "segment_id": "<string>"
        }
      ],
      "total_duration_minutes": 123,
      "validating_carrier": "<string>",
      "validating_carrier_info": {
        "code": "<string>",
        "is_lcc": true,
        "logo": "<string>",
        "name": "<string>"
      }
    }
  ],
  "live_shop_status": "ok",
  "pagination": {
    "next_page_token": "<string>"
  }
}

Body

application/json

Flight search request

allow_live_shop
boolean

AllowLiveShop enables live shopping in parallel with cached search. Default false — only opted-in consumers (e.g. MCP FindFlight) set this to true.

currency
string

Currency code for pricing (e.g., "USD", "EUR", "GBP")

filters
object

Search filters (required)

limit
integer

Limit - maximum number of results to return (default: 20, max: 100)

locale
string

Locale code for results (e.g., "en", "fr", "de", "es", "zh", "ja", "ko")

offset
integer

Offset - number of results to skip for pagination (default: 0)

passengers
object

Passengers (required for pricing)

price_constraints
object

Price constraints

sort
enum<string>

Sort criteria: "lowest" (default) or "recommendation"

Available options:
lowest,
recommendation

Response

OK

destination
object

Destination information (populated from first itinerary)

facets
object
itineraries
object[]
live_offers
object[]
live_shop_status
enum<string>
Available options:
ok,
rate_limited,
failed,
not_eligible
pagination
object