CLI tool to search Google Flights - prices, times, and airlines
Project description
✈️ flight-search
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
Updating
# check current version
flight-search --version
# update with uv
uv tool upgrade flight-search
# or with pip
pip install --upgrade flight-search
# or with pipx
pipx upgrade flight-search
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:
- Try again - Sometimes transient
- Use from a different network - Some networks/regions have issues
- 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
- GitHub
- PyPI
- ClawHub Skill
- fast-flights (underlying library)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flight_search-0.1.4.tar.gz.
File metadata
- Download URL: flight_search-0.1.4.tar.gz
- Upload date:
- Size: 879.1 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c7b1869f294611a3b76d38e3e1bde390fb1ec035c9b1c1054b8fe080d171c04
|
|
| MD5 |
0db2bd62933eb6d39cc78efe0b11ed83
|
|
| BLAKE2b-256 |
73e3987cc89fb335d5607195a27576d05087da41f75ba01e0f284ff72e62b85e
|
File details
Details for the file flight_search-0.1.4-py3-none-any.whl.
File metadata
- Download URL: flight_search-0.1.4-py3-none-any.whl
- Upload date:
- Size: 7.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf7daf8a8e9e53e281a4bba6a88530bc7a21c369e1685069be74fc6d5c3e25d4
|
|
| MD5 |
b2917b3c96292740240062d08e3ab8c2
|
|
| BLAKE2b-256 |
84b4c952f908187c9815055da9c8eb26e5f7b7a7dc07d83aa13fdd50888b5d07
|