Born in Sobreda in 1994, Ricardo Horta made his senior debut with Vitória F.C. in 2013 and now plays for Portugal Olympic football team. He has also played for Málaga CF. He plays as a forward. He has represented the Portugal national under-19 football team and the Portugal men's national football team.
Official accounts listed on Wikidata.
| STRT | FC | FA | YC | RC | G | A | SHOT | SOG | OFF | |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-27 Liga Portugal | 7 | 2 | 4 | 1 | 0 | 2 | 0 | 16 | 3 | 1 |
| 2026-27 Conference League | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 5 | 1 | 1 |
| 2026 International Friendly | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Includes finals, playoffs and exhibition games, so totals run higher than regular-season figures.
| Season | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-26 UEFA Europa LeagueBraga | 13 | 4 | 4 | 18 | 9 | 1,012 | 1 | 0 | 2 | 13 | 0 | 7 | 8 | 0 | – | 11 | 0 |
| 2026 International FriendlyPortugal | 1 | 0 | 0 | 1 | 0 | 45 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | – | 0 | 0 |
| 2024-25 UEFA Europa LeagueBraga | 8 | 1 | 1 | 13 | 4 | 677 | 2 | 0 | 0 | 8 | 0 | 8 | 6 | 0 | – | 11 | 0 |
| 2023-24 UEFA Champions LeagueBraga | 6 | 0 | 2 | 17 | 6 | 503 | 1 | 0 | 1 | 6 | 0 | 1 | 8 | 0 | – | 10 | 0 |
| 2022 FIFA World CupPortugal | 3 | 1 | 0 | 3 | 2 | 117 | 0 | 0 | 0 | 3 | 2 | 3 | 1 | 0 | – | 2 | 0 |
| 2022 International FriendlyPortugal | 1 | 0 | 0 | 0 | 0 | 14 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | – | 0 | 0 |
| 2022-23 UEFA Europa LeagueBraga | 6 | 2 | 2 | 16 | 8 | 508 | 1 | 0 | 1 | 6 | 0 | 1 | 8 | 0 | – | 4 | 0 |
| 2022 UEFA Nations LeaguePortugal | 4 | 1 | 0 | 3 | 1 | 72 | 0 | 0 | 0 | 4 | 4 | 0 | 0 | 0 | – | 0 | 0 |
| 2021-22 UEFA Europa LeagueBraga | 12 | 4 | 4 | 27 | 8 | 1,119 | 0 | 0 | 1 | 12 | 0 | 9 | 11 | 0 | 1 | 15 | 0 |
| 2020-21 UEFA Europa LeagueBraga | 7 | 3 | 1 | 13 | 7 | 429 | 0 | 0 | 0 | 7 | 2 | 1 | 5 | 0 | – | 6 | 0 |
| 2019-20 UEFA Europa LeagueBraga | 11 | 6 | 0 | 11 | 5 | 852 | 0 | 0 | 0 | 8 | 1 | 3 | 6 | 0 | – | 11 | 0 |
| 2018-19 UEFA Europa LeagueBraga | 2 | 2 | – | – | – | 179 | – | – | – | – | – | – | – | – | – | – | – |
| 2017-18 UEFA Europa LeagueBraga | 7 | 1 | 0 | 5 | 3 | 317 | 0 | 0 | 0 | 4 | 3 | 2 | 3 | 0 | – | 2 | 0 |
| 2016-17 UEFA Europa LeagueBraga | 5 | 1 | 2 | 12 | 3 | 351 | 0 | 0 | 1 | 5 | 1 | 4 | 1 | 0 | – | 9 | 0 |
| 2015-16 LaLigaMálaga | 17 | 0 | 0 | 18 | 2 | 781 | 2 | 0 | 3 | 17 | 8 | 17 | 6 | 0 | – | 10 | 0 |
| 2014-15 LaLigaMálaga | 31 | 1 | 1 | 39 | 16 | 1,519 | 3 | 0 | 4 | 31 | 15 | 17 | 25 | 0 | – | 21 | 0 |
| Career16 seasons | 134 | 27 | 17 | 196 | 74 | 8,495 | 11 | 0 | 13 | 126 | 38 | 74 | 89 | 0 | 1 | 112 | 0 |
Stats from official league and public sports feeds. Updated hourly. Career and honours from Wikidata (CC0).
| Game | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1st Leg v SC FreiburgW 2-1 1 May | 0 | 0 | 0 | 0 | 26 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | – | 1 | 0 |
| 2nd Leg - Braga advance 5-3 on aggregate @ Real BetisW 4-2 17 Apr | 1 | 1 | 2 | 2 | 90 | 0 | 0 | 2 | 1 | 0 | 1 | 0 | 0 | – | 2 | 0 |
| 1st Leg v Real BetisD 1-1 9 Apr | 0 | 0 | 1 | 1 | 77 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | – | 1 | 0 |
| 2nd Leg - Braga advance 4-2 on aggregate v FerencvarosW 4-0 19 Mar | 2 | 0 | 3 | 3 | 76 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | – | 0 | 0 |
| 1st Leg @ FerencvarosL 0-2 13 Mar | 0 | 0 | 1 | 0 | 90 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | – | 2 | 0 |
| 30 Jan @ Go Ahead EaglesD 0-0 30 Jan | 0 | 0 | 0 | 0 | 90 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | – | 0 | 0 |
| 23 Jan v Nottingham ForestW 1-0 23 Jan | 0 | 0 | 2 | 0 | 75 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | – | 0 | 0 |
| 12 Dec @ NiceW 1-0 12 Dec | 0 | 0 | 1 | 0 | 90 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | – | 0 | 0 |
| 28 Nov @ RangersD 1-1 28 Nov | 0 | 0 | 3 | 2 | 90 | 1 | 0 | 0 | 1 | 0 | 2 | 2 | 0 | – | 1 | 0 |
| 7 Nov v Racing GenkL 3-4 7 Nov | 0 | 1 | 1 | 0 | 77 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | – | 4 | 0 |
| 24 Oct v Red Star BelgradeW 2-0 24 Oct | 0 | 2 | 1 | 0 | 90 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | – | 0 | 0 |
| 3 Oct @ CelticW 2-0 3 Oct | 1 | 0 | 1 | 1 | 70 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | – | 0 | 0 |
| 25 Sept v Feyenoord RotterdamW 1-0 25 Sept | 0 | 0 | 2 | 0 | 71 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | – | 0 | 0 |
| Split | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HomeHome or away, 23W | 36 | 0.3 | 0.3 | 1.6 | 0.6 | 75.9 | 0.0 | 0.0 | 0.1 | 0.9 | 0.1 | 0.4 | 0.4 | 0.0 | 0.0 | 0.7 | 0.0 |
| AwayHome or away, 14W | 35 | 0.3 | 0.1 | 1.6 | 0.7 | 77.5 | 0.1 | 0.0 | 0.1 | 0.9 | 0.1 | 0.6 | 0.9 | 0.0 | – | 1.2 | 0.0 |
| WinsResult, 37W | 37 | 0.5 | 0.2 | 1.9 | 0.8 | 78.3 | 0.0 | 0.0 | 0.1 | 0.8 | 0.1 | 0.5 | 0.5 | 0.0 | 0.0 | 0.4 | 0.0 |
| LossesResult, 0W | 21 | 0.1 | 0.1 | 1.4 | 0.4 | 75.1 | 0.1 | 0.0 | 0.0 | 1.0 | 0.1 | 0.6 | 1.1 | 0.0 | – | 1.9 | 0.0 |
| DrawsResult, 0W | 13 | 0.1 | 0.2 | 1.2 | 0.6 | 74.7 | 0.1 | 0.0 | 0.0 | 0.9 | 0.2 | 0.4 | 0.6 | 0.0 | – | 1.2 | 0.0 |
| Regular seasonStage, 37W | 71 | 0.3 | 0.2 | 1.6 | 0.7 | 76.7 | 0.1 | 0.0 | 0.1 | 0.9 | 0.1 | 0.5 | 0.7 | 0.0 | 0.0 | 1.0 | 0.0 |
| RangersOpponent, 1W | 5 | 0.0 | 0.0 | 1.8 | 0.6 | 82.0 | 0.2 | 0.0 | 0.0 | 1.0 | 0.2 | 1.0 | 1.2 | 0.0 | – | 1.4 | 0.0 |
| FC Zorya LuhanskOpponent, 2W | 4 | 0.8 | 0.0 | 0.3 | 0.3 | 66.8 | 0.0 | 0.0 | 0.0 | 0.5 | 0.3 | 0.0 | 0.0 | 0.0 | – | 0.0 | 0.0 |
| AS RomaOpponent, 0W | 3 | 0.0 | 0.0 | 0.7 | 0.0 | 49.3 | 0.3 | 0.0 | 0.0 | 1.0 | 0.3 | 0.7 | 1.3 | 0.0 | – | 1.7 | 0.0 |
| Ludogorets RazgradOpponent, 2W | 3 | 0.3 | 1.0 | 2.7 | 1.7 | 66.3 | 0.0 | 0.0 | 0.0 | 1.0 | 0.3 | 1.0 | 0.3 | 0.0 | – | 1.0 | 0.0 |
| Red Star BelgradeOpponent, 1W | 3 | 0.0 | 0.7 | 1.7 | 0.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.7 | 0.7 | 0.0 | – | 1.0 | 0.0 |
| Union St.-GilloiseOpponent, 0W | 3 | 0.0 | 0.7 | 1.3 | 0.7 | 84.3 | 0.3 | 0.0 | 0.0 | 1.0 | 0.0 | 0.3 | 2.3 | 0.0 | – | 1.7 | 0.0 |
| 1. FC Union BerlinOpponent, 1W | 2 | 0.0 | 0.0 | 2.0 | 0.5 | 90.0 | 0.5 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.5 | 0.0 | – | 0.5 | 0.0 |
| AEK AthensOpponent, 2W | 2 | 1.0 | 0.0 | 4.5 | 2.5 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.5 | 0.5 | 0.0 | – | 1.0 | 0.0 |
| AS MonacoOpponent, 2W | 2 | 0.0 | 0.0 | 1.5 | 0.0 | 90.0 | 0.0 | 0.0 | 0.5 | 1.0 | 0.0 | 1.0 | 0.5 | 0.0 | – | 0.5 | 0.0 |
| BesiktasOpponent, 2W | 2 | 0.5 | 0.0 | 1.5 | 0.5 | 75.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.5 | 0.5 | 0.0 | – | 1.0 | 0.0 |
| FC MidtjyllandOpponent, 1W | 2 | 1.0 | 0.0 | 1.5 | 1.0 | 86.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.5 | 2.0 | 0.0 |
| FerencvarosOpponent, 1W | 2 | 1.0 | 0.0 | 2.0 | 1.5 | 83.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.5 | 0.5 | 0.0 | – | 1.0 | 0.0 |
| FH HafnarfjordurOpponent, 2W | 2 | – | – | – | – | 84.0 | – | – | – | – | – | – | – | – | – | – | – |
| Istanbul BasaksehirOpponent, 1W | 2 | 0.0 | 0.0 | 0.0 | 0.0 | 14.5 | 0.0 | 0.0 | 0.0 | 1.0 | 1.0 | 0.5 | 0.5 | 0.0 | – | 0.5 | 0.0 |
| KonyasporOpponent, 1W | 2 | 0.5 | 0.5 | 2.0 | 0.5 | 56.5 | 0.0 | 0.0 | 0.0 | 1.0 | 0.5 | 0.5 | 0.0 | 0.0 | – | 0.5 | 0.0 |
| Malmö FFOpponent, 2W | 2 | 1.0 | 0.0 | 4.5 | 2.5 | 79.5 | 0.0 | 0.0 | 0.5 | 1.0 | 0.0 | 0.5 | 1.0 | 0.0 | – | 0.0 | 0.0 |
| Real BetisOpponent, 1W | 2 | 0.5 | 0.5 | 1.5 | 1.5 | 83.5 | 0.0 | 0.0 | 1.0 | 1.0 | 0.0 | 1.0 | 0.5 | 0.0 | – | 1.5 | 0.0 |
| Shakhtar DonetskOpponent, 0W | 2 | 0.0 | 0.5 | 2.0 | 0.5 | 74.0 | 0.0 | 0.0 | 0.5 | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | – | 3.0 | 0.0 |
| Sheriff TiraspolOpponent, 1W | 2 | 0.5 | 0.5 | 3.0 | 1.0 | 105 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.5 | 0.0 | – | 1.0 | 0.0 |
| Slovan BratislavaOpponent, 1W | 2 | 0.0 | 0.0 | 2.5 | 1.5 | 80.5 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 0.5 | 0.0 | – | 1.5 | 0.0 |
| Spartak MoscowOpponent, 2W | 2 | 1.5 | – | – | – | 90.0 | – | – | – | – | – | – | – | – | – | – | – |
| Wolverhampton WanderersOpponent, 1W | 2 | 0.5 | 0.0 | 1.0 | 0.5 | 80.5 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.0 | 0.0 | – | 1.5 | 0.0 |
| AIKOpponent, 1W | 1 | – | – | – | – | 15.0 | – | – | – | – | – | – | – | – | – | – | – |
| Bodo/GlimtOpponent, 0W | 1 | 0.0 | 0.0 | 2.0 | 1.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 0.0 | – | 2.0 | 0.0 |
| Brøndby IFOpponent, 1W | 1 | 1.0 | – | – | – | 90.0 | – | – | – | – | – | – | – | – | – | – | – |
| CelticOpponent, 1W | 1 | 1.0 | 0.0 | 1.0 | 1.0 | 70.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | – | 0.0 | 0.0 |
| Feyenoord RotterdamOpponent, 1W | 1 | 0.0 | 0.0 | 2.0 | 0.0 | 71.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.0 | 0.0 | – | 0.0 | 0.0 |
| Go Ahead EaglesOpponent, 0W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.0 | 0.0 | – | 0.0 | 0.0 |
| IF ElfsborgOpponent, 0W | 1 | 0.0 | 0.0 | 1.0 | 0.0 | 87.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.0 | 0.0 | – | 1.0 | 0.0 |
| KAA GentOpponent, 0W | 1 | 0.0 | 0.0 | 4.0 | 1.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 0.0 | – | 2.0 | 0.0 |
| LazioOpponent, 1W | 1 | 1.0 | 0.0 | 3.0 | 2.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 0.0 | – | 0.0 | 0.0 |
| Leicester CityOpponent, 0W | 1 | 0.0 | 1.0 | 1.0 | 1.0 | 69.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | – | 1.0 | 0.0 |
| Maccabi Tel-AvivOpponent, 1W | 1 | 0.0 | 0.0 | 4.0 | 0.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | – | 1.0 | 0.0 |
| MarseilleOpponent, 0W | 1 | 1.0 | 0.0 | 3.0 | 1.0 | 73.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 2.0 | 0.0 | – | 0.0 | 0.0 |
| NiceOpponent, 1W | 1 | 0.0 | 0.0 | 1.0 | 0.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 0.0 | – | 0.0 | 0.0 |
| Nottingham ForestOpponent, 1W | 1 | 0.0 | 0.0 | 2.0 | 0.0 | 75.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.0 | 0.0 | – | 0.0 | 0.0 |
| OlympiacosOpponent, 0W | 1 | 0.0 | 0.0 | 2.0 | 1.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 2.0 | 1.0 | 0.0 | – | 3.0 | 0.0 |
| Racing GenkOpponent, 0W | 1 | 0.0 | 1.0 | 1.0 | 0.0 | 77.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | – | 4.0 | 0.0 |
| SC FreiburgOpponent, 1W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 26.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | – | 1.0 | 0.0 |
| TSG HoffenheimOpponent, 1W | 1 | 0.0 | 1.0 | 0.0 | 0.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | – | 0.0 | 0.0 |
| Estádio Municipal de BragaGround, 23W | 36 | 0.3 | 0.3 | 1.6 | 0.6 | 75.9 | 0.0 | 0.0 | 0.1 | 0.9 | 0.1 | 0.4 | 0.4 | 0.0 | 0.0 | 0.7 | 0.0 |
| Ibrox Stadium, GlasgowGround, 0W | 3 | 0.0 | 0.0 | 2.3 | 1.0 | 76.7 | 0.3 | 0.0 | 0.0 | 1.0 | 0.3 | 1.3 | 1.7 | 0.0 | – | 2.0 | 0.0 |
| Huvepharma Arena, RazgradGround, 1W | 2 | 0.5 | 0.0 | 2.0 | 1.5 | 54.5 | 0.0 | 0.0 | 0.0 | 1.0 | 0.5 | 0.5 | 0.5 | 0.0 | – | 0.5 | 0.0 |
| Slavutych Arena, ZaporizhyaGround, 1W | 2 | 0.5 | 0.0 | 0.0 | 0.0 | 77.5 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.0 | – | 0.0 | 0.0 |
| Stadio Olimpico, RomaGround, 0W | 2 | 0.0 | 0.0 | 0.5 | 0.0 | 43.0 | 0.5 | 0.0 | 0.0 | 1.0 | 0.5 | 1.0 | 1.5 | 0.0 | – | 2.0 | 0.0 |
| Allianz Riviera, NiceGround, 1W | 1 | 0.0 | 0.0 | 1.0 | 0.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 0.0 | – | 0.0 | 0.0 |
| Arena LvivGround, 0W | 1 | 0.0 | 0.0 | 1.0 | 0.0 | 58.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | – | 2.0 | 0.0 |
| Athens Olympic StadiumGround, 1W | 1 | 1.0 | 0.0 | 4.0 | 4.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 0.0 | – | 2.0 | 0.0 |
| Borås Arena, BorasGround, 0W | 1 | 0.0 | 0.0 | 1.0 | 0.0 | 87.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.0 | 0.0 | – | 1.0 | 0.0 |
| Brøndby StadionGround, 1W | 1 | 1.0 | – | – | – | 90.0 | – | – | – | – | – | – | – | – | – | – | – |
| Celtic Park, GlasgowGround, 1W | 1 | 1.0 | 0.0 | 1.0 | 1.0 | 70.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | – | 0.0 | 0.0 |
| De Adelaarshorst, DeventerGround, 0W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 90.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 1.0 | 0.0 | – | 0.0 | 0.0 |
| Eleda Stadion, MalmoGround, 1W | 1 | 1.0 | 0.0 | 5.0 | 2.0 | 85.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 1.0 | 2.0 | 0.0 | – | 0.0 | 0.0 |
| Estadio La Cartuja, SevillaGround, 1W | 1 | 1.0 | 1.0 | 2.0 | 2.0 | 90.0 | 0.0 | 0.0 | 2.0 | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | – | 2.0 | 0.0 |