Ryanair Flight Scraper avatar

Ryanair Flight Scraper

Pricing

from $0.69 / 1,000 fare results

Go to Apify Store
Ryanair Flight Scraper

Ryanair Flight Scraper

Scrape Ryanair flights and fares: cheapest one-way and round-trip prices, every scheduled flight per day with times and flight numbers, and cheapest fares to every destination in Explore mode. Export JSON, CSV, Excel.

Pricing

from $0.69 / 1,000 fare results

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Ryanair Flight Scraper

Ryanair Flight Scraper extracts flights, fares, and schedules from Ryanair without the booking API. Give it an origin and destination for the cheapest one-way or round-trip prices, turn on All flights for every scheduled departure per day with times and flight numbers, or leave the destination empty to Explore the cheapest fare to every Ryanair destination from your airport.

Turn any Ryanair route and date window into a structured fare table — price, currency, flight number, carrier, from/to airport name, city and country, departure and arrival times, duration, and a ready-to-book link — across one-way, round-trip, all-flights, and explore modes, with multi-route search and any currency.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Actor: parsebird/ryanair-flight-scraper — scrapes Ryanair fares and flight schedules. Input: {"origin": "DUB", "destination": "STN", "tripType": "oneWay", "allFlights": false, "departDateFrom": "2026-10-01", "departDateTo": "2026-10-14", "returnDateFrom": "", "returnDateTo": "", "currency": "EUR", "market": "en-gb", "sortBy": "sourceOrder", "maxPrice": null, "includeUnavailable": false, "adults": 1, "teens": 0, "children": 0, "infants": 0, "maxResults": 1000}. origin/destination are IATA codes, comma-separate for multiple routes (DUB,STN). Leave destination empty for Explore mode (cheapest fare to every destination). tripType roundTrip needs destination + returnDateFrom/To. allFlights=true returns every scheduled flight per day (one-way fixed routes only). Date window max 62 days per route. Run via ApifyClient("YOUR_TOKEN").actor("parsebird/ryanair-flight-scraper").call(run_input=input). Output per row: tripType, carrierCode, carrierName, price, currency, flightNumber, fromCode/fromName/fromCity/fromCountry, toCode/toName/toCity/toCountry, departureDate, arrivalDate, durationMinutes, stops, bookingUrl; allFlights rows add isDayCheapest, dayCheapestPrice, dayCheapestFlightNumber; roundTrip rows use totalPrice and outbound-*/return-* fields. Get an API token at https://console.apify.com/account#/integrations. Full API spec: https://apify.com/parsebird/ryanair-flight-scraper/api

What does Ryanair Flight Scraper do?

Ryanair Flight Scraper is a Ryanair scraper and fare tracker built on Ryanair's public fare-finder and timetable data. It reads the same open fare feed the ryanair.com website uses, so you get real prices and schedules without logging in or hitting the booking API.

✈️ Four search modes in one actor

InputWhat you get
origin + destination + datesCheapest one-way fare per day for that route across the window
origin + destination + dates, allFlights: trueEvery scheduled flight per day (times + flight numbers), the day's cheapest fare attached
origin + destination + return dates, tripType: roundTripCheapest round-trip combinations with total price
origin only (no destination)Explore — cheapest fare to every Ryanair destination

💶 Any currency — EUR, GBP, USD, PLN, SEK, and more, converted by Ryanair's own pricing engine.

🗺️ Multi-route runs — comma-separate origin and destination (DUB,STNBCN,CIA) to scan every origin–destination pair in a single run.

🔗 Ready-to-book links — every row carries a bookingUrl that opens the Ryanair selection page with the route, date, and passenger mix pre-filled.

🎯 Filters and sorting — cap fares with maxPrice, show gap days with includeUnavailable, and order rows by source order, cheapest, earliest departure, or shortest duration.

📅 Date windows up to 62 days per route per run.

