Skip to content

Instantly share code, notes, and snippets.

@vool
Last active Jun 16, 2022
Embed
What would you like to do?
Ryanair api endpoints

API domains

https://desktopapps.ryanair.com

https://api.ryanair.com

Airports

https://api.ryanair.com/aggregate/3/common?embedded=airports,countries,cities,regions,nearbyAirports,defaultAirport&market=en-gb

https://desktopapps.ryanair.com/en-gb/res/stations

Closures

https://api.ryanair.com/aggregate/3/common?embedded=closures

Flight info

https://api.ryanair.com/flightinfo/3/flights/?&arrivalAirportIataCode=&departureAirportIataCode=DUB&departureTimeScheduledFrom=00:00&departureTimeScheduledTo=23:59&length=&number=&offset=

Schedules

https://desktopapps.ryanair.com/Calendar?Destination=EIN&IsTwoWay=false&Months=16&Origin=CFU&StartDate=2016-11-06

https://api.ryanair.com/timetable/3/schedules/DUB/LGW/years/2016/months/11

Availability and fares info

https://desktopapps.ryanair.com/en-gb/availability?ADT=1&CHD=0&DateIn=2016-11-24&DateOut=2016-11-10&Destination=STN&FlexDaysIn=6&FlexDaysOut=6&INF=0&Origin=VLC&RoundTrip=true&TEEN=0&ToUs=AGREED

Fair Finder

One way

https://services-api.ryanair.com/farfnd/3/oneWayFares?&departureAirportIataCode=BCN&language=en&limit=16&market=en-gb&offset=0&outboundDepartureDateFrom=2019-02-11&outboundDepartureDateTo=2019-10-28&priceValueTo=150

Return

https://services-api.ryanair.com/farfnd/3/roundTripFares?&arrivalAirportIataCode=STN&departureAirportIataCode=VLC&inboundDepartureDateFrom=2019-04-11&inboundDepartureDateTo=2019-04-28&language=es&limit=16&market=es-es&offset=0&outboundDepartureDateFrom=2019-03-11&outboundDepartureDateTo=2019-03-28&priceValueTo=150

Cheapest per day as well as availability:

https://api.ryanair.com/farefinder/3/oneWayFares/SXF/TSR/cheapestPerDay?market=de-de&outboundMonthOfDate=2017-04-01

FareFinder Image paths

https://www.ryanair.com/de/de.farefinder.json is an JSON file in which several picture paths are declared :)

Currencies

https://desktopapps.ryanair.com/bg-bg/res/currencies

Discounts

https://api.ryanair.com/discount/3/discounts

Markets

https://ryanair.com/ie/en.markets.json https://www.ryanair.com/content/ryanair.markets.json

Requires auth/session

https://desktopapps.ryanair.com/en-gb/checkin/checkinpassengers

@tkon99
Copy link

tkon99 commented Sep 18, 2019

Unlimited, if you pay per GB you can use as many as you want.
Looking at alternative the luminati $0.50 per GB is really unbeatable, scraping services are too small for this usecase (tens of millions of requests per month) so only big rotating proxies will work. I found https://www.proxyrotator.com/ which seems good (it's a fixed price at least) and since this workload doesn't have to be x-threaded (because we can just crawl prices during the entire day) their cheapest plan seems a good option.

@alexcagliari
Copy link

alexcagliari commented Sep 18, 2019

@maximdyatel
Copy link

maximdyatel commented Sep 19, 2019

The same one as the website, you can change the date range they use to get the whole year for a specific route at once iirc

Could you be more specific? Thank you

@psirens
Copy link

psirens commented Sep 21, 2019

My solution was a cron job once per minute. There are approx 2300 easyjet route urls and 4700 ryanair. Each time it downloads one easyjet route, and 6 months of a ryanair route. So route data can be up to three days behind but good enough for my purposes, and reliable. Initially I collected every route within 24hrs but requests started being dropped due to rate-limiting causing issues. The database has reached 400mb but I guess I have never looked to remove historic data.

@alexcagliari87
Copy link

alexcagliari87 commented Oct 21, 2019

Hi guys,
i have a data discrepancy problem between these 2 entrypoints:

  1. https://www.ryanair.com/api/farfnd/3/oneWayFares/CAG/BRI/availabilities
  2. https://www.ryanair.com/api/timtbl/3/schedules/BRI/CAG/years/2020/months/03

If you see the results from the first API yu can see that the flights, in this case, are scheduled until October 2020.
If instead the second entrypoint is invoked, the service will run until month 03 (March) ... from month 04 onwards he returns "{" code ":" ResourceNotFound "," message ":" Resource not found "}".
Do any of you know an entrypoint from which you can get month-to-month schedules updated? I necessarily need the flight number and the scheduled time..
@vool @maximdyatel @mtrovo @tkon99

@caltv
Copy link

caltv commented Nov 12, 2019

Seeing some weird behaviour from availability over the last week, it switches between a higher and lower fare every few minutes but the website never changes

https://desktopapps.ryanair.com/en-gb/availability?RoundTrip=false&DateOut=2020-03-02&Destination=DUB&Origin=BCN&ToUs=AGREED

e.g endpoint shows "amount":25.570000000

website shows

Screenshot 2019-11-12 at 08 37 47

@caltv
Copy link

caltv commented Nov 13, 2019

And today the fare on the website switched to the lower fare that the API was alternating between last week...

@wesleygas
Copy link

wesleygas commented Jan 7, 2020

It seems that almost all endpoints except for schedules, availability and farefinder are returning 404/401. Months passed since I've created my account and I still haven't heard from them.

I'm especially interested in the Airport data, does anyone has any lead about how to get it?

@barrypearseburke
Copy link

barrypearseburke commented Feb 1, 2020

Hi Guys
Ive been using
https://www.ryanair.com/api/farfnd/3/oneWayFares/ORIGIN_AIRPORT_CODE/DEST_AIRPORT_CODE/cheapestPerDay?outboundDateFrom=2020-02-01&outboundDateTo=2021-02-01
to give me the cheapest rates per day.
The api is seem cheaper for a lot of flights compared to the website from what i can see. Anybody else use this and get this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment