Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Farense | 2024/25 – 2025/26 | 25 | 4 | 0 |
| AVS | 2025/26 | 30 | 4 | 1 |
| Apoel Nicosia | 2022/23 – 2023/24 | 11 | 0 | 0 |
| Samsunspor | 2020/21 – 2022/23 | 19 | 5 | 2 |
| FK Crvena Zvezda | 2019/20 – 2020/21 | 32 | 8 | 2 |
| Tondela | 2017/18 – 2018/19 | 67 | 23 | 13 |
| Panetolikos | 2016/17 | 13 | 1 | 0 |
| Arouca | 2016/17 | 17 | 3 | 2 |
| Vitória SC | 2010/11 – 2015/16 | 82 | 12 | 3 |
| Portugal U21 | 2014 – 2015 | 2 | 0 | 0 |
| Duisburg | 2015/16 | 9 | 0 | 0 |
| Guimaraes B | 2012/13 – 2013/14 | 46 | 7 | — |
| Os Limianos | 2011/12 | 18 | 1 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 17 Jul 2024 | Apoel Nicosia | Farense | Free |
| 1 Jul 2023 | Samsunspor | Apoel Nicosia | Free |
| 15 Sept 2020 | FK Crvena Zvezda | Samsunspor | — |
| 2 Jul 2019 | Tondela | FK Crvena Zvezda | — |
| 2 Aug 2017 | Arouca | Tondela | € 85K |
| 1 Jan 2017 | Panetolikos | Arouca | Free |
| 3 Jul 2016 | Guimaraes | Panetolikos | Free |
| 27 Jan 2016 | Guimaraes | MSV Duisburg | Loan |
| 27 Aug 2025 | Farense | AVS | Transfer |
| 28 Jul 2026 | AVS | Tondela | Free agent |
| 27 Jul 2026 | AVS | Tondela | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | Primeira Liga | AVS | 28 | 26 | 1942 | 4 | 1 | 4 | 0 | 6.83 |
| 2025/26 | Taça de Portugal | AVS | 2 | — | — | 0 | 0 | 0 | 0 | — |
| 2024/25 | Primeira Liga | Farense | 24 | 19 | 1658 | 3 | 0 | 1 | 0 | 6.89 |
| 2024/25 | Taça de Portugal | Farense | 1 | — | — | 1 | 0 | 0 | 0 | — |
| 2023/24 | 1. Division | Apoel Nicosia | 5 | 3 | 174 | 0 | 0 | 0 | 0 | 6.68 |
| 2023/24 | UEFA Europa Conference League | Apoel Nicosia | 6 | — | — | 0 | 0 | 0 | 0 | — |
| 2022/23 | 1. Lig | Samsunspor | 3 | 2 | 32 | 1 | — | 0 | 0 | 6.80 |
| 2021/22 | 1. Lig | Samsunspor | 13 | 13 | 1157 | 4 | 2 | 2 | 0 | 7.22 |
| 2020/21 | 1. Lig | Samsunspor | 3 | 3 | 250 | — | — | 0 | 0 | 6.93 |
| 2020/21 | Super Liga | FK Crvena Zvezda | 4 | — | — | 1 | 0 | 0 | 0 | — |
| 2020/21 | UEFA Champions League | FK Crvena Zvezda | 2 | — | — | 1 | 0 | 0 | 0 | — |
| 2019/20 | Super Liga | FK Crvena Zvezda | 18 | — | — | 5 | 2 | 0 | 0 | — |
| 2019/20 | Serbian Cup | FK Crvena Zvezda | 3 | — | — | 1 | 0 | 0 | 0 | — |
| 2019/20 | UEFA Champions League | FK Crvena Zvezda | 5 | 3 | 250 | — | — | 2 | 1 | 6.22 |
| 2018/19 | Primeira Liga | Tondela | 31 | 30 | 2716 | 12 | 6 | 8 | 2 | 7.06 |
| 2018/19 | Taça de Portugal | Tondela | 3 | — | — | 2 | 0 | 0 | 0 | — |
| 2018/19 | League Cup | Tondela | 1 | — | — | 0 | 0 | 1 | 0 | — |
| 2017/18 | Primeira Liga | Tondela | 32 | 30 | 2684 | 9 | 7 | 10 | 0 | 7.12 |
| 2016/17 | Cup | Panetolikos | 2 | 1 | 107 | 0 | — | 0 | 0 | — |
| 2016/17 | Primeira Liga | Arouca | 17 | 15 | 1380 | 3 | 2 | 3 | 0 | 6.82 |
| 2016/17 | Super League 1 | Panetolikos | 11 | — | — | 1 | 0 | 2 | 0 | — |
| 2015/16 | Taça da Liga | Vitória SC | 1 | 0 | 32 | 0 | — | 0 | 0 | — |
| 2015 | UEFA U21 Championship | Portugal U21 | 1 | 0 | 31 | 0 | — | 0 | 0 | — |
| 2015/16 | 2. Bundesliga | Duisburg | 9 | — | — | 0 | 0 | 2 | 0 | — |
| 2015/16 | Primeira Liga | Vitória SC | 16 | 12 | 1035 | 1 | 2 | 3 | 0 | 6.51 |
| 2015/16 | UEFA Europa League | Vitória SC | 2 | — | — | 1 | 0 | 1 | 0 | — |
| 2015 | Euro U21 - Qualification | Portugal U21 | 1 | — | — | 0 | 0 | 0 | 0 | — |
| 2014/15 | Taça de Portugal | Vitória SC | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2014/15 | Primeira Liga | Vitória SC | 32 | — | — | 4 | 1 | 5 | 0 | — |
| 2014/15 | League Cup | Vitória SC | 1 | — | — | 0 | 0 | 0 | 0 | — |
| 2013/14 | Campeonato de Portugal Prio | Guimaraes B | 10 | 10 | 852 | 3 | — | 3 | 0 | — |
| 2013/14 | Taça de Portugal | Vitória SC | 1 | 0 | 16 | 0 | — | 0 | 0 | — |
| 2013/14 | Primeira Liga | Vitória SC | 21 | — | — | 4 | 0 | 5 | 0 | — |
| 2013/14 | League Cup | Vitória SC | 1 | — | — | 1 | 0 | 0 | 0 | — |
| 2013/14 | Super Cup | Vitória SC | 1 | — | — | 0 | 0 | 0 | 0 | — |
| 2013/14 | Europa League | Vitória SC | 4 | — | — | 1 | 0 | 0 | 0 | — |
| 2012/13 | Segunda Liga | Guimaraes B | 36 | 30 | 2721 | 4 | — | 5 | 0 | — |
| 2011/12 | Campeonato de Portugal Prio | Os Limianos | 18 | 5 | 611 | 1 | — | 2 | 0 | — |
| 2010/11 | Primeira Liga | Vitória SC | 1 | 0 | 23 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Injury | 28 Jul 2019 | 7 Aug 2019 | 10 |
| Red Card | 6 Dec 2018 | 8 Dec 2018 | 2 |
| Red Card | 16 Sept 2019 | 18 Sept 2019 | 2 |
| Red Card | 21 Oct 2021 | 23 Oct 2021 | 2 |
| Muscle Injury | 4 Oct 2020 | 4 Mar 2021 | 151 |
| Thigh Injury | 10 Apr 2021 | 20 May 2021 | 40 |
| Injury | 19 Sept 2024 | 12 Dec 2024 | 84 |
| Yellow Cards | 15 Mar 2019 | 17 Mar 2019 | 2 |
| Red Card | 29 Aug 2018 | 31 Aug 2018 | 2 |
| Yellow Cards | 7 Dec 2017 | 9 Dec 2017 | 2 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Taça de Portugal (Portugal) | 2012/2013 | Winner |
| Taça de Portugal (Portugal) | 2010/2011 | 2nd Place |
| Super Cup (Portugal) | 2013 | 2nd Place |
| Super Liga (Serbia) | 2019/2020 | Winner |
| 1. Lig (Türkiye) | 2022/2023 | Winner |
| 1. Division (Cyprus) | 2023/2024 | Winner |
