Clubs
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2025 | Al Ahly | FC Sochi | — |
| 9 Aug 2024 | FC Sochi | Al Ahly | Loan |
| 8 Feb 2024 | Wydad AC | FC Sochi | € 500K |
| 1 Jan 2020 | Volos NFC | Wydad AC | Free |
| 1 Jul 2019 | Olympique Safi | Volos NFC | Free |
| 14 Jul 2025 | Al Ahly | FC Sochi | Back from Loan |
| 1 Aug 2026 | FC Sochi | Wydad AC | Free agent |
| 31 Jul 2026 | FC Sochi | Wydad AC | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | Friendlies | Morocco | 4 | 4 | 353 | — | 0 | 1 | 0 | 7.05 |
| 2025/26 | Premier League | PFC Sochi | 8 | 7 | 649 | 0 | 1 | 4 | 0 | 6.64 |
| 2024/25 | Premier League | Al Ahly | 8 | 8 | 588 | 1 | 0 | 1 | 0 | 7.08 |
| 2024/25 | CAF Champions League | Al Ahly | 4 | 4 | 353 | — | 0 | 1 | 0 | 7.05 |
| 2024/25 | FIFA Intercontinental Cup | Al Ahly | 4 | 4 | 353 | — | 0 | 1 | 0 | 7.05 |
| 2024/25 | CAF Super Cup | Al Ahly | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2024 | Friendlies | Morocco | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2023/24 | Premier League | PFC Sochi | 10 | 5 | 499 | 1 | 3 | 0 | 0 | 7.18 |
| 2023/24 | Botola Pro | Wydad AC | 11 | 11 | 989 | 2 | 0 | 2 | 0 | 7.70 |
| 2023/24 | Cup | PFC Sochi | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2023/24 | CAF Champions League | Wydad AC | 6 | 6 | 540 | 1 | — | 0 | 0 | 6.80 |
| 2023/24 | African Football League | Wydad AC | 6 | 6 | 507 | 1 | — | 0 | 0 | — |
| 2023 | Africa Cup of Nations | Morocco | 3 | 1 | 104 | — | — | 0 | 0 | 7.00 |
| 2023 | World Cup - Qualification Africa | Morocco | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2023 | Africa Cup of Nations Qualification | Morocco | 3 | 2 | 202 | 0 | — | 0 | 0 | 7.70 |
| 2023 | Friendlies | Morocco | 4 | 3 | 298 | 0 | — | 0 | 0 | — |
| 2022/23 | Botola Pro | Wydad AC | 27 | 26 | 2335 | 2 | — | 8 | 0 | — |
| 2022/23 | CAF Super Cup | Wydad AC | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | CAF Champions League | Wydad AC | 14 | 14 | 1260 | 1 | 1 | 4 | 0 | 7.32 |
| 2022/23 | FIFA Intercontinental Cup | Wydad AC | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2022 | World Cup - Qualification Africa | Morocco | 1 | 0 | 9 | 0 | — | 0 | 0 | — |
| 2022 | Friendlies | Morocco | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022 | World Cup | Morocco | 6 | 2 | 316 | 0 | 1 | 0 | 0 | 6.63 |
| 2021/22 | Botola Pro | Wydad AC | 24 | 21 | 1978 | 1 | — | 4 | 0 | — |
| 2021/22 | CAF Champions League | Wydad AC | 13 | 13 | 1089 | 0 | — | 1 | 0 | 7.10 |
| 2020/21 | Botola Pro | Wydad AC | 25 | 25 | 2201 | 2 | — | 5 | 0 | — |
| 2020/21 | CAF Champions League | Wydad AC | 11 | 11 | 988 | 0 | — | 1 | 0 | 7.01 |
| 2019/20 | Botola Pro | Wydad AC | 14 | 11 | 1056 | 0 | — | 2 | 0 | — |
| 2019/20 | Super League 1 | Volos | 8 | 3 | 208 | 1 | — | 0 | 0 | — |
| 2019/20 | Cup | Volos | 2 | 2 | 159 | 0 | — | 0 | 0 | — |
| 2019/20 | CAF Champions League | Wydad AC | 3 | 3 | 218 | 0 | 1 | 1 | 0 | 6.57 |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
