farepy.core#

Search orchestration – the main entry point for flight searches.

Functions

search_flights(leg, departure_date, *[, ...])

Search for flights across selected sources.

farepy.core.search_flights(leg, departure_date, *, return_date=None, sources=None, currency='EUR', adults=1, non_stop=None, max_results=50, outbound_departure_after=None, outbound_departure_before=None, outbound_arrival_after=None, outbound_arrival_before=None, inbound_departure_after=None, inbound_departure_before=None, inbound_arrival_after=None, inbound_arrival_before=None, use_cache=True, cache_dir=None, cache_ttl_hours=24)[source]#

Search for flights across selected sources.

Parameters:
  • leg (str) – IATA pair like “MRS-REK”

  • departure_date (str) – YYYY-MM-DD

  • return_date (str | None) – YYYY-MM-DD or None for one-way

  • sources (list[str] | None) – List of source names (e.g. [“google_flights”, “ryanair”]). None means all available.

  • currency (str) – ISO 4217 currency code

  • adults (int) – Number of adult travelers

  • non_stop (bool | None) – If True, direct flights only

  • max_results (int) – Max results per source

  • outbound_departure_after (str | None) – HH:MM filter

  • outbound_departure_before (str | None) – HH:MM filter

  • outbound_arrival_after (str | None) – HH:MM filter

  • outbound_arrival_before (str | None) – HH:MM filter

  • inbound_departure_after (str | None) – HH:MM filter

  • inbound_departure_before (str | None) – HH:MM filter

  • inbound_arrival_after (str | None) – HH:MM filter

  • inbound_arrival_before (str | None) – HH:MM filter

  • use_cache (bool) – Whether to use cached results

  • cache_dir (str | None) – Override default cache directory

  • cache_ttl_hours (float) – Cache time-to-live in hours

Return type:

dict

Returns:

SearchResult as a dict.