On March 31st, 2024 at 05:27 local time, Ryanair’s first domestic flight in Morocco departed Marrakech, which was performed by the Boeing 737-8AS with registration EI-DHG. The aircraft covered flight FR6741 to Oujda, where it landed at 06:26 local time.
Thus, Ryanair (FR/RYR) entered the Moroccan domestic market, the first European airline to do so. Agadir (AGA/GMAD), Beni-Mellal (BEM/GMMD), Dakhla (VIL/GMMH), Errachidia (ERH/GMFK), Essaouira (ESU/GMMI), Fes (FEZ/GMFF), Marrakech (RAK/GMMX), Nador (NDR/GMMW), Ouarzazate (OZZ/GMMZ), Oujda (OUD/GMFO), Rabat (RBA/GMME), Tangier (TNG/GMMT) and Tetuan (TTU/GMTN) are part of Ryanair’s schedule in Morocco, although not all airports have domestic service operated by the airline.

Ryanair domestic routes in Morocco
| From | To | Weekly flights | Aircraft |
|---|---|---|---|
| Agadir (AGA) | Fes (FEZ) | 2 | Boeing 737-800 |
| Agadir (AGA) | Oujda (OUD) | 2 | Boeing 737-800 |
| Marrakech (RAK) | Errachidia (ERH) | 3 | Boeing 737-800 |
| Marrakech (RAK) | Fes (FEZ) | 4 | Boeing 737-800 |
| Marrakech (RAK) | Oujda (OUD) | 4 | Boeing 737-800 |
| Marrakech (RAK) | Tangier (TNG) | 4 | Boeing 737-800 |
| Marrakech (RAK) | Tetuan (TTU) | 2 | Boeing 737-800 |
| Tangier (TNG) | Agadir (AGA) | 2 | Boeing 737-800 |
| Tangier (TNG) | Beni Mellal (BEM) | 2 | Boeing 737-800 |
| Tangier (TNG) | Oujda (OUD) | 2 | Boeing 737-800 |
According to our data, including all its domestic routes, the European low-cost airline has 27 weekly frequencies within Morocco. Ryanair competes with Air Arabia Maroc (3O/MAC) and Royal Air Maroc (AT/RAM), the other carriers operating in the Moroccan domestic market.
At the same time, the low-cost airline has an important flight schedule between Europe and Morocco, which you can check in our database or see in the table below.
Ryanair routes between Europe and Morocco
| From | To | Weekly flights | Aircraft |
|---|---|---|---|
| Brussels (CRL) | Agadir (AGA) | 3 | Boeing 737-800 |
| Cologne (CGN) | Agadir (AGA) | 2 | Boeing 737-800 |
| Dublin (DUB) | Agadir (AGA) | 3 | Boeing 737-800 |
| Frankfurt (HHN) | Agadir (AGA) | 1 | Boeing 737-800 |
| Karlsruhe (FKB) | Agadir (AGA) | 2 | Boeing 737-800 |
| Krakow (KRK) | Agadir (AGA) | 1 | Boeing 737-800 |
| Lisbon (LIS) | Agadir (AGA) | 1 | Boeing 737-800 |
| Madrid (MAD) | Agadir (AGA) | 2 | 738/7M8 |
| Marseille (MRS) | Agadir (AGA) | 3 | Boeing 737-800 |
| Milan (BGY) | Agadir (AGA) | 2 | Boeing 737-800 |
| Nantes (NTE) | Agadir (AGA) | 3 | Boeing 737-800 |
| Paris (BVA) | Agadir (AGA) | 4 | Boeing 737-800 |
| Perpignan (PGF) | Agadir (AGA) | 2 | Boeing 737-800 |
| Porto (OPO) | Agadir (AGA) | 2 | Boeing 737-800 |
| Strasbourg (SXB) | Agadir (AGA) | 2 | Boeing 737-800 |
| Tenerife (TFS) | Agadir (AGA) | 4 | Boeing 737-800 |
| Toulouse (TLS) | Agadir (AGA) | 2 | Boeing 737-800 |
| Valencia (VLC) | Agadir (AGA) | 2 | Boeing 737-800 |
| Vienna (VIE) | Agadir (AGA) | 2 | Boeing 737-800 |
| Warsaw (WAW) | Agadir (AGA) | 2 | Boeing 737-800 |
| Weeze (NRN) | Agadir (AGA) | 2 | 738/7M8 |
| Girona (GRO) | Beni Mellal (BEM) | 2 | Boeing 737-800 |
| Milan (BGY) | Beni Mellal (BEM) | 2 | Boeing 737-800 |
| Lanzarote (ACE) | Dakhla (VIL) | 2 | 738/7M8 |
| Madrid (MAD) | Dakhla (VIL) | 2 | Boeing 737-800 |
| Brussels (CRL) | Essaouira (ESU) | 2 | Boeing 737-800 |
| Madrid (MAD) | Essaouira (ESU) | 2 | Boeing 737-800 |
| Marseille (MRS) | Essaouira (ESU) | 3 | Boeing 737-800 |
| Paris (BVA) | Essaouira (ESU) | 2 | Boeing 737 MAX 8 |
| Weeze (NRN) | Essaouira (ESU) | 2 | Boeing 737-800 |
| Barcelona (BCN) | Fes (FEZ) | 6 | Boeing 737-800 |
| Bologna (BLQ) | Fes (FEZ) | 2 | Boeing 737-800 |
| Brussels (CRL) | Fes (FEZ) | 4 | Boeing 737-800 |
| Clermont (CFE) | Fes (FEZ) | 3 | Boeing 737-800 |
| Dole (DLE) | Fes (FEZ) | 2 | Boeing 737-800 |
| Eindhoven (EIN) | Fes (FEZ) | 2 | Boeing 737-800 |
| Frankfurt (HHN) | Fes (FEZ) | 3 | Boeing 737-800 |
| Karlsruhe (FKB) | Fes (FEZ) | 3 | Boeing 737-800 |
| Lille (LIL) | Fes (FEZ) | 2 | Boeing 737-800 |
| Madrid (MAD) | Fes (FEZ) | 6 | Boeing 737-800 |
| Málaga (AGP) | Fes (FEZ) | 8 | Boeing 737-800 |
| Mallorca (PMI) | Fes (FEZ) | 2 | Boeing 737-800 |
| Marseille (MRS) | Fes (FEZ) | 7 | Boeing 737-800 |
| Milan (BGY) | Fes (FEZ) | 4 | 738/7M8 |
| Nantes (NTE) | Fes (FEZ) | 2 | Boeing 737-800 |
| Nimes (FNI) | Fes (FEZ) | 2 | Boeing 737-800 |
| Paris (BVA) | Fes (FEZ) | 6 | Boeing 737-800 |
| Rome (CIA) | Fes (FEZ) | 2 | Boeing 737-800 |
| Toulouse (TLS) | Fes (FEZ) | 3 | Boeing 737-800 |
| Valencia (VLC) | Fes (FEZ) | 4 | Boeing 737-800 |
| Weeze (NRN) | Fes (FEZ) | 2 | Boeing 737-800 |
| Zaragoza (ZAZ) | Fes (FEZ) | 2 | Boeing 737-800 |
| Alicante (ALC) | Marrakech (RAK) | 5 | Boeing 737-800 |
| Barcelona (BCN) | Marrakech (RAK) | 8 | Boeing 737-800 |
| Berlin (BER) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Brussels (BRU) | Marrakech (RAK) | 4 | Boeing 737-800 |
| Brussels (CRL) | Marrakech (RAK) | 5 | Boeing 737-800 |
| Cologne (CGN) | Marrakech (RAK) | 3 | Boeing 737-800 |
| Dole (DLE) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Dublin (DUB) | Marrakech (RAK) | 3 | Boeing 737-800 |
| Eindhoven (EIN) | Marrakech (RAK) | 3 | Boeing 737-800 |
| Faro (FAO) | Marrakech (RAK) | 4 | Boeing 737-800 |
| Frankfurt (HHN) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Gran Canaria (LPA) | Marrakech (RAK) | 4 | Boeing 737-800 |
| Krakow (KRK) | Marrakech (RAK) | 2 | Boeing 737-800 |
| La Rochelle (LRH) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Lanzarote (ACE) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Limoges (LIG) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Lisbon (LIS) | Marrakech (RAK) | 4 | Boeing 737-800 |
| Madrid (MAD) | Marrakech (RAK) | 12 | Boeing 737-800 |
| Málaga (AGP) | Marrakech (RAK) | 12 | Boeing 737-800 |
| Mallorca (PMI) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Marseille (MRS) | Marrakech (RAK) | 10 | Boeing 737-800 |
| Milan (BGY) | Marrakech (RAK) | 8 | 738/7M8 |
| Milan (MXP) | Marrakech (RAK) | 4 | Boeing 737-800 |
| Nimes (FNI) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Paris (BVA) | Marrakech (RAK) | 7 | Boeing 737-800 |
| Paris (XCR) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Perpignan (PGF) | Marrakech (RAK) | 3 | Boeing 737-800 |
| Pisa (PSA) | Marrakech (RAK) | 3 | Boeing 737-800 |
| Porto (OPO) | Marrakech (RAK) | 3 | Boeing 737-800 |
| Rome (CIA) | Marrakech (RAK) | 7 | 738/7M8 |
| Santander (SDR) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Seville (SVQ) | Marrakech (RAK) | 5 | Boeing 737-800 |
| Stockholm (ARN) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Tenerife (TFS) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Toulouse (TLS) | Marrakech (RAK) | 10 | Boeing 737-800 |
| Tours (TUF) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Turin (TRN) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Valencia (VLC) | Marrakech (RAK) | 8 | Boeing 737-800 |
| Venice (TSF) | Marrakech (RAK) | 3 | Boeing 737-800 |
| Weeze (NRN) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Zaragoza (ZAZ) | Marrakech (RAK) | 2 | Boeing 737-800 |
| Barcelona (BCN) | Nador (NDR) | 8 | Boeing 737-800 |
| Brussels (CRL) | Nador (NDR) | 5 | Boeing 737-800 |
| Frankfurt (HHN) | Nador (NDR) | 3 | Boeing 737-800 |
| Madrid (MAD) | Nador (NDR) | 4 | Boeing 737-800 |
| Marseille (MRS) | Nador (NDR) | 5 | Boeing 737-800 |
| Paris (BVA) | Nador (NDR) | 3 | Boeing 737-800 |
| Weeze (NRN) | Nador (NDR) | 5 | 738/7M8 |
| Barcelona (BCN) | Ouarzazate (OZZ) | 2 | Boeing 737-800 |
| Marseille (MRS) | Ouarzazate (OZZ) | 3 | Boeing 737-800 |
| Barcelona (BCN) | Oujda (OUD) | 4 | Boeing 737-800 |
| Brussels (CRL) | Oujda (OUD) | 3 | Boeing 737-800 |
| Marseille (MRS) | Oujda (OUD) | 6 | Boeing 737-800 |
| Paris (BVA) | Oujda (OUD) | 2 | Boeing 737-800 |
| Toulouse (TLS) | Oujda (OUD) | 2 | Boeing 737-800 |
| Weeze (NRN) | Oujda (OUD) | 2 | 738/7M8 |
| Barcelona (BCN) | Rabat (RBA) | 3 | Boeing 737-800 |
| Brussels (CRL) | Rabat (RBA) | 4 | Boeing 737-800 |
| Dublin (DUB) | Rabat (RBA) | 2 | Boeing 737-800 |
| Madrid (MAD) | Rabat (RBA) | 4 | Boeing 737-800 |
| Málaga (AGP) | Rabat (RBA) | 5 | 738/7M8 |
| Marseille (MRS) | Rabat (RBA) | 4 | Boeing 737-800 |
| Paris (BVA) | Rabat (RBA) | 3 | 738/7M8 |
| Rome (CIA) | Rabat (RBA) | 2 | Boeing 737-800 |
| Seville (SVQ) | Rabat (RBA) | 4 | Boeing 737-800 |
| Toulouse (TLS) | Rabat (RBA) | 2 | Boeing 737-800 |
| Weeze (NRN) | Rabat (RBA) | 3 | 738/7M8 |
| Barcelona (BCN) | Tangier (TNG) | 6 | Boeing 737-800 |
| Brussels (CRL) | Tangier (TNG) | 7 | Boeing 737-800 |
| Carcassonne (CCF) | Tangier (TNG) | 3 | Boeing 737-800 |
| Eindhoven (EIN) | Tangier (TNG) | 2 | Boeing 737-800 |
| Karlsruhe (FKB) | Tangier (TNG) | 2 | Boeing 737-800 |
| Lisbon (LIS) | Tangier (TNG) | 3 | Boeing 737-800 |
| Madrid (MAD) | Tangier (TNG) | 14 | Boeing 737-800 |
| Málaga (AGP) | Tangier (TNG) | 6 | Boeing 737-800 |
| Marseille (MRS) | Tangier (TNG) | 5 | Boeing 737-800 |
| Memmingen (FMM) | Tangier (TNG) | 2 | Boeing 737-800 |
| Milan (BGY) | Tangier (TNG) | 4 | 738/7M8 |
| Paris (BVA) | Tangier (TNG) | 6 | Boeing 737-800 |
| Porto (OPO) | Tangier (TNG) | 2 | Boeing 737-800 |
| Toulouse (TLS) | Tangier (TNG) | 4 | Boeing 737-800 |
| Valencia (VLC) | Tangier (TNG) | 6 | Boeing 737-800 |
| Weeze (NRN) | Tangier (TNG) | 5 | Boeing 737-800 |
| Alicante (ALC) | Tetuan (TTU) | 4 | Boeing 737-800 |
| Brussels (CRL) | Tetuan (TTU) | 3 | Boeing 737-800 |
| Madrid (MAD) | Tetuan (TTU) | 5 | Boeing 737-800 |
| Málaga (AGP) | Tetuan (TTU) | 5 | 738/7M8 |
| Marseille (MRS) | Tetuan (TTU) | 3 | Boeing 737-800 |
Moroccan airports where Ryanair operates
The airline operates in 13 airports in the country, offering domestic flights in nine of them. As for the other four, Dakhla, Nador, Ouarzazate and Rabat, Ryanair provides international services from countries such as Belgium, France, Germany, Ireland and/or Spain.
AGADIR
Agadir Al Massira International Airport (AGA/GMAD) operates more than 40 scheduled routes, with Europe being its main market, including destinations from Austria, Belgium, France, Germany, Ireland, Netherlands, Poland, Portugal, Spain and the United Kingdom. It has eight domestic connections, some performed by Ryanair and others by Royal Air Maroc.
BENI MELLAL
Ryanair is the only commercial airline operating in Beni Mellal (BEM/GMMD), providing two routes from Europe and one domestic service in Morocco. Girona, Milan Bergamo and Tangier are its connections, which it serves on 189-seat Boeing 737-800 aircraft, twice a week each.
As announced in the Africa and Middle East report, the low-cost carrier launched flights to Beni Mellal on March 31st, 2025.
DAKHLA
Dakhla Airport (VIL/GMMH) has eight scheduled routes, four international and four domestic. Madrid, Paris Orly, Gran Canaria and Lanzarote, the latter two being Spanish islands in the Atlantic Ocean, are the international connections, and Agadir, Casablanca, Laayoune and Rabat are the domestic routes, all operated by RAM.
ERRACHIDIA
Errachidia Moulay Ali Cherif Airport (ERH/GMFK) is one of the few Moroccan airports to have only domestic flights. Casablanca, Marrakech and Rabat are part of the schedule, with Royal Air Maroc being the main operator, performing two of these routes. Ryanair is the only airline serving from Marrakech.
ESSAOUIRA
Essaouira Airport (ESU/GMMI) has eight connections from Europe and only one domestic. Bordeaux, Brussels, London Stansted, Madrid, Marseille, Paris Beauvais, Paris Orly, Rabat and Weeze are the routes. In accordance with our database, the airport has 19 weekly flights, being two weekly frequencies per route, except Marseille, operated by Ryanair, which has three frequencies a week.
FES
Europe is the main market of Fes Saiss Airport (FEZ/GMFF), having more than 30 regular routes from various countries such as Germany, Belgium, Spain, France, Italy and the United Kingdom. Agadir, Casablanca and Marrakech are the domestic connections, covered by Air Arabia Maroc, Royal Air Maroc and Ryanair.
MARRAKECH
Marrakech Menara International Airport (RAK/GMMX) is Ryanair’s main base in Morocco, as well as being one of the country’s main airports. As with most of them, Europe is its leading market, with routes from Belgium, Denmark, France, Germany, Greece, Ireland, Italy, Malta, Netherlands, Poland, Portugal, Spain, Sweden, Switzerland and the United Kingdom.
In addition, Air Transat is the only operator from the Americas. The Canadian airline serves two times per week between Montreal and Marrakech on Airbus A330-200s.
NADOR
Amsterdam, Barcelona, Brussels, Cologne, Eindhoven, Frankfurt, Madrid, Marseille, Montpellier, Murcia, Palma de Mallorca, Paris, Rotterdam, Strasbourg and Weeze are the routes from Europe at Nador International Airport (NDR/GMMW). Casablanca, Rabat and Tangier are part of the domestic schedule.
OUARZAZATE
Ryanair operates flights to Ouarzazate Airport (OZZ/GMMZ) from Barcelona, Marseille and London Stansted. The French capital is the other route offered to/from OZZ, performed by Transavia France, two times a week. Regarding the domestic connections, Casablanca and Zagora (OZG/GMAZ) are part of the network, both of them provided by Royal Air Maroc.
OUJDA
About 15 routes are served from Oujda Angads Airport (OUD/GMFO), including Belgium, Spain, France, Netherlands and Morocco. Agadir, Casablanca, Marrakech, Rabat and Tangier are all operated by Ryanair, and RAM also flies to Casablanca.
RABAT
Rabat-Sale Airport (RBA/GMME), in addition to having several routes to Belgium, Spain, France, Italy, Germany, Netherlands and the United Kingdom, is the only one on the list to have flights to another African country: Tunisia.
Nouvelair Tunisie (BJ/LBT) serves twice-weekly between Tunis and Rabat with Airbus A320neo aircraft.
TANGIER
Spain and France are the main markets from Tangier Ibn Battouta Airport (TNG/GMMT), with more than 15 routes between the two countries. Tangier is also linked to Belgium, Denmark, Italy, Netherlands, Portugal, United Kingdom and Türkiye (Istanbul IST and Istanbul SAW), and has seven domestic routes (Agadir, Al Hoceima, Beni Mellal, Casablanca, Marrakech, Nador and Oujda).
TETUAN
Tetuan Sania Ramel Airport (TTU/GMTN) has flights from Al Hoceima, Alicante, Amsterdam, Brussels, Casablanca, Madrid, Málaga, Marrakech, Marseille and Murcia. Ryanair operates in Tetuan one of its shortest routes in its schedule, being Málaga – Tetuan, which averages 25 minutes flight time (FR4540/FR4541).
The same occurs between Tangier and Málaga, also operated by Ryanair. Flights take approximately 30 minutes (FR2391/FR2390).
How does Ryanair come to operate domestic flights in Morocco?
The low cost airline requested authorization from the Directorate General of Civil Aviation of Morocco to enter the domestic market in November 2023, which was rapidly authorized. Ryanair became the first and, so far, the only foreign airline to operate domestic flights in the country.
Its entry into the domestic Moroccan market followed a major expansion in the African country, which also included more than 20 new international routes from Europe and the establishment of a fourth base, Tangier.
Ryanair is the main European airline operating in Morocco, leading in the number of seats offered and holding a significant market share. Furthermore, the airline plans to continue strengthening its operations in the country, aiming to double its passenger traffic by 2030.
Cover photo: © Joshua Ruppert – JetPhotos (Marrakech-Menara International Airport – Morocco)






































