Google Flights Explore Scraper
Pricing
from $1.05 / 1,000 destination-listeds
Google Flights Explore Scraper
Find everywhere you can fly from one airport and what each destination costs. Just add an origin and a date, and get the city, country, fare, airline, journey time and stops for every destination Google sells, sorted cheapest first.
Pricing
from $1.05 / 1,000 destination-listeds
Rating
0.0
(0)
Developer
BonCross API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What is Google Flights Explore Scraper?
Where can you fly from here, and what does each place cost? Google Flights Explore Scraper takes one airport and a date and returns the destinations on Google's Explore map for it, cheapest first: about 50 from a large hub, each with its fare, airline, journey time, stops and coordinates.
Where it earns its keep:
- One airport in, a priced map out. London Heathrow on one date returned 47 to 48 destinations in 2 to 3 seconds.
- You can shape the map. Pick a theme (beaches, skiing, museums, history, the outdoors), a region such as Japan, a travel month and trip length, a list of countries, or a rectangle. A rectangle over Iberia turned a list that included Dublin and Cork into Bilbao, Seville, Madrid, Barcelona, Faro and Toulouse.
- It's ready to plot. City, country, airport code, fare, airline, stops, journey time, coordinates, dates and photo were filled on every row in measured runs.
- Many airports at once. 40 origins returned 1,960 to 2,000 destinations in 20 to 30 seconds.
- $1.50 per 1,000 destinations on the Free plan and $1.05 on Business. That's the full price, proxy usage and platform usage included.
BonCross Verified means we tested this actor against the live site before release and kept the record:
- 25 of 25 live checks on its inputs and filters passed on 8 October 2026
- 5 origins run on 7 October 2026, Dublin, Nagoya, Perth, Bogotá and Tromsø: 125 destinations, none empty
- Charges matched the rows: 1 start, 125 destinations
What people build with it:
- A "where can I go this weekend" page from a set of home airports
- A finder for the cheapest country to reach from your city on a given date
- A map of destinations and fares, plotted from the coordinates
- A comparison of how much further your money goes from a nearby airport
- A travel inspiration feed with live prices in place of static lists
- Research into which destinations an airport connects to, and how directly
How to scrape Google Flights destinations
- Create a free Apify account.
- Open Google Flights Explore Scraper and enter your origin airport and roughly when you want to travel.
- Narrow it if you like: a maximum price, a stop limit, a theme or a list of countries.
- Click Start. A single airport takes 2 to 3 seconds.
- Download the destinations as a spreadsheet (Excel or CSV), or as JSON, XML or HTML.
You don't write any code for this. It's a form with one required airport.
What data comes with each destination?
| 🏙 Destination city | 🌍 Destination country |
| 🛬 Destination airport code | 💷 Fare for that destination |
| ✈️ Airline flying it | Number of stops |
| ⏱ Journey time in minutes | Layover length |
| 📍 Latitude and longitude | 📅 The outbound and return dates Google priced |
| 🖼 Destination photo | Distance from the origin, where Google gives it |
| 🔗 Link to that route on Google Flights | Google place id |
| 🛫 Origin airport | Currency |
How much does it cost?
| Event | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
actor-start, per run | $0.001 | $0.001 | $0.001 | $0.001 |
destination-listed, per destination returned | $0.0015 | $0.00135 | $0.0012 | $0.00105 |
origin-checked, per origin with no destination for your date | $0.0005 | $0.0005 | $0.0005 | $0.0005 |
Enterprise plans pay the Business price.
It works out at $1.50 per 1,000 destinations on the Free plan and $1.05 on Business, with proxy usage and platform usage included.
Each destination you get is one destination-listed. origin-checked is charged only for an origin that returns no destination for your date, because none was offered or because your filters removed them all. An error isn't charged.
- One origin returning 49 destinations: $0.001 + 49 × $0.0015 = $0.0745 ($0.0525 on Business).
- An origin with nothing for your date: $0.001 + $0.0005 = $0.0015, whatever your plan.
On Apify's Free plan you get $5 of credits a month, enough for about 67 airports mapped at 49 destinations each, roughly 3,300 destinations.
⬇️ Input
Give it an origin and a date. A city code such as LON covers the airports in that city, and several codes separated by commas search them together. You can type a place name such as "Heathrow" and it's resolved to airports for you. "More origins" searches further origins separately.
Each origin returns the map Google curates for it, about 50 destinations from a large hub. That's the per-origin limit, and there's no separate per-origin cap to set. "Maximum destinations" caps the whole run, and nothing past it is pushed or charged for.
Everywhere from London
{"origin": "LHR","departureDate": "2026-11-17","currency": "GBP"}
Nonstop, under £100, Spain and Portugal only
{"origin": "LON","departureDate": "2026-11-17","nonstop": true,"maxPrice": 100,"countries": ["Spain", "Portugal"]}
Beaches in a particular month
{"origin": "LHR","departureDate": "2026-11-17","interest": "beaches","travelMonth": 3,"tripLength": "week","currency": "GBP"}
Only Japan
{"origin": "LHR","departureDate": "2026-11-17","destinationRegion": "Japan","maxItems": 40}
Only inside a map rectangle
{"origin": "LHR","departureDate": "2026-11-17","boundingBox": [44.0, 3.5, 36.0, -9.5],"currency": "GBP"}
The rectangle is four numbers: north, east, south, west. The one above covers Iberia.
Several origins, at most one stop
{"origin": "LHR","extraOrigins": ["MAN", "EDI"],"departureDate": "2026-11-17","maxStops": 1,"maxItems": 150}
| Setting | What it does |
|---|---|
maxPrice | Only destinations at or under this fare |
maxStops (0 to 3) | Keeps destinations whose quoted fare has at most this many stops |
nonstop | Asks Google to price each destination on nonstop flights |
maxDurationMinutes | Longest one-way journey, in minutes |
countries | Only these countries, named as Google names them |
interest | outdoors, beaches, museums, history or skiing |
destinationRegion | One part of the world by name ("Japan", "Italy"), or a Google place id |
travelMonth (1 to 12), tripLength | A month, and weekend, week or two-weeks (the default) |
boundingBox | A rectangle on the map: north, east, south, west |
adults (1 to 9), currency (default USD), language (default en) | Party size, the currency of the fares and the language of place names |
For developers
maxItemsis the run-wide cap. There's no per-origin key, because Google fixes the size of each origin's map.- Setting
interest,destinationRegion,travelMonthorboundingBoxmakes the search cover the whole month ofdepartureDate, not that one day. The FAQ explains why. - Several codes in
originare treated as one city. Each entry inextraOriginsis searched separately and returns its own destinations. maxConcurrency(default 16, 1 to 32) is how many origins are searched at once. Seven origins took 74-91 s one at a time and 4.5-6 s in parallel.- Rows are saved as the run goes. A run the platform restarts carries on where it stopped, and nothing is saved or charged twice.
⬆️ Output
You get one record per destination, cheapest first within each origin.
{"recordType": "destination","id": "LHR-BCN-m01f62","originCode": "LHR","destinationCode": "BCN","destinationCity": "Barcelona","destinationCountry": "Spain","lat": 41.3828939,"lng": 2.1774322,"price": 36,"currency": "GBP","airlineCode": "VY","airlineName": "Vueling","stops": 0,"durationMinutes": 135,"layoverMinutes": null,"departureDate": "2026-11-17","returnDate": "2026-11-24","distanceText": "708 mi","imageUrl": "https://…","placeId": "/m/01f62","url": "https://www.google.com/travel/flights/search?tfs=…","scrapedAt": "2026-09-13T19:12:00.000Z"}
url opens a Google Flights search for exactly that route and those dates. distanceText is null where Google gives no distance, and layoverMinutes is null unless Google states a layover. price is for all the adults in your request together, not per person.
How many destinations can you get, and how fast?
| Search | Destinations | Time |
|---|---|---|
| London Heathrow, one date | 47-48 | 2-3 s |
| Seven origins, one date | 331 | 4.5-6 s |
| 32 origins, one date | 1,475 | 28 s |
| 40 origins, one date | 1,960-2,000 | 20-30 s |
| 60 origins, one date | 2,605 | 77 s |
Each time covers a whole run on Apify including start-up, measured 1 to 3 October 2026. All the origins in a run are worked on together.
Google publishes a curated map of destinations per origin, not every airport on earth. Around 50 is what you get from a large hub and fewer from a small one: in a run on 7 October 2026, Dublin returned 41 and Tromsø 4. To get more rows, add origins. Distance is rare: 5 of 49 rows in one run and none in others.
Limitations worth knowing
- The destination list is the map Google curates for that origin, not every airport it could route you through. For a specific route, use Google Flights Scraper.
- The dates on each row are Google's own suggestion for that destination and often differ from the date you entered. That's also why some fares are so low.
- Distance is supplied for only a small minority of destinations, and often for none.
layoverMinutesis filled only where Google states a layover. It's null otherwise, including on every nonstop row.- A city and its airport can differ, because Google names the place you'd visit and not the airport you land at.
- Economy only. The Explore map publishes the cheapest fare Google has for each destination, which is economy. Asking for another cabin returned the same figures, and the actor doesn't offer one. To price a specific route in a cabin, use Google Flights Scraper.
- The fare on a row is what Google's map showed during the run. Treat it as a guide: it's not an airline quote, and it can change before you book.
FAQ
Why did my exact departure date turn into a whole month?
Google's Explore map won't take an exact date and a destination filter at the same time. Ask for both and the filters quietly stop working. When you set an interest, a destination region, a travel month or a bounding box, the actor searches the whole month of the departure date you gave. Ask for 10 November with interest: beaches and you get November's beach destinations. Leave those filters out and your exact date is used as given.
Why do the dates on a row differ from the one I entered?
Google treats your date as roughly when you want to travel and then prices each destination on the days that suit it best. Each row shows the dates it priced.
What's the difference between "Nonstop only" and "Maximum stops"?
They're two different questions. "Nonstop only" asks Google to price each destination on nonstop flights. A stops limit keeps the destinations whose cheapest fare already has that few stops. If you want to check a row, its url opens a Google Flights search for exactly that route and those dates.
How do the interest and region filters work?
"Interest" narrows the map to destinations known for one thing (beaches, skiing, museums, history or the outdoors), exactly as the site's own filter does. "Only this region or country" restricts it to one part of the world and takes a name: "Japan", "Italy", or a Google place id if you have one.
I don't have a fixed date. Can Google pick one?
Set "Travel month" to a month number and "Trip length" to a weekend, a week or two weeks. Google then prices each destination on the best dates for that shape of trip, and each row shows the dates it priced.
How do I keep only certain countries?
List them in "Only these countries", named as Google names them. The rest are dropped.
Can I search more than one airport?
Put several codes in the origin, separated by commas, to treat them as one city. To run airports separately, add them under "More origins".
Do I need proxies or a Google account?
No to both. Nothing needs configuring, there's no proxy charge, and you don't need an account or an API key.
Is scraping Google Flights legal?
The Explore map is public: anyone can open it without an account, and reading public pages is legal in most jurisdictions. The actor gathers no personal data. What you do with the fares afterwards is your responsibility. Check the rules that apply to you before republishing them.
Refresh it weekly, or call it from code
A destinations page goes stale as fares move. Put the run on an Apify schedule (weekly, say) and have a webhook, Google Sheets or Airbyte carry the rows to wherever your map reads them.
From code, a single request runs the actor and hands back the dataset. Use the JavaScript or Python client if you prefer.
POST https://api.apify.com/v2/acts/boncross~google-flights-explore/run-sync-get-dataset-items?token=YOUR_TOKEN
For AI agents, add the Apify MCP server (mcp.apify.com) to Claude, ChatGPT, Cursor or LibreChat and reference boncross/google-flights-explore. An agent can then answer "where can I fly from Manchester for under £100" with live fares.
More from BonCross
- Google Flights Booking Options Scraper: See every airline and travel agency selling the same flight, each with its own price…
- Google Flights Deals Scraper: Describe a trip in plain English and let Google pick the destinations, or get the…
- Google Flights Multi-City Scraper: Google Flights multi-city trips of three legs or more, and quiet routes Google leaves…
- Google Flights Scraper: Google Flights for any route and date and get every itinerary with price, airlines,…
- Google Maps Directions Scraper: Google Maps directions as JSON for driving, transit, walking and cycling.
- Google Hotels Prices Scraper: Google Hotels price comparisons for any hotel and stay.
Your feedback
Is a destination missing from an airport's map, or a fare off from what Google shows you? Report it on the Issues tab in Apify Console with the origin and date. We look at every issue and answer there.