Ryanair Flight Price Scraper avatar

Ryanair Flight Price Scraper

Pricing

Pay per event

Go to Apify Store
Ryanair Flight Price Scraper

Ryanair Flight Price Scraper

Track Ryanair fares by route and date. Extract public price, currency, departure time, arrival time, sold-out, and availability rows.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Categories

Share

Track public Ryanair fare calendar prices, dates, route availability, and currency data from Ryanair's public flight endpoints.

What does Ryanair Flight Price Scraper do?

Ryanair Flight Price Scraper extracts public fare calendar rows for Ryanair routes. It is designed for scheduled flight-price monitoring, price-drop alerts, competitor fare tracking, and route availability checks. You provide a departure airport, optional arrival airport, and date range. The Actor returns structured fare rows with route, date, departure time, arrival time, price, currency, and availability flags. Schedule it on Apify to watch the same Ryanair route daily, then send lower fares to Google Sheets, Telegram, Slack, n8n, webhooks, or your own alerting backend.

Who is it for?

Travel data teams use it to monitor low-cost airline fare changes. Tour operators use it to benchmark package holiday flight inputs. Revenue analysts use it to compare fare movement across city pairs. Travel bloggers use it to discover low-price dates for destination guides. Developers use it to feed flight-price dashboards and alerts. Agencies use it to automate recurring route checks without maintaining Ryanair API code.

Why use this scraper?

✅ Direct Ryanair source data. ✅ HTTP-only implementation, no browser overhead. ✅ Route discovery from public Ryanair airport metadata. ✅ Date-range filtering for clean datasets. ✅ Currency and airport metadata enrichment. ✅ Per-row pricing for predictable costs. ✅ Outputs ready for CSV, JSON, Excel, BigQuery, or API workflows.

What data can you extract?

FieldDescription
departureAirportOrigin IATA code
departureAirportNamePublic Ryanair airport name
departureCityOrigin city code
departureCountryOrigin country code
arrivalAirportDestination IATA code
arrivalAirportNameDestination airport name
arrivalCityDestination city code
arrivalCountryDestination country code
dateFare calendar date
departureDateDeparture timestamp when available
arrivalDateArrival timestamp when available
priceFare value
currencyFare currency code
currencySymbolCurrency symbol
previousPricePrevious fare value when Ryanair exposes it
soldOutWhether the date is sold out
unavailableWhether the date is unavailable
newRouteWhether Ryanair marks it as a new route
sourceUrlRyanair booking URL for the route/date
scrapedAtScrape timestamp

How much does it cost to scrape Ryanair flight prices?

This Actor uses pay-per-event pricing. There is a small start event and a per-fare-row event. The accepted platform BRONZE tier is $0.05 per 1,000 fare rows, with tier discounts down to $0.014 per 1,000 rows at DIAMOND. Actual platform pricing is shown on the Apify Store pricing tab. Use a short date range first if you want a very small test run.

Quick start

  1. Open the Actor on Apify.
  2. Set departureIata to a Ryanair airport such as DUB.
  3. Set arrivalIata to a destination such as STN.
  4. Choose dateFrom and dateTo.
  5. Keep maxResults low for your first run.
  6. Click Start.
  7. Download the dataset as JSON, CSV, Excel, XML, or HTML.

Input configuration

{
"departureIata": "DUB",
"arrivalIata": "STN",
"dateFrom": "2026-06-04",
"dateTo": "2026-06-18",
"currency": "EUR",
"market": "en-gb",
"language": "en",
"maxResults": 50,
"maxRoutes": 10,
"includeUnavailable": false
}

Input fields explained

departureIata is required and must be a three-letter airport code. arrivalIata is optional; when empty, the Actor discovers Ryanair routes from the departure airport. dateFrom and dateTo define the inclusive calendar range. currency controls the fare currency requested from Ryanair. market controls the Ryanair market locale. language controls airport metadata language. maxResults caps saved fare rows. maxRoutes caps route discovery mode. includeUnavailable saves sold-out and unavailable dates with null prices when enabled.

Output example

{
"departureAirport": "DUB",
"departureAirportName": "Dublin",
"departureCity": "DUBLIN",
"departureCountry": "ie",
"arrivalAirport": "STN",
"arrivalAirportName": "London Stansted",
"arrivalCity": "LONDON",
"arrivalCountry": "gb",
"date": "2026-06-06",
"departureDate": "2026-06-06T20:00:00",
"arrivalDate": "2026-06-06T21:20:00",
"flightNumber": null,
"flightKey": null,
"price": 69.99,
"currency": "EUR",
"currencySymbol": "€",
"previousPrice": null,
"soldOut": false,
"unavailable": false,
"newRoute": false,
"sourceUrl": "https://www.ryanair.com/en-gb/trip/flights/select?...",
"scrapedAt": "2026-06-04T08:00:00.000Z"
}

Route discovery mode

Leave arrivalIata empty to scan multiple public Ryanair routes from one departure airport. The Actor reads Ryanair airport metadata and extracts airport:XXX routes. Use maxRoutes to keep the run bounded. This is useful for finding all cheap outgoing routes from one airport. For precise monitoring, provide a single arrivalIata.

