| Season | League | Team | A | G | Assists | Y/YR/R | MP |
|---|---|---|---|---|---|---|---|
| 2024/2025 | League Cup |
Dundee
|
6 | 4 | 0 | 0/0/0 | 285 |
| 2024/2025 | Championship |
Ayr United
|
12 | 4 | 0 | 1/0/0 | 708 |
| 2024/2025 | Premiership |
Dundee
|
14 | 2 | 0 | 1/0/0 | 394 |
| 2024/2025 | Premiership Play-Offs |
Ayr United
|
2 | 0 | 0 | 0/0/0 | 47 |
| 2024/2025 | Scottish Cup |
Ayr United
|
1 | 0 | 0 | 0/0/0 | 0 |
| 2024/2025 | Scottish Cup |
Dundee
|
0 | 0 | 0 | 0/0/0 | 0 |
| 2023/2024 | Scottish Cup |
Dundee
|
1 | 0 | 0 | 0/0/0 | 33 |
| 2023/2024 | Indian Super League |
Bengaluru
|
8 | 2 | 0 | 0/0/0 | 418 |
| 2023/2024 | Premiership |
Dundee
|
13 | 0 | 0 | 3/0/0 | 467 |
| 2022/2023 | Premiership |
St. Mirren
|
37 | 9 | 3 | 5/0/0 | 3075 |
| 2022/2023 | Scottish Cup |
St. Mirren
|
2 | 0 | 0 | 0/0/0 | 159 |
| 2021/2022 | Scottish Cup |
St. Mirren
|
0 | 0 | 0 | 0/0/0 | 0 |
| 2021/2022 | League Cup |
St. Mirren
|
4 | 2 | 0 | 0/0/0 | 337 |
| 2021/2022 | Premiership |
St. Mirren
|
31 | 1 | 1 | 2/0/0 | 1669 |
| 2020/2021 | League One |
Shrewsbury Town
|
20 | 2 | 2 | 3/0/0 | 1258 |
| 2020/2021 | League Cup |
Aberdeen
|
1 | 0 | 0 | 0/0/0 | 44 |
| 2020/2021 | Europa League |
Aberdeen
|
2 | 1 | 0 | 0/0/0 | 46 |
| 2020/2021 | Premiership |
Aberdeen
|
14 | 2 | 0 | 1/0/0 | 712 |
| 2019/2020 | Scottish Cup |
Aberdeen
|
4 | 0 | 0 | 0/0/0 | 207 |
| 2019/2020 | Europa League |
Aberdeen
|
3 | 0 | 0 | 1/0/0 | 65 |
| 2019/2020 | Premiership |
Aberdeen
|
16 | 4 | 1 | 0/0/1 | 949 |
| 2018/2019 | Scottish Cup |
Motherwell
|
1 | 0 | 0 | 0/0/0 | 44 |
| 2018/2019 | League Cup |
Motherwell
|
5 | 3 | 0 | 0/0/0 | 426 |
| 2018/2019 | Premiership |
Motherwell
|
31 | 3 | 3 | 4/1/0 | 965 |
| 2017/2018 | Premiership |
Motherwell
|
16 | 5 | 2 | 2/0/0 | 1348 |
| 2017/2018 | League One |
Portsmouth
|
5 | 0 | 0 | 0/0/0 | 188 |
| 2017/2018 | EFL Trophy |
Portsmouth
|
4 | 1 | 1 | 0/0/0 | 305 |
| 2017/2018 | Scottish Cup |
Motherwell
|
2 | 1 | 0 | 0/0/0 | 177 |
| 2016/2017 | League Two |
Portsmouth
|
12 | 2 | 0 | 1/0/0 | 392 |
| 2016/2017 | EFL Trophy |
Portsmouth
|
1 | 2 | 0 | 0/0/0 | 69 |
| 2015/2016 | Carabao Cup |
Doncaster Rovers
|
2 | 0 | 0 | 1/0/0 | 0 |
| 2015/2016 | FA Cup |
Doncaster Rovers
|
1 | 0 | 0 | 0/0/0 | 0 |
| 2015/2016 | League One |
Doncaster Rovers
|
10 | 1 | 0 | 0/0/0 | 464 |
| 2015/2016 | League One |
Oldham Athletic
|
18 | 4 | 1 | 1/0/0 | 1405 |
| 2014/2015 | FA Cup |
Doncaster Rovers
|
4 | 1 | 0 | 0/0/0 | 0 |
| 2014/2015 | League One |
Doncaster Rovers
|
38 | 8 | 2 | 2/0/0 | 2220 |
| 2013/2014 | Championship |
Middlesbrough
|
23 | 1 | 0 | 1/1/0 | 722 |
| 2013/2014 | Carabao Cup |
Middlesbrough
|
1 | 0 | 0 | 0/0/0 | 0 |
| 2013/2014 | League One |
Shrewsbury Town
|
5 | 0 | 0 | 2/0/0 | 381 |
| 2012/2013 | Championship |
Middlesbrough
|
13 | 3 | 0 | 1/1/0 | 569 |
| 2011/2012 | Championship |
Middlesbrough
|
12 | 2 | 1 | 1/0/0 | 316 |
| 2010/2011 | FA Cup |
Darlington
|
1 | 0 | 0 | 0/0/0 | 15 |
| 2010/2011 | National League |
Darlington 1883
|
16 | 0 | 0 | 1/0/0 | 0 |
| 2010/2011 | FA Trophy |
Darlington 1883
|
3 | 2 | 0 | 0/0/0 | 0 |
| 2010/2011 | FA Cup |
Darlington 1883
|
1 | 0 | 0 | 0/0/0 | 0 |
| 2010/2011 | FA Trophy |
Darlington
|
3 | 2 | 0 | 0/0/0 | 180 |
| 2009/2010 | League Two |
Darlington
|
26 | 3 | 0 | 2/0/0 | 1200 |
| 2009/2010 | FA Cup |
Darlington
|
1 | 0 | 0 | 0/0/0 | 3 |
| 2009/2010 | Carabao Cup |
Darlington
|
1 | 0 | 0 | 0/0/0 | 11 |
| 2009/2010 | Carabao Cup |
Darlington 1883
|
1 | 0 | 0 | 0/0/0 | 0 |
| 2009/2010 | FA Cup |
Darlington 1883
|
1 | 0 | 0 | 0/0/0 | 0 |
| 2009/2010 | League Two |
Darlington 1883
|
26 | 3 | 0 | 2/0/0 | 0 |
| 2008/2009 | Carabao Cup |
Darlington 1883
|
1 | 0 | 0 | 0/0/0 | 0 |
| 2008/2009 | League Two |
Darlington 1883
|
18 | 2 | 0 | 0/0/0 | 0 |
| Total: | 494 | 82 | 17 | 38/3/1 | 22273 |
| From | To | Date | Amount |
|---|---|---|---|
Ayr United
|
Dundee
|
24/01/2025 | N/a |
Dundee
|
Bengaluru
|
17/01/2024 | Free |
Dundee
|
Bengaluru
|
16/01/2024 | Free |
Bengaluru
|
St. Mirren
|
18/07/2023 | Free |
St. Mirren
|
Shrewsbury Town
|
01/07/2021 | Free |
Shrewsbury Town
|
Aberdeen
|
01/02/2021 | Free |
Aberdeen
|
Motherwell
|
01/07/2019 | Free |
Motherwell
|
Portsmouth
|
03/01/2018 | Free |
Portsmouth
|
Doncaster Rovers
|
04/07/2016 | N/a |
Doncaster Rovers
|
Oldham Athletic
|
01/06/2016 | N/a |
Oldham Athletic
|
Doncaster Rovers
|
15/02/2016 | Loan |
Doncaster Rovers
|
Middlesbrough
|
30/07/2014 | Swap |
Middlesbrough
|
Shrewsbury Town
|
30/09/2013 | N/a |
Shrewsbury Town
|
Middlesbrough
|
30/08/2013 | Loan |
Middlesbrough
|
Darlington 1883
|
01/07/2011 | Free |