Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Deportivo Pasto | 2025/26 – 2026/27 | 28 | 0 | 1 |
| Deportivo Cali | 2026/27 | 14 | 0 | 1 |
| Deportivo Pereira | 2023/24 – 2025/26 | 73 | 1 | 9 |
| America de Cali | 2019/20 – 2024/25 | 119 | 3 | 6 |
| Junior | 2021/22 – 2023/24 | 43 | 1 | 3 |
| Once Caldas | 2013/14 – 2019/20 | 39 | 2 | — |
| Atletico Nacional | 2016/17 – 2018/19 | 46 | 1 | 1 |
| Cortulua | 2011/12 – 2016/17 | 134 | 0 | 1 |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 3 Feb 2023 | Junior | America de Cali | — |
| 1 Jan 2021 | America de Cali | Junior | — |
| 16 Jun 2019 | Once Caldas | America de Cali | — |
| 13 Jun 2018 | Atletico Nacional | Once Caldas | — |
| 25 Jun 2016 | Cortulua | Atletico Nacional | — |
| 1 Jan 2014 | Once Caldas | Cortulua | — |
| 1 Jul 2013 | Cortulua | Once Caldas | Loan |
| 10 Jan 2025 | America de Cali | Deportivo Pasto | Free Transfer |
| 1 Jul 2025 | Deportivo Pasto | Deportivo Pereira | Free Transfer |
| 13 Jan 2026 | Deportivo Pereira | Deportivo Pasto | Free agent |
| 5 Jul 2026 | Deportivo Pasto | Deportivo Cali | Free agent |
| 4 Jul 2026 | Deportivo Pasto | Deportivo Cali | Free agent |
| 12 Jan 2026 | Deportivo Pereira | Deportivo Pasto | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | Primera A | Deportivo Cali | 14 | 13 | 1135 | 0 | 1 | 4 | 0 | 6.87 |
| 2026/27 | Primera A | Deportivo Pasto | 20 | 20 | 1728 | 0 | 1 | 3 | 0 | 6.56 |
| 2025/26 | Primera A | Deportivo Pasto | 8 | 6 | 560 | 0 | 0 | 1 | 1 | 6.30 |
| 2025/26 | Primera A | Deportivo Pereira | 11 | 11 | 846 | 0 | 3 | 4 | 0 | 6.77 |
| 2024/25 | Primera A | America de Cali | 32 | 31 | 2765 | 1 | 4 | 4 | 0 | 6.90 |
| 2024/25 | Primera A | Deportivo Pereira | 26 | 25 | 2207 | — | 4 | 4 | 0 | 6.90 |
| 2024/25 | Copa Colombia | America de Cali | 4 | 3 | 246 | 0 | — | 1 | 0 | — |
| 2024/25 | CONMEBOL Sudamericana | America de Cali | 1 | 1 | 67 | 0 | — | 1 | 0 | 6.20 |
| 2023/24 | Primera A | America de Cali | 37 | 34 | 3058 | 1 | 2 | 14 | 0 | 6.90 |
| 2023/24 | Primera A | Deportivo Pereira | 36 | 33 | 2760 | 1 | 2 | 12 | 0 | 6.90 |
| 2023/24 | Copa Colombia | America de Cali | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
| 2022/23 | Primera A | Junior | 22 | 20 | 1674 | 1 | — | 7 | 0 | 6.58 |
| 2022/23 | Copa Colombia | Junior | 3 | 3 | 226 | 0 | — | 0 | 0 | — |
| 2022/23 | CONMEBOL Sudamericana | Junior | 5 | 1 | 207 | 0 | — | 0 | 0 | 6.66 |
| 2021/22 | Primera A | Junior | 9 | 8 | 635 | 0 | 1 | 1 | 0 | 6.69 |
| 2021/22 | CONMEBOL Libertadores | Junior | 4 | 2 | 145 | 0 | — | 0 | 0 | 6.67 |
| 2020/21 | Primera A | America de Cali | 21 | 19 | 1714 | 0 | — | 5 | 0 | 6.73 |
| 2020/21 | Copa Colombia | America de Cali | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2020/21 | CONMEBOL Libertadores | America de Cali | 5 | 5 | 450 | 0 | — | 2 | 0 | 6.28 |
| 2019/20 | Primera A | America de Cali | 16 | 16 | 1385 | 1 | — | 6 | 0 | 6.68 |
| 2019/20 | Primera A | Once Caldas | 11 | 11 | 962 | 1 | — | 4 | 1 | 6.68 |
| 2019/20 | CONMEBOL Sudamericana | Once Caldas | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.20 |
| 2018/19 | Primera A | Once Caldas | 17 | 17 | 1530 | 1 | — | 2 | 0 | 6.70 |
| 2018/19 | Primera A | Atletico Nacional | 3 | 1 | 141 | 0 | — | 1 | 0 | 6.70 |
| 2018/19 | Copa Colombia | Once Caldas | 8 | 8 | 720 | 0 | — | 3 | 0 | — |
| 2017/18 | Primera A | Atletico Nacional | 22 | 17 | 1541 | 0 | — | 4 | 1 | 6.82 |
| 2017/18 | Copa Colombia | Atletico Nacional | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2017/18 | CONMEBOL Libertadores | Atletico Nacional | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2016/17 | Primera A | Atletico Nacional | 13 | 11 | 1002 | 1 | 1 | 4 | 0 | 6.68 |
| 2016/17 | Primera A | Cortulua | 15 | 14 | 1275 | 0 | 1 | 4 | 0 | 6.68 |
| 2016/17 | Copa Colombia | Atletico Nacional | 6 | 6 | 534 | 0 | — | 1 | 0 | — |
| 2016/17 | Copa Colombia | Cortulua | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | Primera A | Cortulua | 27 | 25 | 1981 | 0 | — | 6 | 1 | — |
| 2015/16 | Copa Colombia | Cortulua | 7 | 7 | 630 | 0 | — | 0 | 0 | — |
| 2014/15 | Primera B | Cortulua | 18 | 18 | 1428 | 0 | — | 6 | 0 | — |
| 2014/15 | Copa Colombia | Cortulua | 6 | 6 | 513 | 0 | — | 1 | 0 | — |
| 2013/14 | Primera A | Once Caldas | 2 | 1 | 116 | 0 | — | 0 | 0 | — |
| 2013/14 | Primera B | Cortulua | 19 | 19 | 1659 | 0 | — | 9 | 1 | — |
| 2013/14 | Copa Colombia | Cortulua | 3 | 3 | 270 | 0 | — | 2 | 0 | — |
| 2012/13 | Primera B | Cortulua | 32 | 27 | 2399 | 0 | — | 9 | 1 | — |
| 2012/13 | Copa Colombia | Cortulua | 4 | 4 | 360 | 0 | — | 1 | 1 | — |
| 2011/12 | Primera B | Cortulua | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| Copa Colombia (Colombia) | 2016 | Winner |
| Copa Colombia (Colombia) | 2024 | 2nd Place |
| Copa Colombia (Colombia) | 2022 | 2nd Place |
| Copa Colombia (Colombia) | 2018 | 2nd Place |
| Primera A (Colombia) | 2020 | Winner |
| Primera A (Colombia) | 2019 | Winner |
| Primera A (Colombia) | 2017 | Winner |
| Superliga (Colombia) | 2020 | 2nd Place |
| Superliga (Colombia) | 2018 | 2nd Place |
| CONMEBOL Libertadores (South America) | 2016 | Winner |
| CONMEBOL Sudamericana (South America) | 2016 | 2nd Place |
| CONMEBOL Recopa (South America) | 2017 | Winner |
| Florida Cup (World) | 2018 | Winner |
