Google Flights Booking Options Scraper avatar

Google Flights Booking Options Scraper

Pricing

from $4.20 / 1,000 itinerary-priceds

Go to Apify Store
Google Flights Booking Options Scraper

Google Flights Booking Options Scraper

See every airline and travel agency selling the same flight, each with its own price and a link into its checkout. Add a route and a date and get the seller, the fare, the website and whether it books direct with the airline.

Pricing

from $4.20 / 1,000 itinerary-priceds

Rating

0.0

(0)

Developer

BonCross API

BonCross API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Categories

Share

What is Google Flights Booking Options Scraper?

A flight search shows you one price per itinerary. Behind that price sits a list of sellers, the airline and a row of travel agencies, each asking something different for the same seat. Google Flights Booking Options Scraper gets you that list: who sells the flight, what each one charges, and a link into each checkout.

Enter a route and a date, or paste a Google Flights link.

The short case for it:

  • You see the spread, not a single number. A busy route returns around ten sellers per itinerary. London to New York, one way, gave 20 offers across 2 itineraries in 4 to 6 seconds.
  • Return trips are priced too. Three round trips (London to New York, Manchester to Barcelona, London to Dubai) returned 51 offers across 9 itineraries in 11 seconds.
  • You decide which flights get priced. Stop and airline filters are applied before anything is looked up, and an itinerary they exclude costs you nothing.
  • Each offer links to its checkout. Airline direct or agency, you get the seller's booking link and a flag telling you which it is.
  • It scales. 60 routes at three itineraries each returned 888 to 895 offers in 36 seconds.

BonCross Verified means we tested this actor against the live site before release and kept the record:

  • 20 of 20 live checks on its inputs and filters passed on 8 October 2026
  • 7 routes run on 7 October 2026, two of them returns: 14 itineraries priced, 31 seller offers
  • Charges matched the rows: 1 start, 14 itineraries, 31 offers

What can you do with seller prices?

  • Check whether an agency really undercuts the airline before you book
  • Show a price-comparison table for a flight on your own site
  • Monitor how the spread between sellers moves on a route over time
  • Find which agencies sell a route, and at what margin
  • Feed a booking funnel with live seller links in place of a single price
  • Audit whether your own fares are being resold below your direct price

What data can you extract?

🏷 Seller name and code✈️ Whether it books direct with the airline
💷 That seller's price🔗 Link into the seller's checkout
🌐 Seller websiteSeller logo, where Google supplies one
Flight numbers pricedItinerary the offer belongs to
The itinerary's headline price📅 Departure date
🛫 Origin and destinationCurrency

How to scrape booking options

  1. Open a free Apify account. An email address is all it takes.
  2. Open Google Flights Booking Options Scraper.
  3. Enter a route and a date, or paste a Google Flights link.
  4. Choose how many itineraries to price. They're taken in the order Google lists them for the route.
  5. Click Start. London to New York with two itineraries took 4 to 6 seconds.
  6. Download the offers as Excel, CSV, JSON, XML or HTML.

Our advice: start with the default of 3 itineraries and raise it once you've seen what a route returns.

⬇️ Input

Give it a route and a date, with a return date if it's a round trip. Got several routes? Add them under "More routes" as origin,destination,date lines, where a fourth date makes the line a round trip. If you already have Google Flights links, they go in "Google Flights URLs". You can type a place name such as "Heathrow" or "Barcelona" and it's resolved to airports for you.

The itineraries priced are the first ones Google lists for the route that pass "Maximum stops" and "Only these airlines". Those two filters change which flights are priced, not just what you get back.

You have two limits:

  • "How many itineraries to price" (default 3, up to 25) is the per-route limit. Sellers are fetched one itinerary at a time, which makes this the setting that governs the cost of a run.
  • "Maximum offers" is a ceiling on offers across the whole run. Nothing past it is pushed or charged for.

You can also set the cabin, adults (1 to 9), children (0 to 8), currency (default USD) and language (default en).

