On October 28, 2026, I collected the apartment listings shown on Mubawab's search pages, for sale and for rent, in seven cities. After removing listings without a price and obvious errors (flats under 20 m², rents under 1,000 DH a month, impossible prices per m²), 3,712 were left: 1,910 for sale and 1,802 for rent. Every figure below is a median: half the listings are above it, half below.
These are asking prices. What a flat actually sells or rents for is usually lower, and the gap is not in this data.
What these numbers describe. Mubawab is a property portal where many listings come from agencies and developers, and its listings lean towards newer and higher-end flats. In Casablanca, 39% of the flats for sale are in five neighbourhoods (Palmier, Oasis, Les Princesses, Californie and Racine), while working-class districts such as Hay Hassani or Sidi Moumen are barely present: 26 of the 359 Casablanca sale listings collected. In Rabat and Meknes, five neighbourhoods hold three quarters of the listings. So read each figure as "what is listed on Mubawab", not "what flats in the city cost". General classifieds such as Avito, where more owners sell directly and every district is present, would very likely show lower prices. A city figure also mixes every flat size: the next sections split it by size and by neighbourhood.
Price per m²: Rabat first, Meknes and Oujda far behind
Rabat leads at 21,928 DH per m². Marrakech (19,231) and Casablanca (18,760) are close behind, then Tangier (15,455) and Agadir (13,067). Meknes (6,200) and Oujda (5,726) sit in a different market: a square metre in Rabat is listed at 3.5 times the price of one in Meknes.
The whole flat tells a slightly different story. Rabat flats for sale are large (144 m² at the median, against 90 m² in Casablanca and 74 m² in Marrakech), so the median Rabat flat is listed at 3.2 million DH, about twice the Casablanca one (1.5 million).
Flat size changes the number
Small flats cost more per m². In Casablanca, a one-bedroom flat is listed at a median of 24,018 DH per m², a three-bedroom one at 16,562 DH. The city median (18,760) sits in between and fits neither. If you are looking at a family flat, use the three-bedroom column.
Median asking price per m² for sale, in DH, by number of bedrooms (listings in brackets; a group needs at least 15 listings):
| City | 1 bedroom | 2 bedrooms | 3 bedrooms |
|---|---|---|---|
| Rabat | 25,687 (16) | 21,429 (103) | 22,146 (182) |
| Marrakech | 24,000 (131) | 18,500 (155) | 17,929 (58) |
| Casablanca | 24,018 (108) | 16,951 (103) | 16,562 (109) |
| Tangier | too few (12) | 14,494 (129) | 16,948 (98) |
| Agadir | 16,871 (28) | 12,958 (209) | 12,822 (76) |
| Meknes | too few (5) | 5,800 (79) | 6,485 (120) |
| Oujda | too few (1) | 6,000 (27) | 5,273 (23) |
Rabat is the exception: three-bedroom flats stay high (22,146 DH per m²) because most of its listings are in Riyad, Agdal and Souissi.
Rent: 17,000 DH a month in Rabat
The median asking rent is 17,000 DH a month in Rabat, 10,000 in Casablanca and Marrakech, 8,900 in Tangier, 6,000 in Agadir and 4,250 in Meknes. Oujda had only 24 rental listings, too few for a reliable median, so it is left out of the rent figures.
Furnished flats push these numbers up: between 34% and 46% of rental listings say "meublé" in the title, depending on the city.
For a flat with two bedrooms, the median is 15,000 DH in Rabat, 12,000 in Casablanca and 10,000 in Marrakech. In Casablanca each extra bedroom adds about 4,000 DH: 8,000 for one bedroom, 12,000 for two, 16,000 for three.
Rent or buy: Casablanca has the lowest ratio
Dividing the price per m² by a year of rent per m² gives the number of years of rent that equal the asking price. It ranges from 12.3 years in Casablanca to 14.5 in Agadir. For someone buying to rent out, Casablanca offers the best gross return in this sample, about 8.1% a year, before charges, vacancy and tax.
Neighbourhoods: from 29,885 to 5,787 DH per m²
At least 15 listings for sale
Counting only neighbourhoods with at least 15 listings for sale, the most expensive is not in Rabat: Tanger City Center is listed at 29,885 DH per m², just ahead of Souissi in Rabat (29,521) and Riyad (25,397). At the other end are Marjane (5,787) and Hamria (7,010) in Meknes, then Mhamid in Marrakech (8,800). Labels such as "Centre" or the city's own name, which Mubawab shows when no neighbourhood is given, are not counted as neighbourhoods.
Every neighbourhood, city by city
Neighbourhoods with at least 8 listings for sale, from the most to the least expensive per m² (DH). Small groups move a lot from one week to the next, so treat a neighbourhood with 8 to 15 listings as a rough indication.
Rabat: 9 neighbourhoods
| Neighbourhood | Listings | Price per m² |
|---|---|---|
| Souissi | 34 | 29,521 |
| Riyad | 99 | 25,397 |
| Hassan - Centre Ville | 13 | 21,645 |
| Haut Agdal | 17 | 20,640 |
| Agdal | 87 | 20,245 |
| Hay El Menzah | 9 | 16,561 |
| Guich Oudaya | 10 | 16,372 |
| Hay Al Fath | 8 | 16,098 |
| L'Ocean | 12 | 14,302 |
Marrakech: 11 neighbourhoods
| Neighbourhood | Listings | Price per m² |
|---|---|---|
| Route Amizmiz | 14 | 29,300 |
| Hivernage | 21 | 23,790 |
| Agdal | 15 | 23,404 |
| Guéliz | 133 | 22,000 |
| Ennakhil (Palmeraie) | 11 | 18,531 |
| Majorelle | 16 | 18,231 |
| Samlalia | 14 | 17,883 |
| Camp Al Ghoul | 8 | 17,788 |
| Route Casablanca | 34 | 16,237 |
| Route de Fez | 8 | 13,985 |
| Mhamid | 15 | 8,800 |
Casablanca: 16 neighbourhoods
| Neighbourhood | Listings | Price per m² |
|---|---|---|
| Casablanca Finance City | 12 | 24,437 |
| Ferme Bretonne (Hay Arraha) | 19 | 23,864 |
| Les princesses | 22 | 23,592 |
| Oasis | 30 | 22,403 |
| Palmier | 40 | 21,965 |
| Gauthier | 15 | 21,111 |
| Val Fleury | 13 | 18,353 |
| Racine | 21 | 18,287 |
| Les Hôpitaux | 10 | 18,189 |
| Californie | 22 | 17,023 |
| Maârif Extension | 12 | 16,816 |
| Bourgogne Ouest | 11 | 16,438 |
| Belvédère | 13 | 14,409 |
| Hay Hassani | 8 | 13,223 |
| Sidi Maarouf | 10 | 11,892 |
| Aïn Sebaâ | 10 | 11,519 |
Tangier: 10 neighbourhoods
| Neighbourhood | Listings | Price per m² |
|---|---|---|
| Tanger City Center | 27 | 29,885 |
| Malabata | 17 | 24,000 |
| Iberie | 8 | 22,544 |
| De La Plage | 23 | 18,056 |
| Castilla | 9 | 14,200 |
| Tanja Balia | 27 | 14,000 |
| Beni Touzine | 10 | 12,738 |
| Moujahidine | 8 | 12,277 |
| Marjane | 10 | 12,154 |
| Route Nationale Assilah (N1) | 18 | 9,100 |
Agadir: 10 neighbourhoods
| Neighbourhood | Listings | Price per m² |
|---|---|---|
| Founti | 10 | 23,717 |
| Secteur Touristique | 17 | 23,571 |
| Haut Founty | 12 | 18,021 |
| Anza | 16 | 16,449 |
| Abattoirs | 24 | 15,562 |
| Hay Mohammadi | 61 | 13,103 |
| Hay Houda | 34 | 12,950 |
| Hay Dakhla | 9 | 11,450 |
| Hay Salam | 35 | 10,748 |
| Haut Anza | 23 | 10,000 |
Meknes: 4 neighbourhoods
| Neighbourhood | Listings | Price per m² |
|---|---|---|
| Hamria | 79 | 7,010 |
| Marjane | 62 | 5,787 |
| Al bassatine | 13 | 5,263 |
| Wislane | 8 | 4,505 |
What goes with a higher price
Flats with a pool are listed at a median of 20,722 DH per m², against 14,875 without one, 39% more. Elevators (18,353 against 12,662) and parking (18,500 against 12,963) show the same pattern. These are associations, not causes: pools and elevators come with newer, higher-end buildings. Paid "premium" listings, 10.8% of all ads, ask 27% more per m² for sale and 28% more in rent than regular ones.
Limits
- Asking prices in listings, not transaction prices.
- One website, and not a neutral one: many listings come from agencies and developers, with newer and higher-end flats over-represented. Owners who sell through Avito, Facebook groups or word of mouth are missing, and so are most working-class districts.
- City medians mix every flat size and neighbourhood. Use the tables by size and by neighbourhood above for a specific flat.
- Up to 12 search pages per city and type, in Mubawab's default order (recent and featured listings first), so the largest cities are sampled rather than complete.
- Fès and Tétouan were not available on the site on the day of collection; Oujda has too few rentals for a rent figure.
Source: public listings on mubawab.ma, collected October 28, 2026.
How the listings were collected and filtered: method.