Flight Price Comparison — 4 sources in one run
Pricing
from $0.60 / 1,000 rows
Flight Price Comparison — 4 sources in one run
Compare flight prices from Google Flights and KAYAK in one run: same route and date on both sources, one dataset, plus a verdict row saying which source is cheaper and by how much. Batch routes, any cabin, one-way and round trip.
Flight Price Comparison
Flight Price Comparison runs the same search on Google Flights, KAYAK, Momondo and Ryanair at once and puts every answer in one dataset — plus a verdict row: which source was cheaper for that route, by how much, and where to book it.
Google Flights and KAYAK run by default; tick Momondo for a different partner mix, and Ryanair for the fares the metasearch engines miss — Ryanair sells direct only, so on European routes it regularly undercuts every engine that does not list it.
You pay only the row price of each source Actor it runs on your account — Google Flights $0.20, KAYAK and Momondo $0.70 per 1,000 rows, Ryanair $0.30 per 1,000 calendar days (it reads the rest of the month from your date). The comparison itself adds nothing on top: no comparison fee, no run fee, no proxy fee. Verdict rows and error rows are free.
Sources matter because they do not agree. Two real searches, both run on 21 September 2026:
| Route | Google Flights | KAYAK | Momondo | Ryanair | Gap |
|---|---|---|---|---|---|
| DPS–SIN, 15 Mar | $55 | $75 | — | — | 36% |
| STN–DUB, 15 Mar | €42 | €47 | €47 | €35.99 | 31% |
On the European route the winner is the one no metasearch lists properly. Checking a single source and calling it "the price" is how that money gets left on the table.
What a run returns
One row per itinerary from each source, tagged with where it came from:
| Field | Notes |
|---|---|
source | google-flights, kayak, momondo or ryanair |
price / currency | Both sources priced in the same currency, so the comparison is apples to apples |
airline / flightNumbers | Jetstar / ["JQ86"] |
stops / layovers[] | Airport and minutes per layover |
departAt / arriveAt / durationMinutes | Local times, as each site shows them |
seller / sellersForThisFlight | Who sells the ticket — KAYAK names the agency or airline behind the fare |
priceLevel / emissionsKg | Google's low / typical / high verdict and CO₂, where the source provides it |
bookingUrl / sourceUrl | Straight to the booking, and back to the original search |
And one verdict row per route:
{"type": "verdict","cheapestBySource": { "google-flights": 55, "kayak": 75 },"cheaperSource": "google-flights","gap": 20,"gapPercent": 36.4,"cheapestOverall": { "source": "google-flights", "price": 55, "airline": "Jetstar", "bookingUrl": "…" }}
Verdict rows are not charged.
How to run it
- Enter origin and destination as IATA codes (
DPS,JFK,LHR) and a departure date. - Add a return date for a round trip, set passengers, cabin and currency.
- Click Start. Rows from both sources land in one table, cheapest first.
Many routes in one run
{"routes": [{ "origin": "JFK", "destination": "LHR", "departureDate": "2027-03-15", "returnDate": "2027-03-22" },{ "origin": "DPS", "destination": "SIN", "departureDate": "2027-03-15" }],"maxResultsPerSource": 30}
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("lergassy/flight-price-comparison").call(run_input={"origin": "JFK", "destination": "LHR", "departureDate": "2027-03-15","maxResultsPerSource": 30, "currency": "USD",})for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row.get("type") == "verdict":print("cheaper source:", row["cheaperSource"], row["cheapestBySource"])
What it is good for
- Fare arbitrage: the same seat is priced differently by source and seller — the verdict row finds the gap for you.
- Price monitoring with a sanity check: one source can go stale or lag; two disagreeing is a signal, not noise.
- Travel agencies: quote a client the real floor, not the first number you saw.
- Research and dashboards: source-tagged rows let you measure which metasearch is actually cheaper on your routes over time.
Bulk export: what it costs
Since 25 September 2026 this Actor adds no charge of its own: each source runs as its own Actor on your account and bills only its own rows (Free-plan prices: Google Flights $0.0002, KAYAK and Momondo $0.0007 per row, Ryanair $0.0003 per calendar day). Nothing is charged for runs, proxy, verdict rows or error rows. Totals below are for Google Flights + KAYAK, half the rows from each:
| Job | Rows | Cost |
|---|---|---|
| One route, both sources, 30 each | 60 | $0.027 |
| 100 routes compared once | 6,000 | $2.70 |
| 20 routes compared daily for a month | 36,000 | $16.20 |
| Big export | 50,000 | $22.50 |
Running the sources yourself means two to four integrations and datasets; here it is one call, one dataset and one row format — the source runs still appear on your account and in your bill. Compute and proxy are included in the row prices.
Inputs
| Input | Notes |
|---|---|
origin / destination / departureDate / returnDate | IATA codes and ISO dates |
sources | Google Flights and KAYAK by default; add Momondo and Ryanair, or drop one to query a single source |
adults / children / cabinClass | Up to 9 passengers, any cabin |
maxResultsPerSource | Rows collected from each source per route |
currency | Both sources priced in it |
includeVerdict | The free comparison row, on by default |
routes[] | Many routes in one run |
Notes and limits
Fares move during the day and differ by point of sale, so a gap measured now is a gap now — schedule the run if you need a trend. A source that fails writes a free error row and the other sources still return, so a run is never all-or-nothing. Every source is a separate Actor run on your account: all four sources plus this Actor use five concurrent runs, the whole Free-plan allowance — if the account is at its limit, the Actor waits and retries that source. Round-trip prices are the total for both directions on both sources.
The Actor reads publicly displayed prices without logging in, bypassing access controls or collecting personal data. Both sites' terms restrict automated access, and the legality of scraping public data depends on your jurisdiction and use.
Need another source?
Open an issue on this Actor's page and say which one — sources get added on request.
Single-source Actors, if that is all you need: Google Flights Scraper · Kayak Flights Scraper · Momondo Flights Scraper · Ryanair Flights Scraper · Flight Price Tracker · Flight Price Calendar