Why scrape Ryanair?

  • Track Ryanair fares for a route over time and get alerted when a price drops
  • Build a cheap-flights dashboard for every destination from a home airport (Explore mode)
  • Compare the full daily schedule — times and flight numbers — for route planning
  • Feed a travel deal site, price-comparison tool, or itinerary planner with structured fares
  • Pull round-trip price matrices across flexible outbound and return windows

What data can you extract with Ryanair Flight Scraper?

FieldTypeDescription
tripTypestringoneWay or roundTrip
carrierCode / carrierNamestringOperating carrier (FR Ryanair, RK Ryanair UK, …)
pricenumber | nullFare in the selected currency (one-way / explore rows)
totalPricenumber | nullOutbound + inbound fare (round-trip rows)
currencystringISO currency code of the fare
flightNumberstringRyanair flight number, e.g. FR292
fromCode / fromName / fromCity / fromCountrystringOrigin airport IATA code, name, city, country
toCode / toName / toCity / toCountrystringDestination airport IATA code, name, city, country
departureDate / arrivalDatestringLocal departure and arrival timestamps (YYYY-MM-DDTHH:MM:SS)
durationMinutesnumber | nullFlight duration in minutes, timezone-corrected
stopsnumberAlways 0 — Ryanair fare-finder routes are direct
bookingUrlstringRyanair selection-page link with route, date, and passengers pre-filled
isDayCheapestbooleanallFlights rows: is this the day's cheapest flight
dayCheapestPricenumber | nullallFlights rows: the day's lowest fare
dayCheapestFlightNumberstring | nullallFlights rows: flight number carrying the day's lowest fare
outbound-price / outbound-flight-number / outbound-departure / outbound-arrival / outbound-durationmixedRound-trip outbound leg
return-price / return-flight-number / return-departure / return-arrival / return-durationmixedRound-trip inbound leg
scrapedAtstringISO 8601 timestamp of the run

How to use Ryanair Flight Scraper

  1. Open Ryanair Flight Scraper and click Try for free.
  2. Enter an Origin IATA code (e.g. DUB). Add a Destination (STN), or leave it empty for Explore mode.
  3. Set Outbound date from / to (YYYY-MM-DD). Up to 62 days per route.
  4. Pick a Trip type: One way, or Round trip with a Return date from / to window.
  5. Turn on All flights to list every scheduled departure per day instead of just the cheapest.
  6. Choose Currency and Market, optionally set a Max price and a Sort order.
  7. Click Start, then export the dataset as JSON, CSV, Excel, or HTML, or pull it via API.

Input parameters

ParameterTypeRequiredDefaultDescription
originstringYesDUBOrigin airport IATA code(s), comma-separated for multiple routes
destinationstringNoSTNDestination IATA code(s). Empty = Explore mode
tripTypestringNooneWayoneWay or roundTrip
allFlightsbooleanNofalseEvery scheduled flight per day (one-way fixed routes only)
departDateFromstringNotodayFirst outbound date, YYYY-MM-DD
departDateTostringNo+7 daysLast outbound date, YYYY-MM-DD (max 62-day window)
returnDateFrom / returnDateTostringRound tripInbound date window
currencystringNoEURFare currency (EUR, GBP, USD, PLN, …)
marketstringNoen-gbRyanair market for the booking-link locale
sortBystringNosourceOrdersourceOrder, cheapest, earliestDeparture, shortestDuration
maxPriceintegerNoDrop fares above this price
includeUnavailablebooleanNofalseEmit a row for outbound dates with no available fare
adults / teens / children / infantsintegerNo1 / 0 / 0 / 0Passenger mix for the booking link
maxResultsintegerNo1000Hard cap on total rows
proxyConfigurationobjectNoApify ProxyDatacenter proxy is sufficient

Output example

One-way / Explore row