Date range tips

Ryanair's fare calendar endpoint is monthly. The Actor requests each month touched by your date range. Short ranges finish faster. Long ranges create more fare rows. If you need a year of prices, increase maxResults accordingly. If you only need bookable prices, keep includeUnavailable disabled.

Common use cases

🛫 Monitor DUB to STN fares every morning. 💶 Compare low-cost route prices across several destinations. 📉 Detect price drops for a travel newsletter. 📊 Build a historical fare dataset in your own database. 🧭 Discover Ryanair destinations from a departure airport. 🔔 Trigger alerts when fares fall below a threshold.

Integrations

Send dataset items to Google Sheets for analysts. Push JSON rows to a webhook for alerting. Create n8n workflows that run this Actor on a schedule, compare today's fare rows with a saved threshold, and send price-drop alerts to Telegram, email, Slack, Discord, or a CRM. Load CSV exports into a BI dashboard. Use Apify integrations to sync with Make, Zapier, or custom APIs. Schedule daily runs and compare new prices with yesterday's dataset. Use the Apify API to run this Actor from your own booking-monitoring backend.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/ryanair-flight-price-scraper').call({
departureIata: 'DUB',
arrivalIata: 'STN',
dateFrom: '2026-06-04',
dateTo: '2026-06-18',
maxResults: 50
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automation-lab/ryanair-flight-price-scraper").call(run_input={
"departureIata": "DUB",
"arrivalIata": "STN",
"dateFrom": "2026-06-04",
"dateTo": "2026-06-18",
"maxResults": 50,
})
print(run["defaultDatasetId"])

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~ryanair-flight-price-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"departureIata":"DUB","arrivalIata":"STN","dateFrom":"2026-06-04","dateTo":"2026-06-18","maxResults":50}'

MCP usage

Use this Actor through Apify MCP from Claude Code or Claude Desktop. MCP URL:

https://mcp.apify.com/?tools=automation-lab/ryanair-flight-price-scraper

Add it in Claude Code with:

$claude mcp add apify-ryanair-flight-price-scraper https://mcp.apify.com/?tools=automation-lab/ryanair-flight-price-scraper

Claude Desktop MCP JSON configuration:

{
"mcpServers": {
"apify-ryanair-flight-price-scraper": {
"url": "https://mcp.apify.com/?tools=automation-lab/ryanair-flight-price-scraper"
}
}
}

Example prompts:

  • "Run Ryanair Flight Price Scraper for DUB to STN next week and summarize the cheapest dates."
  • "Check Ryanair fares from BGY to MAD for the next 30 days and return CSV-ready rows."
  • "Find available Ryanair fare dates from Dublin to London Stansted under 100 EUR."

Scheduling and monitoring

Create an Apify schedule for recurring monitoring. Run the same input daily or weekly. Compare datasets by route and date. Send price changes to a webhook, Telegram bot, Google Sheet, or n8n automation. Use a threshold rule such as "alert me when DUB → STN drops below €50" to power simple fare alerts without maintaining Ryanair API code. Store historical rows in your warehouse. Keep maxResults high enough for your full route/date range.

Data quality notes

Ryanair's public fare calendar may expose one cheapest fare per date rather than every flight option. Flight-level identifiers are included as nullable fields because the calendar endpoint does not always expose them. Unavailable dates can be skipped or saved depending on your input. Prices and availability can change quickly. Always treat fare data as a snapshot at scrapedAt.

Troubleshooting

If you get no results, verify the route exists on Ryanair. If prices are null, disable includeUnavailable or choose a bookable date range. If route discovery returns fewer routes than expected, provide arrivalIata directly. If the currency is unexpected, set currency explicitly. If the run stops early, increase maxResults.

Limits and anti-bot approach

The Actor uses conservative HTTP requests and browser-like headers. It does not use Playwright. It does not require a Ryanair account. It relies on public endpoints that may change. If Ryanair changes its API, the Actor may need an update.

Legality

This Actor extracts publicly available fare information.

This Actor extracts publicly available fare information. You should use the data responsibly. Review Ryanair's terms and your local laws before using scraped data commercially. Do not use the Actor for abusive traffic, resale that violates terms, or personal data extraction. Consult legal counsel if you are unsure.

Explore related Apify actors by automation-lab:

FAQ

Can I scan all destinations from one airport?

Yes. Leave arrivalIata empty and set maxRoutes to the number of routes you want to scan.

Does it return every Ryanair flight?

No. The MVP returns public fare calendar rows, usually the cheapest visible fare for a route/date.

Can I include sold-out dates?

Yes. Set includeUnavailable to true.

Can I change the currency?

Yes. Set currency to values such as EUR, GBP, or another supported Ryanair currency.

Can I schedule daily monitoring?

Yes. Use Apify schedules and compare datasets across runs.

Version notes

Initial version focuses on public one-way fare calendar data. Round-trip and flight-level availability can be added later if a stable public endpoint supports it. The Actor keeps nullable flightNumber and flightKey fields for future compatibility.

Support

If the Actor stops returning expected Ryanair fare rows, open an issue with your input JSON, run ID, and an example route/date.