Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Internacional de Bogota | 2026/27 | 36 | 2 | 1 |
| Bucaramanga | 2024/25 – 2025/26 | 37 | 1 | 1 |
| Amazonas | 2025/26 | 33 | 0 | 0 |
| Millonarios | 2022/23 – 2024/25 | 142 | 5 | 5 |
| Junior | 2020/21 – 2021/22 | 73 | 5 | 1 |
| Deportes Tolima | 2019/20 | 55 | 2 | 5 |
| Tigres | 2017/18 – 2018/19 | 6 | 0 | — |
| America de Cali | 2018/19 | 14 | 0 | — |
| Colombia U21 | 2018 | 4 | 0 | — |
| Patriotas | 2013/14 – 2017/18 | 157 | 5 | 1 |
| Academia | 2011/12 – 2012/13 | 18 | 1 | — |
| Llaneros | 2012/13 | 13 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 6 Jul 2024 | Millonarios | Bucaramanga | — |
| 1 Jan 2022 | Junior | Millonarios | — |
| 1 Jan 2020 | Tigres UANL | Junior | Loan |
| 1 Jan 2019 | Tigres UANL | Deportes Tolima | Loan |
| 1 Jul 2018 | Tigres UANL | America de Cali | Loan |
| 6 Sept 2017 | Patriotas | Tigres UANL | — |
| 1 Jan 2013 | Llaneros | Patriotas | Free |
| 1 Jul 2012 | Academia | Llaneros | Free |
| 20 Feb 2025 | Bucaramanga | Amazonas | Transfer |
| 31 Dec 2025 | Amazonas | Internacional de Bogota | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | Primera A | Internacional de Bogota | 36 | 36 | 3208 | 2 | 1 | 8 | 0 | 7.09 |
| 2025/26 | Superliga | Bucaramanga | 18 | 18 | 1524 | — | 0 | 6 | 0 | 6.90 |
| 2025/26 | Copa Verde | Amazonas | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2025/26 | Primera A | Bucaramanga | 1 | 1 | 71 | 0 | 0 | 0 | 0 | 7.20 |
| 2025/26 | Serie B | Amazonas | 32 | 30 | 2635 | 0 | 0 | 12 | 0 | 6.86 |
| 2024/25 | Primera A | Millonarios | 17 | 11 | 1029 | 1 | 1 | 2 | 0 | 7.13 |
| 2024/25 | Primera A | Bucaramanga | 13 | 10 | 711 | 1 | 1 | 2 | 0 | 7.13 |
| 2024/25 | Superliga | Millonarios | 13 | 10 | 711 | 1 | 1 | 2 | 0 | 7.13 |
| 2024/25 | Copa Colombia | Bucaramanga | 5 | 0 | 87 | 0 | — | 0 | 0 | — |
| 2024/25 | CONMEBOL Libertadores | Millonarios | 3 | 1 | 85 | 0 | 0 | 0 | 1 | 6.23 |
| 2023/24 | Primera A | Millonarios | 41 | 28 | 2616 | 2 | — | 10 | 0 | 6.90 |
| 2023/24 | Copa Colombia | Millonarios | 8 | 3 | 314 | 0 | — | 0 | 0 | — |
| 2023/24 | CONMEBOL Sudamericana | Millonarios | 6 | 4 | 385 | 0 | — | 1 | 0 | 6.98 |
| 2023/24 | Friendlies Clubs | Millonarios | 1 | 0 | 13 | 0 | — | 0 | 0 | — |
| 2023/24 | CONMEBOL Libertadores | Millonarios | 3 | 3 | 252 | 0 | — | 2 | 0 | 6.80 |
| 2022/23 | Primera A | Millonarios | 43 | 40 | 3642 | 1 | 3 | 8 | 0 | 7.03 |
| 2022/23 | Copa Colombia | Millonarios | 5 | 4 | 389 | 0 | — | 0 | 0 | — |
| 2022/23 | CONMEBOL Libertadores | Millonarios | 2 | 2 | 150 | 0 | — | 0 | 0 | 6.45 |
| 2021/22 | Primera A | Junior | 40 | 32 | 2867 | 2 | 1 | 9 | 2 | 7.07 |
| 2021/22 | Copa Colombia | Junior | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2021/22 | CONMEBOL Sudamericana | Junior | 2 | 2 | 173 | 0 | — | 0 | 0 | 6.80 |
| 2021/22 | CONMEBOL Libertadores | Junior | 9 | 7 | 605 | 0 | — | 3 | 0 | 6.69 |
| 2020/21 | Primera A | Junior | 14 | 12 | 1037 | 1 | — | 2 | 0 | 6.45 |
| 2020/21 | Copa Colombia | Junior | 2 | 1 | 104 | 1 | — | 1 | 0 | — |
| 2020/21 | CONMEBOL Sudamericana | Junior | 1 | 0 | 30 | 0 | — | 0 | 1 | 6.00 |
| 2020/21 | CONMEBOL Libertadores | Junior | 3 | 1 | 115 | 0 | — | 0 | 0 | 6.45 |
| 2019/20 | Primera A | Deportes Tolima | 43 | 40 | 3485 | 1 | 4 | 11 | 0 | 6.93 |
| 2019/20 | Copa Colombia | Deportes Tolima | 5 | 5 | 388 | 1 | — | 0 | 0 | — |
| 2019/20 | CONMEBOL Libertadores | Deportes Tolima | 5 | 5 | 409 | 0 | 1 | 2 | 0 | 6.86 |
| 2019/20 | CONMEBOL Sudamericana | Deportes Tolima | 2 | 2 | 152 | 0 | — | 0 | 0 | 6.85 |
| 2018/19 | Primera A | America de Cali | 13 | 9 | 757 | 0 | — | 5 | 0 | 6.75 |
| 2018/19 | Copa Colombia | America de Cali | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2018/19 | CONCACAF Champions League | Tigres | 2 | 2 | 164 | 0 | — | 1 | 0 | — |
| 2018 | CAC Games | Colombia U21 | 4 | 4 | 321 | 0 | — | 1 | 0 | — |
| 2017/18 | Liga MX | Tigres | 3 | 1 | 116 | 0 | — | 0 | 0 | 6.40 |
| 2017/18 | Primera A | Patriotas | 30 | 30 | 2643 | 1 | — | 7 | 0 | 7.09 |
| 2017/18 | Copa MX | Tigres | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | Copa Colombia | Patriotas | 4 | 4 | 360 | 0 | — | 2 | 0 | — |
| 2017/18 | CONMEBOL Sudamericana | Patriotas | 4 | 4 | 360 | 1 | — | 0 | 0 | 7.60 |
| 2016/17 | Primera A | Patriotas | 18 | 15 | 1270 | 0 | 1 | 5 | 0 | 6.99 |
| 2016/17 | Copa Colombia | Patriotas | 6 | 6 | 531 | 1 | — | 3 | 0 | — |
| 2015/16 | Primera A | Patriotas | 32 | 27 | 2377 | 0 | — | 6 | 0 | 6.90 |
| 2015/16 | Copa Colombia | Patriotas | 5 | 5 | 413 | 1 | — | 2 | 0 | — |
| 2014/15 | Primera A | Patriotas | 25 | 13 | 1161 | 1 | — | 5 | 0 | — |
| 2014/15 | Copa Colombia | Patriotas | 12 | 10 | 882 | 0 | — | 2 | 0 | — |
| 2013/14 | Primera A | Patriotas | 15 | 13 | 1136 | 0 | — | 5 | 0 | — |
| 2013/14 | Copa Colombia | Patriotas | 6 | 5 | 404 | 0 | — | 1 | 0 | — |
| 2012/13 | Primera B | Llaneros | 13 | 6 | 678 | 0 | — | 2 | 0 | — |
| 2012/13 | Primera B | Academia | 12 | 10 | 872 | 0 | — | 4 | 0 | — |
| 2012/13 | Copa Colombia | Academia | 5 | 2 | 221 | 1 | — | 0 | 0 | — |
| 2011/12 | Copa Colombia | Academia | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| Liga MX (Mexico) | 2017/2018 | Winner |
| Superliga (Colombia) | 2024 | Winner |
| Superliga (Colombia) | 2020 | Winner |
| Superliga (Colombia) | 2025 | 2nd Place |
| Superliga (Colombia) | 2019 | 2nd Place |
| Copa Colombia (Colombia) | 2022 | Winner |
| Copa Colombia (Colombia) | 2023 | 2nd Place |
| Primera A (Colombia) | 2024 | Winner |
| Primera A (Colombia) | 2023 | Winner |
| Amazonense 1 (Brazil) | 2025 | Winner |