{
"tripType": "oneWay",
"carrierCode": "FR",
"carrierName": "Ryanair",
"price": 14.99,
"currency": "EUR",
"flightNumber": "FR292",
"fromCode": "DUB", "fromName": "Dublin", "fromCity": "Dublin", "fromCountry": "Ireland",
"toCode": "STN", "toName": "London Stansted", "toCity": "London", "toCountry": "United Kingdom",
"departureDate": "2026-10-10T22:00:00",
"arrivalDate": "2026-10-10T23:20:00",
"durationMinutes": 80,
"stops": 0,
"bookingUrl": "https://www.ryanair.com/gb/en/trip/flights/select?adults=1&teens=0&children=0&infants=0&dateOut=2026-10-10&dateIn=&isConnectedFlight=false&isReturn=false&discount=0&originIata=DUB&destinationIata=STN",
"scrapedAt": "2026-09-09T12:00:00+00:00"
}

All flights row (allFlights: true)

{
"tripType": "oneWay",
"carrierCode": "FR",
"carrierName": "Ryanair",
"flightNumber": "FR30",
"price": null,
"currency": "EUR",
"isDayCheapest": false,
"dayCheapestPrice": 14.99,
"dayCheapestFlightNumber": "FR292",
"fromCode": "DUB", "toCode": "STN",
"departureDate": "2026-10-06T06:30:00",
"arrivalDate": "2026-10-06T07:50:00",
"durationMinutes": 80,
"stops": 0,
"bookingUrl": "https://www.ryanair.com/gb/en/trip/flights/select?..."
}

Round-trip row (tripType: roundTrip)

{
"tripType": "roundTrip",
"carrierCode": "FR",
"totalPrice": 29.98,
"currency": "EUR",
"fromCode": "DUB", "toCode": "STN",
"outbound-price": 14.99, "outbound-flight-number": "FR292", "outbound-departure": "2026-10-06T22:00:00",
"return-price": 14.99, "return-flight-number": "FR289", "return-departure": "2026-10-13T16:20:00",
"bookingUrl": "https://www.ryanair.com/gb/en/trip/flights/select?...&isReturn=true"
}

Download results in JSON, CSV, Excel, or HTML from the Apify Console or via the API.

Use cases

  • 📉 Fare tracking — schedule the actor to watch a route and export the fare history for alerting
  • 🏷️ Cheap-flights site — run Explore mode daily from a set of home airports and publish the lowest fares
  • 🗺️ Trip planning — pull the full daily schedule (times + flight numbers) for a route before booking
  • 🔁 Round-trip optimizer — get the price matrix across flexible outbound and return windows
  • 🤖 Travel bots and itinerary tools — feed structured Ryanair fares into a chatbot or planner
  • 📊 Airline and market research — compare Ryanair pricing and frequency across routes and seasons

How it works

  1. Routesorigin and destination are split into IATA codes and expanded into every origin–destination pair; with no destination, each origin runs in Explore mode.
  2. Airports — Ryanair's public airport directory is loaded once for names, cities, countries, and timezones.
  3. One-way / Explore — the fare-finder feed is queried per day (or once across the window for Explore) for the cheapest fare, with flight number and times.
  4. Round trip — cheapest outbound and inbound fares are collected per day and paired into every valid combination where the return is on or after the outbound.
  5. All flights — the route timetable supplies every scheduled departure per day; the day's cheapest fare is matched by flight number and attached to each row.
  6. Filter, sort, capmaxPrice and sortBy are applied, then rows are truncated to maxResults and pushed to the dataset.

The actor uses lightweight httpx requests and stays under 512 MB — no browser required.

How much does it cost to scrape Ryanair?

Ryanair Flight Scraper uses pay-per-event pricing. Platform compute is included — you pay per row.

PlanPrice per 1,000 fare rowsPrice per 1,000 scheduled-flight rows
Free$0.99$0.99
Bronze$0.89$0.89
Silver$0.79$0.79
Gold$0.69$0.69
  • A fare row is any one-way, round-trip, or Explore fare, plus the day's cheapest flight in All flights mode.
  • A scheduled-flight row is an extra flight in All flights mode (times and number, no fare of its own) or a row for a date with no available fare.