Who sells the top London to New York flights

{
"origin": "LHR",
"destination": "JFK",
"departureDate": "2026-11-17",
"maxItineraries": 3,
"currency": "GBP"
}

More itineraries from one route

{
"origin": "LHR",
"destination": "JFK",
"departureDate": "2026-11-17",
"maxItineraries": 5,
"cabinClass": "business"
}

Only nonstop flights on one airline

{
"origin": "LHR",
"destination": "JFK",
"departureDate": "2026-11-17",
"maxStops": 0,
"airlines": ["BA"],
"maxItineraries": 2
}

A round trip

{
"origin": "LHR",
"destination": "JFK",
"departureDate": "2026-11-17",
"returnDate": "2026-11-24",
"maxItineraries": 2
}

Several routes in one run

{
"extraRoutes": [
"LHR,JFK,2026-11-17",
"MAN,DUB,2026-11-18",
"LGW,BCN,2026-11-19"
],
"maxItineraries": 2,
"currency": "GBP"
}

For developers

  • maxItineraries is the per-route limit and maxItems the run-wide ceiling on offers.
  • The route keys are origin, destination, departureDate and returnDate. extraRoutes and searchUrls take the lists. cabinClass is one of economy, premium_economy, business, first.
  • maxStops (0 to 3, 0 for nonstop only) and airlines (codes such as BA, or an alliance such as ONEWORLD) are applied before pricing. When no itinerary passes them, the run log says so and nothing is charged beyond the start.
  • maxConcurrency (default 32, 1 to 32) is how many requests run at once. Routes, and the itineraries on each, are priced at the same time: the five-route run took 162 s one call at a time.
  • Rows are saved as the run goes. After a platform restart the run continues from where it stopped and doesn't save or charge anything twice.

⬆️ Output

You get one record per seller, per itinerary.

{
"recordType": "bookingOffer",
"id": "hXefte-BA-0",
"itineraryId": "hXefte",
"itineraryPrice": 331,
"origin": "LHR",
"destination": "JFK",
"departureDate": "2026-11-17",
"flights": ["BA175"],
"sellerCode": "BA",
"sellerName": "British Airways",
"isAirlineDirect": true,
"logoUrl": null,
"price": 331,
"currency": "GBP",
"website": "www.britishairways.com/...",
"url": "https://www.google.com/travel/flights/search?tfs=…",
"bookingUrl": "https://www.google.com/travel/clk/f?u=…",
"scrapedAt": "2026-09-13T19:30:00.000Z"
}

Offers from one itinerary share an itineraryId. Group by it and you have the price spread for a single flight. One seller can list the same flight at several fares (different fare products), which is why id is the itinerary, the seller and the offer's position together. url is the Google Flights search the offer was priced from, and bookingUrl leads into the seller's checkout.

For a round trip (a return date, a fourth date in a "More routes" line, or a pasted return search), each outbound itinerary is priced together with the cheapest return flight Google pairs with it. flights then lists both directions, returnFlights the return half and returnItineraryId its id, and itineraryPrice is the round-trip total. On a one-way offer returnDate, returnFlights and returnItineraryId are null.

How much does it cost?

EventFree planStarterScaleBusiness
actor-start, per run$0.001$0.001$0.001$0.001
itinerary-priced, per itinerary whose sellers are looked up$0.006$0.0054$0.0048$0.0042
offer-scraped, per seller offer returned$0.0006$0.00054$0.00048$0.00042

Enterprise plans pay the Business price.

$12.00 per 1,000 itineraries at about ten offers each (0.006 + 10 × 0.0006 = $0.012 an itinerary) on the Free plan, $8.40 on Business. Proxy usage and platform usage are included, and nothing else is added.

Pricing three itineraries and getting about thirty offers costs $0.001 + 3 × $0.006 + 30 × $0.0006 = $0.037 ($0.026 on Business). The per-itinerary event is the one to watch, because each itinerary is a separate lookup.

