Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Santa Fe | 2023/24 – 2025/26 | 62 | 9 | 5 |
| Goias | 2024/25 – 2025/26 | 25 | 2 | 0 |
| Deportivo Pereira | 2023/24 – 2024/25 | 45 | 8 | 2 |
| Deportivo Cali | 2020/21 – 2022/23 | 110 | 22 | 4 |
| Minnesota United | 2018/19 – 2019/20 | 43 | 13 | 2 |
| Deportes Tolima | 2016/17 – 2018/19 | 76 | 30 | 9 |
| Envigado | 2014/15 – 2016/17 | 47 | 13 | 4 |
| Independiente Medellin | 2015/16 | 12 | 0 | — |
| Alianza Valledupar | 2013/14 | 41 | 4 | — |
| Real Cartagena | 2012/13 | 35 | 8 | — |
| Atletico Nacional | 2011/12 | 11 | 1 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 13 Feb 2024 | Deportivo Pereira | Goias | Free |
| 20 Jan 2023 | Deportivo Cali | Deportivo Pereira | — |
| 27 Jan 2020 | Minnesota United FC | Deportivo Cali | Free |
| 10 Jul 2018 | Deportes Tolima | Minnesota United FC | — |
| 15 Jun 2016 | Envigado | Deportes Tolima | — |
| 1 Jan 2016 | Independiente Medellin | Envigado | — |
| 1 Jul 2015 | Envigado | Independiente Medellin | — |
| 1 Jun 2014 | Atletico Nacional | Envigado | Loan |
| 1 Jan 2014 | Atletico Nacional | — | Loan |
| 1 Jan 2013 | Atletico Nacional | Alianza Petrolera | Loan |
| 1 Jan 2012 | Atletico Nacional | Real Cartagena | Loan |
| 3 Jan 2025 | Goias | Santa Fe | Free Agent |
| 30 Dec 2025 | Santa Fe | Rodriguez Angelo | Free agent |
| 8 Jul 2026 | Santa Fe | Envigado | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | CONMEBOL Libertadores | Santa Fe | 1 | 0 | 50 | 0 | 0 | 0 | 0 | 6.55 |
| 2025/26 | Primera A | Santa Fe | 33 | 10 | 1101 | 3 | 4 | 5 | 0 | 6.53 |
| 2024/25 | Serie B | Goias | 18 | 12 | 281 | 2 | 0 | 1 | 0 | 6.62 |
| 2024/25 | Goiano - 1 | Goias | 1 | 1 | 63 | 0 | — | 0 | 0 | — |
| 2024/25 | Copa Do Brasil | Goias | 3 | 3 | 105 | — | 0 | 1 | 0 | 6.90 |
| 2024/25 | Copa Verde | Goias | 3 | 2 | 159 | 0 | — | 1 | 0 | — |
| 2023/24 | Primera A | Deportivo Pereira | 30 | 22 | 2033 | 7 | 1 | 12 | 0 | 6.79 |
| 2023/24 | Primera A | Santa Fe | 28 | 24 | 1883 | 6 | 1 | 12 | 0 | 6.79 |
| 2023/24 | Copa Colombia | Deportivo Pereira | 6 | 4 | 394 | 0 | — | 3 | 0 | — |
| 2023/24 | CONMEBOL Libertadores | Deportivo Pereira | 9 | 9 | 796 | 1 | 1 | 4 | 0 | 6.80 |
| 2022/23 | Primera A | Deportivo Cali | 29 | 23 | 2079 | 6 | 1 | 11 | 0 | 6.76 |
| 2022/23 | Copa Colombia | Deportivo Cali | 2 | 2 | 126 | 2 | — | 0 | 0 | — |
| 2022/23 | CONMEBOL Sudamericana | Deportivo Cali | 2 | 2 | 161 | 0 | — | 0 | 0 | 6.70 |
| 2022/23 | CONMEBOL Libertadores | Deportivo Cali | 4 | 4 | 328 | 0 | — | 2 | 0 | 6.55 |
| 2021/22 | Primera A | Deportivo Cali | 44 | 31 | 2738 | 7 | 3 | 9 | 0 | 6.76 |
| 2021/22 | Copa Colombia | Deportivo Cali | 6 | 5 | 416 | 1 | — | 3 | 0 | — |
| 2021/22 | CONMEBOL Sudamericana | Deportivo Cali | 1 | 1 | 45 | 0 | — | 0 | 1 | 5.70 |
| 2020/21 | Primera A | Deportivo Cali | 17 | 17 | 1389 | 5 | — | 2 | 0 | 6.75 |
| 2020/21 | CONMEBOL Sudamericana | Deportivo Cali | 5 | 5 | 427 | 1 | — | 2 | 0 | 6.82 |
| 2019/20 | Major League Soccer | Minnesota United | 29 | 22 | 1818 | 5 | 1 | 2 | 0 | 6.63 |
| 2019/20 | US Open Cup | Minnesota United | 3 | 3 | 212 | 4 | — | 0 | 0 | — |
| 2018/19 | Major League Soccer | Minnesota United | 11 | 10 | 871 | 4 | 1 | 1 | 0 | 7.09 |
| 2018/19 | Primera A | Deportes Tolima | 18 | 15 | 1226 | 6 | 1 | 5 | 0 | 6.87 |
| 2018/19 | Copa Colombia | Deportes Tolima | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2017/18 | Primera A | Deportes Tolima | 29 | 23 | 2165 | 13 | 4 | 5 | 0 | 6.96 |
| 2017/18 | Copa Colombia | Deportes Tolima | 1 | 1 | 70 | 0 | — | 0 | 0 | — |
| 2017/18 | CONMEBOL Sudamericana | Deportes Tolima | 2 | 2 | 180 | 0 | — | 1 | 0 | 6.70 |
| 2016/17 | Primera A | Deportes Tolima | 19 | 19 | 1682 | 9 | 4 | 4 | 0 | 7.06 |
| 2016/17 | Primera A | Envigado | 16 | 16 | 1412 | 5 | 4 | 6 | 0 | 7.06 |
| 2016/17 | Copa Colombia | Deportes Tolima | 4 | 3 | 254 | 2 | — | 0 | 0 | — |
| 2016/17 | Copa Colombia | Envigado | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | CONMEBOL Sudamericana | Deportes Tolima | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
| 2015/16 | Primera A | Independiente Medellin | 8 | 5 | 468 | 0 | — | 0 | 0 | — |
| 2015/16 | Primera A | Envigado | 10 | 8 | 641 | 3 | — | 2 | 0 | — |
| 2015/16 | Copa Colombia | Independiente Medellin | 4 | 2 | 101 | 0 | — | 0 | 0 | — |
| 2014/15 | Primera A | Envigado | 18 | 18 | 1529 | 5 | — | 2 | 0 | — |
| 2014/15 | Primera A | 9 | 3 | 329 | 0 | — | 0 | 0 | — | |
| 2014/15 | Copa Colombia | Envigado | 2 | 1 | 102 | 0 | — | 0 | 0 | — |
| 2013/14 | Primera A | Alianza Valledupar | 33 | 21 | 1977 | 3 | — | 7 | 0 | — |
| 2013/14 | Copa Colombia | Alianza Valledupar | 8 | 6 | 602 | 1 | — | 1 | 0 | — |
| 2012/13 | Primera A | Real Cartagena | 29 | 22 | 1929 | 7 | — | 7 | 0 | — |
| 2012/13 | Copa Colombia | Real Cartagena | 6 | 5 | 452 | 1 | — | 1 | 0 | — |
| 2011/12 | Primera A | Atletico Nacional | 6 | 0 | 69 | 0 | — | 0 | 0 | — |
| 2011/12 | Copa Colombia | Atletico Nacional | 5 | 3 | 238 | 1 | — | 1 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