Example: a one-way run over a 30-day window for one route returns about 30 fare rows and costs roughly $0.03 on the Free plan. An All flights run over the same window returns roughly 240 rows and costs about $0.24.

You can run Ryanair Flight Scraper with the free monthly usage credits on every Apify plan.

Integrations and API access

Ryanair Flight Scraper works with the full Apify platform:

  • API access — run it and fetch results via the REST API or the Python and JavaScript clients
  • Scheduling — set up recurring runs with the Apify Scheduler to track fares over time
  • Webhooks — trigger downstream work when a run finishes
  • Integrations — push data to Google Sheets, Slack, Zapier, Make, Airtable, and more

Python example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run_input = {
"origin": "DUB,STN",
"destination": "BCN,CIA",
"tripType": "oneWay",
"departDateFrom": "2026-10-01",
"departDateTo": "2026-10-31",
"currency": "EUR",
"sortBy": "cheapest",
"maxResults": 500,
}
run = client.actor("parsebird/ryanair-flight-scraper").call(run_input=run_input)
for fare in client.dataset(run["defaultDatasetId"]).iterate_items():
print(fare["departureDate"], fare["fromCode"], "->", fare["toCode"], fare.get("price"), fare["currency"])

JavaScript example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const input = {
origin: 'STN',
destination: '',
departDateFrom: '2026-11-01',
departDateTo: '2026-11-20',
currency: 'GBP',
sortBy: 'cheapest',
maxResults: 50,
};
const run = await client.actor('parsebird/ryanair-flight-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((f) => console.log(`${f.toCity}\t${f.price} ${f.currency}\t${f.departureDate}`));

Pricing

EventPrice per event (Free)Price per 1,000
fare-result$0.00099$0.99
scheduled-flight$0.00099$0.99

Bronze, Silver, and Gold plans pay less — see the cost section above.

FAQ

Where does the data come from? Ryanair's public fare-finder feed and route timetables — the same open data the ryanair.com website reads. No login, no booking API, no captcha.

How current are the fares? They are live at the moment of the run. Schedule the actor to capture fares over time and build a price history.

Why is price null on some All flights rows? Ryanair's open fare data does not price each individual flight — only the cheapest fare per day is published. In All flights mode every row still carries dayCheapestPrice and dayCheapestFlightNumber, and the matching flight is marked isDayCheapest: true with its price set.

Can I search more than one route at once? Yes. Comma-separate origin and destination (for example DUB,STN and BCN,CIA) and the actor scans every pair.

What is Explore mode? Leave destination empty and the actor returns the cheapest fare to every Ryanair destination from each origin over the date window — ideal for "where can I go cheaply" dashboards.

How long a date range can I search? Up to 62 days per route per run. Longer searches should be split across multiple runs or scheduled.

Does it return connecting flights or other airlines? No. Ryanair sells direct point-to-point flights, so stops is always 0 and the carrier is always Ryanair or a Ryanair Group airline (FR, RK).

Is the booking link ready to use? Yes. bookingUrl opens the Ryanair selection page with the route, date, trip type, and passenger mix pre-filled.

Can I schedule recurring runs? Yes — use Apify scheduling and webhooks to keep a fare feed fresh.

Found a bug or need a field added? Open the Issues tab on the Actor page.

Ryanair Flight Scraper collects publicly available information: published fares and flight schedules that Ryanair serves to anyone browsing ryanair.com. It does not log in, place bookings, or access personal data.

Scraping public data is generally legal, as reaffirmed by the US Ninth Circuit in hiQ Labs v. LinkedIn. Make sure your use complies with applicable law and with Ryanair's Terms of Use. This actor is independent and not affiliated with or endorsed by Ryanair. See Apify's guide to the legality of web scraping.