Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Santa Fe | 2009/10 – 2026/27 | 356 | 6 | 4 |
| Independiente Medellin | 2015/16 – 2024/25 | 132 | 6 | 6 |
| Castellón | 2021/22 | 35 | 1 | — |
| Albacete | 2018/19 – 2020/21 | 35 | 1 | — |
| Alavés | 2016/17 – 2019/20 | 52 | 0 | 3 |
| Zaragoza | 2019/20 | 13 | 0 | 1 |
| Colombia | 2016 – 2018 | 14 | 0 | — |
| Atletico Nacional | 2011/12 | 16 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jan 2024 | Independiente Medellin | Santa Fe | — |
| 8 Aug 2022 | Castellón | Independiente Medellin | — |
| 31 Aug 2021 | Albacete | Castellón | — |
| 7 Feb 2021 | Zaragoza | Albacete | Free |
| 31 Jan 2020 | Alaves | Zaragoza | Free |
| 1 Jul 2019 | Albacete | Alaves | — |
| 31 Jan 2019 | Alaves | Albacete | Loan |
| 19 Jul 2016 | Independiente Medellin | Alaves | € 3.2M |
| 1 Jul 2015 | Santa Fe | Independiente Medellin | — |
| 1 Jan 2012 | Atletico Nacional | Santa Fe | — |
| 1 Jul 2011 | Santa Fe | Atletico Nacional | Loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | CONMEBOL Sudamericana | Santa Fe | 6 | 6 | 475 | 0 | 0 | 1 | 0 | 7.06 |
| 2026/27 | CONMEBOL Libertadores | Santa Fe | 6 | 6 | 501 | 0 | 0 | 2 | 0 | 6.83 |
| 2026/27 | Primera A | Santa Fe | 31 | 25 | 2222 | 0 | 1 | 5 | 2 | 6.93 |
| 2025/26 | CONMEBOL Libertadores | Santa Fe | 1 | 1 | 189 | 0 | 0 | 0 | 0 | 7.60 |
| 2025/26 | Primera A | Santa Fe | 45 | 35 | 3223 | 1 | 1 | 13 | 0 | 6.85 |
| 2024/25 | Primera A | Santa Fe | 49 | 48 | 4228 | 3 | 2 | 13 | 0 | 7.04 |
| 2024/25 | Copa Colombia | Santa Fe | 4 | 1 | 162 | 0 | — | 0 | 0 | — |
| 2023/24 | Primera A | Independiente Medellin | 50 | 40 | 3393 | 3 | 5 | 14 | 1 | 6.89 |
| 2023/24 | Copa Colombia | Independiente Medellin | 4 | 4 | 259 | 0 | — | 1 | 0 | — |
| 2023/24 | CONMEBOL Libertadores | Independiente Medellin | 9 | 7 | 665 | 0 | — | 4 | 0 | 6.61 |
| 2023/24 | CONMEBOL Sudamericana | Independiente Medellin | 2 | 2 | 130 | 0 | — | 0 | 0 | 6.90 |
| 2022/23 | Primera A | Independiente Medellin | 17 | 7 | 808 | 0 | — | 3 | 0 | 6.72 |
| 2022/23 | Copa Colombia | Independiente Medellin | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2021/22 | Primera División RFEF - Group 2 | Castellón | 34 | 32 | 2808 | 1 | — | 11 | 0 | — |
| 2021/22 | Copa del Rey | Castellón | 1 | 0 | 2 | 0 | — | 0 | 0 | — |
| 2020/21 | Segunda División | Albacete | 17 | 14 | 1251 | 1 | — | 5 | 0 | 6.74 |
| 2019/20 | Segunda División | Zaragoza | 13 | 6 | 564 | 0 | 1 | 3 | 0 | 6.73 |
| 2018/19 | Segunda División | Albacete | 18 | 18 | 1595 | 0 | — | 9 | 0 | 6.88 |
| 2018/19 | La Liga | Alavés | 2 | 1 | 71 | 0 | — | 1 | 0 | 6.30 |
| 2018/19 | Copa del Rey | Alavés | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.00 |
| 2018 | World Cup - Qualification South America | Colombia | 7 | 6 | 541 | 0 | — | 2 | 0 | 6.70 |
| 2017/18 | La Liga | Alavés | 18 | 14 | 1217 | 0 | — | 2 | 0 | 6.62 |
| 2017/18 | Copa del Rey | Alavés | 5 | 5 | 480 | 0 | 1 | 2 | 0 | 7.00 |
| 2017 | Friendlies | Colombia | 1 | 0 | 23 | 0 | — | 0 | 0 | — |
| 2016/17 | La Liga | Alavés | 21 | 17 | 1438 | 0 | — | 7 | 0 | 6.69 |
| 2016/17 | Primera A | Independiente Medellin | 18 | 18 | 1568 | 1 | 1 | 6 | 0 | 6.91 |
| 2016/17 | Copa del Rey | Alavés | 5 | 4 | 360 | 0 | 2 | 1 | 0 | 7.38 |
| 2016/17 | Copa Colombia | Independiente Medellin | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016 | Copa America | Colombia | 5 | 5 | 440 | 0 | — | 0 | 0 | 7.18 |
| 2016 | Friendlies | Colombia | 1 | 1 | 46 | 0 | — | 0 | 0 | — |
| 2015/16 | Primera A | Independiente Medellin | 23 | 23 | 2042 | 2 | — | 6 | 0 | — |
| 2015/16 | Primera A | Santa Fe | 13 | 13 | 1170 | 0 | — | 2 | 0 | — |
| 2015/16 | Copa Colombia | Independiente Medellin | 6 | 6 | 540 | 0 | — | 3 | 0 | — |
| 2015/16 | CONMEBOL Libertadores | Santa Fe | 8 | 8 | 720 | 0 | — | 1 | 0 | — |
| 2014/15 | Primera A | Santa Fe | 36 | 35 | 3109 | 1 | — | 11 | 0 | — |
| 2014/15 | Copa Colombia | Santa Fe | 11 | 10 | 890 | 0 | — | 1 | 0 | — |
| 2014/15 | CONMEBOL Libertadores | Santa Fe | 8 | 8 | 720 | 1 | — | 2 | 0 | — |
| 2013/14 | Primera A | Santa Fe | 38 | 37 | 3249 | 0 | — | 15 | 1 | — |
| 2013/14 | Copa Colombia | Santa Fe | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2013/14 | CONMEBOL Libertadores | Santa Fe | 12 | 12 | 1042 | 0 | — | 3 | 0 | — |
| 2012/13 | Primera A | Santa Fe | 21 | 16 | 1474 | 0 | — | 6 | 0 | — |
| 2012/13 | Copa Colombia | Santa Fe | 6 | 6 | 462 | 0 | — | 4 | 1 | — |
| 2011/12 | Primera A | Atletico Nacional | 12 | 12 | 940 | 0 | — | 7 | 0 | — |
| 2011/12 | Primera A | Santa Fe | 13 | 11 | 949 | 0 | — | 8 | 0 | — |
| 2011/12 | Copa Colombia | Atletico Nacional | 4 | 3 | 286 | 0 | — | 1 | 0 | — |
| 2011/12 | Copa Colombia | Santa Fe | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2010/11 | Primera A | Santa Fe | 21 | 20 | 1695 | 0 | — | 9 | 1 | — |
| 2010/11 | CONMEBOL Sudamericana | Santa Fe | 6 | 6 | 514 | 0 | — | 4 | 0 | — |
| 2009/10 | Primera A | Santa Fe | 16 | 14 | 1186 | 0 | — | 9 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Knock | 29 Nov 2019 | 11 Dec 2019 | 12 |
| Knee Injury | 2 Apr 2018 | 6 Apr 2018 | 4 |
| Thigh Injury | 2 Oct 2016 | 16 Oct 2016 | 14 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Copa Colombia (Colombia) | 2009 | Winner |
| Copa Colombia (Colombia) | 2014 | 2nd Place |
| Primera A (Colombia) | 2014 | Winner |
| Primera A (Colombia) | 2012 | Winner |
| Primera A (Colombia) | 2011 | Winner |
| Primera A (Colombia) | 2024 | 2nd Place |
| Primera A (Colombia) | 2023 | 2nd Place |
| Primera A (Colombia) | 2022 | 2nd Place |
| Primera A (Colombia) | 2015 | 2nd Place |
| Primera A (Colombia) | 2013 | 2nd Place |
| Superliga (Colombia) | 2015 | Winner |
| Superliga (Colombia) | 2013 | Winner |
| Copa del Rey (Spain) | 2016/2017 | 2nd Place |
