Google Flights Scraper
Pricing
from $2.99 / 1,000 results
Google Flights Scraper
Google Flights scraper that collects itineraries, prices, airlines, durations, layovers, and carbon emissions for any route and date, so you can monitor fares, compare options, and build travel price trackers.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
ZeroBreak
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Pulls flight itineraries from Google Flights into a structured dataset. Useful for price monitoring, travel research, route analysis, and building fare comparison tools.
What it does
Search any route by airport IATA codes and date. Returns best flights and other available flights with full details: price, airlines, departure and arrival times, duration, layovers, cabin class, legroom, carbon emissions, and price insights.
Example use cases
- Monitor flight prices for a route over time
- Find the cheapest or fastest options for a trip
- Compare nonstop vs. connecting flight prices
- Research carbon emissions by route
- Build a travel price tracker or fare alert tool
Input
| Field | Description | Default |
|---|---|---|
departureId | Origin IATA code (e.g., "JFK", "LHR", "IST"). Comma-separate for multi-airport (e.g., "JFK,LGA,EWR") | required |
arrivalId | Destination IATA code. Multi-airport supported | required |
outboundDate | Departure date in YYYY-MM-DD format | required |
returnDate | Return date (YYYY-MM-DD). Required for round trips | — |
tripType | 1=Round trip, 2=One way | 2 |
adults | Adult passengers (1–9) | 1 |
children | Child passengers (0–9) | 0 |
travelClass | 1=Economy, 2=Premium economy, 3=Business, 4=First | 1 |
stops | 0=Any, 1=Nonstop, 2=Max 1 stop, 3=Max 2 stops | 0 |
sortBy | 1=Top, 2=Price, 3=Departure, 4=Arrival, 5=Duration, 6=Emissions | 1 |
includeAirlines | Show only these airlines (comma-separated IATA, e.g., "DL,AA") | — |
excludeAirlines | Hide these airlines (comma-separated IATA, e.g., "F9,NK") | — |
currency | Price currency code (e.g., "USD", "EUR", "GBP", "TRY") | USD |
language | Language code (e.g., "en", "de", "tr") | en |
country | Country code (e.g., "us", "gb") | us |
maxItems | Max itineraries to return | 20 |
requestTimeoutSecs | Per-request timeout | 30 |
Example input — one way
{"departureId": "JFK","arrivalId": "LAX","outboundDate": "2025-09-15","tripType": 2,"adults": 1,"travelClass": 1,"stops": 1,"sortBy": 2,"currency": "USD","maxItems": 30}
Example input — round trip
{"departureId": "LHR","arrivalId": "JFK","outboundDate": "2025-10-01","returnDate": "2025-10-10","tripType": 1,"adults": 2,"travelClass": 3,"currency": "GBP","maxItems": 20}
Output
Each itinerary is one dataset record:
| Field | Description |
|---|---|
rank | Position in results (1-based) |
isBestFlight | True if Google marked it as a best flight |
flightType | "One way" or "Round trip" |
price | Total price (numeric) |
currency | Currency code |
totalDurationMins | Total journey time in minutes |
stopCount | Number of layovers |
airlines | List of airlines operating the flight |
airlineLogo | Primary airline logo URL |
bookingToken | Google booking token |
departureToken | Token for fetching return leg separately |
legs | Array of flight leg objects (see below) |
layovers | Array of layover objects |
carbonEmissionsGrams | CO2 for this flight (grams) |
carbonEmissionsTypicalGrams | Typical CO2 for this route (grams) |
carbonEmissionsDiffPercent | % difference vs. typical |
lowestPrice | Lowest price seen for this route |
priceLevel | "low", "typical", or "high" |
typicalPriceRangeMin / typicalPriceRangeMax | Typical price range |
searchRoute | Route string (e.g., "JFK -> LAX") |
outboundDate | Searched outbound date |
returnDate | Searched return date (null if one way) |
scrapedAt | ISO 8601 timestamp |
Leg object fields
| Field | Description |
|---|---|
departureAirportCode | IATA code |
departureAirportName | Full airport name |
departureTime | Datetime string (YYYY-MM-DD HH:MM) |
arrivalAirportCode | IATA code |
arrivalAirportName | Full airport name |
arrivalTime | Datetime string |
durationMins | Leg duration in minutes |
airline | Airline name |
airlineLogo | Airline logo URL |
flightNumber | Flight number (e.g., "DL 123") |
airplane | Aircraft type (e.g., "Boeing 737") |
travelClass | Cabin class string |
legroom | Legroom info (e.g., "31 in") |
isOvernight | True if flight crosses midnight |
extensions | Feature badges (e.g., "Wi-Fi", "In-seat power") |
Layover object fields
| Field | Description |
|---|---|
airportCode | IATA code |
airportName | Airport name |
durationMins | Layover duration in minutes |
Example output
{"rank": 1,"isBestFlight": true,"flightType": "One way","price": 149,"currency": "USD","totalDurationMins": 356,"stopCount": 0,"airlines": ["Delta"],"airlineLogo": "https://www.gstatic.com/flights/airline_logos/...","legs": [{"departureAirportCode": "JFK","departureAirportName": "John F. Kennedy International Airport","departureTime": "2025-09-15 08:00","arrivalAirportCode": "LAX","arrivalAirportName": "Los Angeles International Airport","arrivalTime": "2025-09-15 11:56","durationMins": 356,"airline": "Delta","flightNumber": "DL 487","airplane": "Boeing 757","travelClass": "Economy","legroom": "31 in","isOvernight": false,"extensions": ["Wi-Fi for a fee", "In-seat power outlet"]}],"layovers": [],"carbonEmissionsGrams": 126000,"carbonEmissionsTypicalGrams": 126000,"carbonEmissionsDiffPercent": 0,"lowestPrice": 149,"priceLevel": "low","typicalPriceRangeMin": 180,"typicalPriceRangeMax": 320,"searchRoute": "JFK -> LAX","outboundDate": "2025-09-15","returnDate": null,"scrapedAt": "2025-06-01T14:32:00+00:00"}
Notes
- Results include both "best flights" (
isBestFlight: true) and other available flights stopCountis derived from the number of layover entriescarbonEmissionsDiffPercentis positive if this flight emits more than typical, negative if less- Multi-city searches (
type: 3) are not supported by the upstream API - Prices fluctuate — run repeatedly to track fare changes over time
- Use comma-separated IATA codes in
departureId/arrivalIdfor multi-airport searches (e.g.,"JFK,LGA,EWR")