fast-flights
The fast, robust, strongly-typed Google Flights scraper (API) implemented in Python.
What it is and what it does
fast-flights is a Python scraper that queries Google Flights by reverse-engineering the Base64-encoded Protobuf format Google uses internally for flight search parameters. Rather than using browser automation, it constructs and decodes Protobuf messages directly, making it significantly faster for programmatic flight lookups. The package provides a strongly-typed API to specify departure/arrival airports, dates, seat class, trip type, and passenger counts, then returns structured flight results.
The library ships with optional integrations for BrightData (IP rotation) and SearchApi (richer data). It requires three runtime dependencies: primp, protobuf, and selectolax. The package is actively maintained with no known security vulnerabilities and supports current Python versions.
Use it for:
- Build a travel recommendation chatbot that queries live flight availability and pricing without browser overhead.
- Aggregate flight prices across multiple date/route combinations for price-monitoring or deal-finding applications.
- Integrate flight search into a booking or trip-planning platform where speed and structured data matter.
- Scrape flight data for research or analysis, using BrightData integration to avoid IP blocking.
- Compare fares across seat classes and trip types programmatically for a travel comparison tool.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Scrapes flight data from Google Flights by decoding Base64-encoded Protobuf requests, returning structured flight information without browser automation.
Yes. The package solves a real problem (fast, programmatic Google Flights access) with low install friction, active maintenance, no security issues, and permissive licensing. The main caveat is that scraping Google Flights carries legal and operational risk—Google may block or change the underlying Protobuf format without notice, and terms of service compliance is the user's responsibility. If you accept that risk and need fast flight data lookup, this is a solid choice.
Install
fast-flights on PyPI
pip
pip install fast-flightsuv
uv add fast-flightspoetry
poetry add fast-flightsInstalling fast-flights
Before you install
Low friction installation with a pure-Python wheel. Actively maintained with recent commits and no known vulnerabilities. Requires Python 3.10 or later.
License in practice
Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install fast-flights
from fast_flights import FlightQuery, Passengers, create_query, get_flights
query = create_query(
flights=[FlightQuery(date="YYYY-MM-DD", from_airport="MYJ", to_airport="TPE")],
seat="economy",
trip="one-way",
passengers=Passengers(adults=1)
)
res = get_flights(query)
Requires Python 3.10 or later.
Verify before relying
- Whether Google's terms of service permit this scraping approach or if blocking is likely.
- Stability of the Protobuf schema as Google Flights evolves its internal API.
- Whether the SearchApi integration requires a paid account or API key.
- Performance characteristics under high-volume or concurrent query scenarios.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — primp, protobuf, selectolax |
| Maintenance | actively maintained — 58 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 159,314/month — #10,699 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fast_flights-3.0.2-py3-none-any.whl
Keywords: flights, google, google-flights, scraper, protobuf, travel, trip, passengers, airport
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
flightsProgrammatic access to Google Flights search…
permissive · top 15,000 on PyPI
FlightRadarAPIUnofficial Python SDK for querying…
permissive · top 15,000 on PyPI
fr24fr24 retrieves real-time and historical flight…
permissive · top 15,000 on PyPI
airportsdataProvides a static database of airport location,…
permissive · top 5,000 on PyPI
TikTokApiUnofficial Python wrapper for retrieving public…
permissive · top 15,000 on PyPI
flyteidl2Provides Python protobuf message definitions…
permissive · top 15,000 on PyPI
proto-plusProto Plus wraps protocol buffers to provide…
permissive · top 1,000 on PyPI
pure-protobufEncodes and decodes Protocol Buffer messages…
permissive · top 15,000 on PyPI
envoy_data_planeProvides Python dataclasses for the Envoy…
permissive · top 5,000 on PyPI
googlenewsdecoderDecodes Google News redirect URLs to their…
permissive · top 15,000 on PyPI