Skip to main content
Search flights between a known origin and destination using cached pricing. Use this tool whenever the user specifies BOTH where they are flying FROM and where they are flying TO. WHEN TO USE THIS TOOL (CRITICAL):
  • The user provides both an origin AND a destination (city or airport)
  • Examples: “Paris to Barcelona”, “JFK to CDG”, “London to NYC for a weekend”
  • Supports loose / flexible dates: single dates, date arrays, date ranges, stay_days
  • ALSO the right tool for “cheapest flight”, “best flight”, “find me a flight”, “cheapest date” phrasings — returns the cheapest cached itineraries.
WHEN TO USE find_destination INSTEAD:
  • The user does NOT specify a destination: “Where should I go from Paris?”, “Best deals from NYC”
  • The user wants inspiration: “Beach destinations from London”, “Cheap flights from SF”
WHEN TO USE flight_search INSTEAD:
  • The user has committed to EXACT dates — single departure date AND single return date on one specific route.
  • Example: “Paris → NYC, June 17 → June 26”
  • flight_search hits live pricing (each call has a cost) and is the step immediately before booking. Use only once route + both dates are locked.
IMPORTANT: All dates in query parameters (departure_dates, departure_date_ranges, return_dates, return_date_ranges) MUST be in the future. Never use past dates. Please fill as much as possible search parameters based on user intent to get best results. Origin and destination must be IATA city code by default except if the user specifies IATA Airport code in the search. ROUTE SEARCH:
  • Use exact 3-letter IATA airport codes or IATA city code for both origin and destination
  • Date ranges OR stay duration for flexible trip planning
  • Natural trip duration (stay_days) instead of exact return dates
  • By default, please search roundtrip flights unless user specifies one-way. Use trip_type=“oneway” ONLY when the user explicitly asks for a one-way trip
USE CASES: ✓ “Find flights from JFK to CDG next month” - Specific route with date range ✓ “Fly from Los Angeles to Tokyo for a week in December” - Uses departure_date + stay_days ✓ “Paris to Barcelona for a weekend in April” - Specific route ✓ “Cheapest flight from ORD to LHR under $600” - Specific route with budget ✓ “Direct flight in business class from New York to London” - Specific route with preferences Flow: flight_calendar → flight_search (price-check) → trip → book

Parameters

NameTypeRequiredDescription
originstringYesOrigin airport IATA code or city code (3 letters). Examples: “JFK”, “PAR”.
destinationstringYesDestination airport IATA code or city code (3 letters). Examples: “CDG”, “NRT”.
trip_typeenum ("oneway" | "roundtrip")YesTrip type: “oneway” or “roundtrip”.
departure_datesarray<string>NoSpecific departure dates (YYYY-MM-DD). Multiple dates searched with OR logic.
departure_date_rangesarray<object>NoDeparture date ranges for flexible search.
return_datesarray<unknown>NoSpecific return dates (YYYY-MM-DD) for round-trip flights.
return_date_rangesarray<unknown>NoReturn date ranges for flexible round-trip search.
stay_daysintegerNoExact stay duration in days. Auto-calculates return date.
stay_days_rangeobjectNoFlexible stay duration range. Example: {min: 5, max: 10}
stay_days_range.minintegerYesMinimum stay duration in days
stay_days_range.maxintegerYesMaximum stay duration in days
direct_onlybooleanNoOnly return nonstop flights.
cabin_classenum ("economy" | "premium_economy" | "business" | "first")NoCabin class filter.
max_pricenumberNoMaximum price per person.
sort_byenum ("lowest" | "recommendation")NoSort order. Default: “lowest” (cheapest first).
currencystringNoISO 4217 currency code. Defaults to “USD”.
localestringNoBCP 47 locale. Defaults to “en-US”.
formatenum ("text" | "json")NoResponse format. “text” returns plain text for LLMs. “json” returns structured JSON.