Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Greenville Triumph | 2023/24 – 2025/26 | 83 | 29 | 2 |
| Kaizer Chiefs | 2017/18 – 2021/22 | 119 | 27 | — |
| Mamelodi Sundowns | 2015/16 – 2017/18 | 57 | 15 | — |
| Club Universitario | 2014/15 – 2015/16 | 24 | 6 | — |
| Águilas Doradas | 2014/15 | 19 | 2 | — |
| Cucuta | 2012/13 – 2013/14 | 30 | 5 | — |
| Millonarios | 2008/09 – 2012/13 | 13 | 0 | — |
| CNI | 2011/12 | 9 | 3 | — |
| Alianza Lima | 2011/12 | 7 | 2 | — |
| Internacional de Bogota | 2010/11 | 34 | 6 | — |
| Colombia U20 | 2009 | 5 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jan 2018 | Mamelodi Sundowns | Kaizer Chiefs | — |
| 5 Sept 2015 | Club Universitario | Mamelodi Sundowns | — |
| 1 Jan 2014 | Cucuta | Rionegro Aguilas | — |
| 13 Sept 2012 | Millonarios | Cucuta | Free |
| 1 Jan 2012 | — | Millonarios | — |
| 1 Sept 2011 | Alianza Lima | — | — |
| 1 Jan 2012 | CNI | Millonarios | — |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | USL League One Cup | Greenville Triumph | 1 | 1 | 82 | 0 | — | 0 | 0 | — |
| 2025/26 | USL League One | Greenville Triumph | 17 | 15 | 1288 | 7 | 2 | 5 | 0 | 7.62 |
| 2025/26 | US Open Cup | Greenville Triumph | 2 | 1 | 131 | 0 | 0 | 0 | 0 | 6.53 |
| 2024/25 | USL League One | Greenville Triumph | 21 | 21 | 1705 | 7 | — | 4 | 0 | — |
| 2024/25 | US Open Cup | Greenville Triumph | 3 | 3 | 270 | 1 | — | 2 | 0 | — |
| 2024/25 | USL League One Cup | Greenville Triumph | 7 | 5 | 443 | 1 | — | 1 | 0 | — |
| 2023/24 | USL League One | Greenville Triumph | 31 | 28 | 2431 | 13 | — | 9 | 0 | — |
| 2023/24 | US Open Cup | Greenville Triumph | 1 | 1 | 70 | 0 | — | 0 | 0 | — |
| 2021/22 | Premier Soccer League | Kaizer Chiefs | 12 | 7 | 590 | 0 | — | 1 | 0 | — |
| 2021/22 | Cup | Kaizer Chiefs | 1 | 0 | 33 | 0 | — | 0 | 0 | — |
| 2020/21 | Premier Soccer League | Kaizer Chiefs | 26 | 16 | 1399 | 6 | — | 0 | 0 | — |
| 2020/21 | Cup | Kaizer Chiefs | 1 | 0 | 44 | 1 | — | 0 | 0 | — |
| 2020/21 | 8 Cup | Kaizer Chiefs | 3 | 2 | 201 | 0 | — | 0 | 0 | — |
| 2020/21 | CAF Champions League | Kaizer Chiefs | 9 | 6 | 632 | 2 | — | 1 | 0 | 6.62 |
| 2019/20 | Premier Soccer League | Kaizer Chiefs | 18 | 16 | 1141 | 7 | — | 1 | 0 | — |
| 2019/20 | Cup | Kaizer Chiefs | 1 | 1 | 46 | 0 | — | 0 | 0 | — |
| 2019/20 | League Cup | Kaizer Chiefs | 3 | 3 | 312 | 1 | — | 1 | 0 | — |
| 2018/19 | Premier Soccer League | Kaizer Chiefs | 21 | 20 | 1637 | 4 | — | 2 | 0 | — |
| 2018/19 | 8 Cup | Kaizer Chiefs | 3 | 3 | 259 | 2 | — | 0 | 0 | — |
| 2018/19 | Cup | Kaizer Chiefs | 4 | 2 | 210 | 0 | — | 1 | 0 | — |
| 2018/19 | League Cup | Kaizer Chiefs | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2017/18 | Premier Soccer League | Kaizer Chiefs | 11 | 8 | 686 | 2 | — | 0 | 1 | — |
| 2017/18 | Premier Soccer League | Mamelodi Sundowns | 2 | 1 | 76 | 0 | — | 1 | 0 | — |
| 2017/18 | Cup | Kaizer Chiefs | 4 | 3 | 290 | 1 | — | 0 | 0 | — |
| 2017/18 | League Cup | Mamelodi Sundowns | 1 | 0 | 16 | 0 | — | 0 | 0 | — |
| 2017/18 | CAF Champions League | Mamelodi Sundowns | 4 | 2 | 197 | 0 | — | 0 | 0 | — |
| 2016/17 | Premier Soccer League | Mamelodi Sundowns | 14 | 4 | 494 | 0 | — | 1 | 0 | — |
| 2016/17 | 8 Cup | Mamelodi Sundowns | 1 | 1 | 25 | 0 | — | 0 | 0 | — |
| 2016/17 | Cup | Mamelodi Sundowns | 2 | 1 | 95 | 1 | — | 0 | 0 | — |
| 2016/17 | FIFA Intercontinental Cup | Mamelodi Sundowns | 2 | 2 | 111 | 0 | — | 0 | 0 | — |
| 2016/17 | CAF Champions League | Mamelodi Sundowns | 4 | 4 | 341 | 2 | — | 0 | 0 | — |
| 2015/16 | PSL | Mamelodi Sundowns | 23 | 21 | 1653 | 10 | — | 5 | 0 | — |
| 2015/16 | League Cup | Mamelodi Sundowns | 3 | 3 | 176 | 2 | — | 2 | 0 | — |
| 2015/16 | Cup | Mamelodi Sundowns | 1 | 1 | 62 | 0 | — | 1 | 0 | — |
| 2015/16 | CONMEBOL Libertadores | Club Universitario | 8 | 8 | 703 | 2 | — | 2 | 0 | — |
| 2014/15 | Primera División | Club Universitario | 16 | 10 | 961 | 4 | — | 1 | 1 | — |
| 2014/15 | Primera A | Águilas Doradas | 15 | 12 | 792 | 1 | — | 0 | 0 | — |
| 2014/15 | Copa Colombia | Águilas Doradas | 4 | 3 | 274 | 1 | — | 1 | 0 | — |
| 2013/14 | Primera A | Cucuta | 19 | 13 | 1028 | 4 | — | 5 | 0 | — |
| 2013/14 | Copa Colombia | Cucuta | 4 | 4 | 309 | 0 | — | 2 | 0 | — |
| 2012/13 | Primera A | Cucuta | 7 | 0 | 211 | 1 | — | 1 | 0 | — |
| 2012/13 | Primera A | Millonarios | 1 | 0 | 19 | 0 | — | 0 | 0 | — |
| 2012/13 | Copa Colombia | Millonarios | 4 | 3 | 195 | 0 | — | 0 | 0 | — |
| 2011/12 | Liga 1 | CNI | 9 | 7 | 682 | 3 | — | 1 | 0 | — |
| 2011/12 | Liga 1 | Alianza Lima | 5 | 3 | 230 | 2 | — | 1 | 0 | — |
| 2011/12 | CONMEBOL Libertadores | Alianza Lima | 2 | 0 | 53 | 0 | — | 0 | 0 | — |
| 2010/11 | Primera A | Internacional de Bogota | 34 | 30 | 2466 | 6 | — | 7 | 0 | — |
| 2009/10 | Primera A | Millonarios | 8 | 4 | 450 | 0 | — | 0 | 0 | — |
| 2009 | CONMEBOL U20 | Colombia U20 | 5 | 1 | 81 | 0 | — | 2 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
