
Google Flights Scraper
hipersoft/google-flights-scraper
Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.
Total users
4Monthly users
1Total runs
216Per flight scraped
$0.004Last rebuilt
Oct 22, 2026Overview
Scrape flight options from Google Flights in bulk by route and date. Give the scraper an origin, a destination and a departure date, and it returns one clean row per flight option: airline, flight number, departure and arrival times, duration, number of stops, layover airports and price. Works for one-way and round-trip searches, any cabin class and any currency.
Ideal for fare monitoring, travel price alerts, route research, travel-agency tooling, data journalism and building your own flight-deal dashboards.
What it does
- Search any route by airport / metro IATA code (
JFK,LON,SIN) or major city name. - One-way or round-trip (add a return date).
- Choose cabin class: economy, premium economy, business or first.
- Prices in the currency you want (USD, EUR, GBP, SGD, …).
- Structured output ready for Excel, Google Sheets, a database or an API.
Input
| Field | Description |
|---|---|
origin |
Departure airport/city — IATA code (e.g. JFK, LON) or major city name. |
destination |
Arrival airport/city — IATA code or major city name. |
departDate |
Outbound date, YYYY-MM-DD. |
returnDate |
Optional return date for a round-trip; leave empty for one-way. |
adults |
Number of adult passengers (1–9). |
cabinClass |
economy, premium-economy, business or first. |
currency |
3-letter currency code (default USD). |
maxItems |
Maximum flight options to return. |
Example input
{
"origin": "JFK",
"destination": "LON",
"departDate": "2026-10-15",
"adults": 1,
"cabinClass": "economy",
"currency": "USD",
"maxItems": 30
}
Output
Each dataset item is one flight option:
{
"tripType": "one-way",
"airline": "British Airways",
"flightNumber": "BA 178",
"origin": "JFK",
"destination": "LHR",
"departTime": "2026-10-15T07:50",
"arriveTime": "2026-10-15T19:45",
"duration": "6h 55m",
"stops": 0,
"layovers": [],
"price": 295,
"currency": "USD",
"url": "https://www.google.com/travel/flights?tfs=..."
}
| Field | Description |
|---|---|
tripType |
one-way or round-trip. |
airline |
Operating airline(s) for the itinerary. |
flightNumber |
Flight number(s) across all segments. |
origin / destination |
Airport IATA codes. |
departTime / arriveTime |
Local departure / arrival timestamps. |
duration |
Total travel time. |
stops |
Number of stops (0 = nonstop). |
layovers |
Layover airport codes, in order. |
price |
Total price for the itinerary. |
currency |
Price currency. |
url |
Link to the search on Google Flights. |
Common uses
- Price monitoring — schedule the Actor daily and track fares over time for a route.
- Deal alerts — trigger a notification when a route drops below a threshold.
- Route research — compare airlines, stops and durations across a corridor.
- Travel tooling — feed structured fares into your own app or spreadsheet.
Integrations & n8n
Results are stored in a standard Apify dataset, so you can export them to JSON, CSV, Excel or the API, push them to Google Sheets, or wire them into automations.
- n8n: use the Apify node (or an HTTP Request node against the Apify API) to run this Actor and pull the dataset into your workflow — for example, run a daily fare check and post the cheapest option to Slack or email.
- Make / Zapier: trigger runs and read results the same way.
- API: start a run and fetch
dataset/itemsprogrammatically.
FAQ
Can I monitor a route over time? Yes. Schedule the Actor to run on a cron and each run appends the current fares to a dataset you can chart.
Do city names work?
Major city names are accepted, but a 3-letter IATA airport or metro code (e.g. JFK, LON, SIN) gives the most reliable results.
One-way or round-trip?
Both. Add a returnDate for round-trip; omit it for one-way.
How am I charged? Per flight option returned (pay-per-result). You only pay for the flights you actually get.
Does it work with n8n? Yes — see the Integrations section above.
Original clean-room implementation. Not affiliated with, endorsed by, or sponsored by Google. "Google Flights" is a trademark of Google LLC; this Actor is an independent tool that collects publicly available flight information.
Input
| Field | Type | Description |
|---|---|---|
origin requiredOrigin | string | Departure airport or city. Use a 3-letter IATA airport or metro code (e.g. "JFK", "LON", "NYC") for the most reliable results; major city names (e.g. "New York", "London") are also accepted. |
destination requiredDestination | string | Arrival airport or city. Use a 3-letter IATA airport or metro code (e.g. "LHR", "LON") for the most reliable results; major city names are also accepted. |
departDate requiredDeparture date | string | Outbound date in YYYY-MM-DD format (e.g. 2026-10-15). |
returnDateReturn date (optional) | string | Return date in YYYY-MM-DD format for a round-trip search. Leave empty for a one-way search. |
adultsAdults | integer | Number of adult passengers (1-9). Affects the fares Google returns. Default: 1 |
cabinClassCabin class | string · economy, premium-economy, business, first | Cabin to search: economy, premium-economy, business or first. Default: "economy" |
currencyCurrency | string | 3-letter currency code for prices (e.g. USD, EUR, GBP, SGD). Default: "USD" |
maxItemsMax flight options | integer | Maximum number of flight options to return for the route. Default: 50 |
proxyConfigurationProxy | object | Proxy configuration. Leave the default — it is tuned for reliable results. Default: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~google-flights-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"origin": "JFK",
"destination": "LON",
"departDate": "2026-10-15"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/google-flights-scraper").call(run_input={
"origin": "JFK",
"destination": "LON",
"departDate": "2026-10-15"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/google-flights-scraper').call({
"origin": "JFK",
"destination": "LON",
"departDate": "2026-10-15"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Flight Scraped Charged per item scraped. | $0.004 | $0.002 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Carousell Scraper
Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.
242 runs · 2 users · $0.003 / listing scrapedPinterest Scraper
Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.
151 runs · 2 users · $0.0034 / item scrapedGoogle Trends Scraper
Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.
139 runs · 6 users · $0.001 / keyword scrapedAliExpress Product Search Scraper
Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.
135 runs · 3 users · $0.003 / product scrapedGoogle Maps Scraper
Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.
130 runs · 2 users · $0.005 / place scrapedApp Store Reviews Scraper
Scrape user reviews and star ratings from the Apple App Store by app ID or URL. Returns review text, title, rating, author, app version, votes, date and review link across any country. No setup.
124 runs · 6 users · $0.0005 / review scrapedSend the site and the fields. We build it and you get it first.