Skip to main content

CLI tool to search Google Flights - prices, times, and airlines

Project description

flight-search banner

✈️ flight-search

PyPI Python License

CLI tool to search Google Flights. Get prices, times, and airlines from the command line.

$ flight-search DEN LAX --date 2025-03-01

✈️  DEN  LAX
   One way · 2025-03-01
   Prices are currently: typical

──────────────────────────────────────────────────
   Frontier  BEST
   🕐 10:43 PM  12:30 AM +1
   ⏱️  2 hr 47 min
    Nonstop
   💰 $84

──────────────────────────────────────────────────
   United  BEST
   🕐 5:33 PM  7:13 PM
   ⏱️  2 hr 40 min
    Nonstop
   💰 $139

Built on top of fast-flights - no API key required.

Installation

# one-liner
curl -fsSL https://raw.githubusercontent.com/Olafs-World/flight-search/main/install.sh | bash

# using uv (recommended)
uv tool install flight-search

# or pip
pip install flight-search

# or run directly without installing
uvx flight-search DEN LAX --date 2025-03-01

Usage

# One-way flight
flight-search DEN LAX --date 2025-03-01

# Round trip
flight-search JFK LHR --date 2025-06-15 --return 2025-06-22

# Multiple passengers, business class
flight-search SFO NRT --date 2025-04-01 --class business --adults 2

# JSON output for scripts
flight-search ORD CDG --date 2025-05-01 --output json

Options

positional arguments:
  origin                Origin airport code (e.g., DEN, LAX, JFK)
  destination           Destination airport code

options:
  --date, -d            Departure date (YYYY-MM-DD) [required]
  --return, -r          Return date for round trips (YYYY-MM-DD)
  --adults, -a          Number of adults (default: 1)
  --children, -c        Number of children (default: 0)
  --class, -C           Seat class: economy, premium-economy, business, first
  --limit, -l           Max results (default: 10)
  --output, -o          Output format: text or json (default: text)

JSON Output

flight-search DEN LAX --date 2025-03-01 --output json
{
  "origin": "DEN",
  "destination": "LAX",
  "date": "2025-03-01",
  "return_date": null,
  "current_price": "typical",
  "flights": [
    {
      "airline": "Frontier",
      "departure_time": "10:43 PM",
      "arrival_time": "12:30 AM",
      "duration": "2 hr 47 min",
      "stops": 0,
      "price": 84,
      "is_best": true
    }
  ]
}

Troubleshooting

"401 no token provided" error

This can happen when the underlying library's fallback request method fails. Workarounds:

  1. Try again - Sometimes transient
  2. Use from a different network - Some networks/regions have issues
  3. Install Playwright for local browser mode:
    pip install playwright
    playwright install chromium
    

The library scrapes Google Flights directly. It doesn't require an API key, but Google's anti-bot measures can sometimes block requests.

Python API

from flight_search import search_flights

result = search_flights(
    origin="DEN",
    destination="LAX", 
    date="2025-03-01",
    adults=2,
    seat_class="economy",
)

for flight in result.flights:
    print(f"{flight.airline}: ${flight.price}")

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flight_search-0.1.3.tar.gz (878.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flight_search-0.1.3-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file flight_search-0.1.3.tar.gz.

File metadata

  • Download URL: flight_search-0.1.3.tar.gz
  • Upload date:
  • Size: 878.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for flight_search-0.1.3.tar.gz
Algorithm Hash digest
SHA256 776e11da5764675eff4190774132743b2f5bc82db835aa1577bab2d737455761
MD5 78df3741b3a66cc502d7414a7c5509cc
BLAKE2b-256 ef76214a66f75aa4360573159b4841bc77da641bbaf9af6730f202331354e826

See more details on using hashes here.

File details

Details for the file flight_search-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: flight_search-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for flight_search-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d78b0360efc3f6250b173a9c8c6dffd629ef6ee2e9430dcd2c21b6e048d25724
MD5 2e6a0422d85e01202a5b9654eb006541
BLAKE2b-256 b0a6c63570d4f9a497e501e1e63137f2f83bcdc205e92d28d83eb01af07af595

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page