With the $5 of monthly credits in Apify's Free plan you can do about 135 runs of that size, roughly 400 itineraries with their sellers.

How long does pricing take?

SearchItineraries pricedOffersTime
London to New York, one way2204-6 s
London to Phuket, one way33110-14 s
Three round trips (London-New York, Manchester-Barcelona, London-Dubai)95111 s
Five routes, five itineraries each25176-17712-19 s
Eight routes, four itineraries each3217919-25 s
60 routes, three itineraries each180888-89536 s

Most of a run is Google pricing each itinerary, at 3-5 s a call. Because routes are priced side by side, 60 routes take about 36 seconds, and several thousand fit inside the default one-hour run limit. We timed whole runs on Apify, start-up included, between 1 and 7 October 2026.

How many sellers should you expect? A busy route returns somewhere around ten per itinerary, split between the airlines flying it and the agencies reselling it. A quiet route returns fewer, and sometimes only the airline. All offers have a booking link. Google supplies logos for a minority of sellers, and most rows have none.

Limitations

  • Sellers are fetched one itinerary at a time, and pricing many itineraries takes proportionally longer.
  • The itineraries priced are the first Google lists for the route that pass your stop and airline filters. To choose by hand, narrow the route in Google Flights Scraper and paste its search link here.
  • A round trip is priced with one return per outbound: the cheapest Google pairs with it (on a tie, one on the outbound's airline). A different return flight can have other sellers. To price a particular pairing, paste the Google Flights link for it.
  • Prices are for the whole party in the request (two adults cost about twice one), not per person.
  • Logo URLs are only published when Google supplies one, which is a minority of sellers. You get no logo in place of a guessed one that wouldn't load.
  • Prices are the ones Google shows, not a live quote from the seller, and can move between a run and a booking.

FAQ

A search returns itineraries with one price each. This returns the sellers behind an itinerary, each with their own price, for comparing who sells the same flight and for how much. If you want the itineraries themselves, Google Flights Scraper is the one to use.

Which itineraries get priced?

The first ones Google lists for your route that pass the stop and airline filters, in its order. Raise the itinerary count to go deeper, or narrow the filters to steer which flights qualify.

How do I keep the cost of a run down?

Keep "How many itineraries to price" low. Each itinerary is its own lookup at $0.006 on the Free plan, and the offers under it are a tenth of that each. Filtering to nonstop or to one airline also helps, because itineraries that don't pass are never priced.

Which return flight is used on a round trip?

The cheapest one Google pairs with each outbound, and on a tie, one on the outbound's airline. returnFlights tells you which. For a specific pairing, paste the Google Flights link for it.

Put it in "Google Flights URLs" and the same route is priced.

Google supplies a logo code for only some sellers. Where it doesn't, the field is empty.

Do I need proxies or a Google account?

No. Proxy usage is included in the price, and there's no account, login or API key involved.

Seller prices on Google Flights are shown to any visitor, signed in or not, and scraping public information of that kind is legal in most jurisdictions. No personal data is involved. You're responsible for how you use the prices, including any republishing. Check your own obligations first.

Track a route's sellers over time

A daily check of the spread between sellers needs no code. Schedule the run in Apify and let a webhook, Google Sheets or Slack receive the offers. Group by itineraryId in the sheet and you can watch who undercuts whom.

To run it from code, send the input in one API call and the offers are returned in the response. Clients exist for JavaScript and Python.

POST https://api.apify.com/v2/acts/boncross~google-flights-booking-options/run-sync-get-dataset-items?token=YOUR_TOKEN

AI agents can call it through the Apify MCP server (mcp.apify.com) from Claude, ChatGPT, Cursor or LibreChat, with the actor referenced as boncross/google-flights-booking-options. A useful prompt is a route, a date and "who sells this cheapest".

More from BonCross

Your feedback

Is a seller Google shows missing from your results, or a price different from the one on the page? Raise it on the Issues tab in Apify Console, with the route and date if you can. We read each one and reply there, and requests feed into what BonCross builds next.