 
          | Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2021/2022 | Scottish Cup |  Dunfermline Athletic | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2021/2022 | Championship |  Dunfermline Athletic | 20 | 0 | 0 | 1/0/0 | 1800 | 
| 2021/2022 | League Cup |  Dunfermline Athletic | 2 | 0 | 0 | 0/0/0 | 180 | 
| 2020/2021 | Premiership Play-Offs |  Dunfermline Athletic | 2 | 0 | 0 | 0/0/0 | 180 | 
| 2020/2021 | Scottish Cup |  Dunfermline Athletic | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2020/2021 | League Cup |  Dunfermline Athletic | 4 | 0 | 0 | 0/0/0 | 360 | 
| 2020/2021 | Championship |  Dunfermline Athletic | 26 | 0 | 0 | 2/0/0 | 2340 | 
| 2019/2020 | Scottish Cup |  Hamilton Academical | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2019/2020 | Premiership |  Hamilton Academical | 15 | 0 | 0 | 3/0/0 | 1350 | 
| 2019/2020 | League Cup |  Hamilton Academical | 5 | 0 | 0 | 0/0/0 | 450 | 
| 2019/2020 | Championship |  Dunfermline Athletic | 6 | 0 | 0 | 0/0/0 | 540 | 
| 2018 | US Open Cup |  Indy Eleven | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2018 | USL Championship |  Indy Eleven | 31 | 0 | 0 | 3/0/0 | 2790 | 
| 2017/2018 | Challenge Cup |  Inverness CT | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2017/2018 | Championship |  Inverness CT | 2 | 0 | 0 | 0/0/0 | 180 | 
| 2016/2017 | Scottish Cup |  Inverness CT | 2 | 0 | 0 | 0/0/0 | 180 | 
| 2016/2017 | Premiership |  Inverness CT | 29 | 0 | 0 | 1/0/0 | 0 | 
| 2015/2016 | Premiership |  Inverness CT | 38 | 0 | 0 | 4/0/0 | 0 | 
| 2015/2016 | Europa League |  Inverness CT | 2 | 0 | 0 | 0/0/0 | 180 | 
| 2015/2016 | Scottish Cup |  Inverness CT | 5 | 0 | 0 | 0/0/0 | 0 | 
| 2015/2016 | League Cup |  Inverness CT | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2014/2015 | League Two |  Tranmere Rovers | 30 | 0 | 0 | 3/0/0 | 0 | 
| 2014/2015 | FA Cup |  Tranmere Rovers | 4 | 0 | 0 | 0/0/0 | 0 | 
| 2013/2014 | Carabao Cup |  Tranmere Rovers | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2013/2014 | FA Cup |  Tranmere Rovers | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2013/2014 | League One |  Tranmere Rovers | 43 | 0 | 0 | 5/0/0 | 3870 | 
| 2012/2013 | FA Cup |  Tranmere Rovers | 3 | 0 | 0 | 1/0/0 | 0 | 
| 2012/2013 | Carabao Cup |  Tranmere Rovers | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2012/2013 | League One |  Tranmere Rovers | 45 | 0 | 0 | 2/0/0 | 4050 | 
| 2011/2012 | EFL Trophy |  Tranmere Rovers | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2011/2012 | League One |  Tranmere Rovers | 35 | 0 | 0 | 2/0/1 | 3150 | 
| 2010/2011 | League One |  Rochdale | 22 | 0 | 0 | 1/0/0 | 1980 | 
| 2010/2011 | FA Cup |  Bury | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2010/2011 | League Two |  Bury | 6 | 0 | 0 | 1/0/0 | 0 | 
| 2010/2011 | League Two |  Stockport County | 5 | 0 | 0 | 0/0/0 | 0 | 
| 2009/2010 | League One |  Bury | 43 | 0 | 0 | 3/0/0 | 3870 | 
| 2009/2010 | FA Cup |  Stockport County | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2009/2010 | League One |  Stockport County | 43 | 0 | 0 | 2/0/0 | 3870 | 
| 2008/2009 | League One |  Stockport County | 33 | 0 | 0 | 2/0/0 | 2970 | 
| 2008/2009 | FA Cup |  Stockport County | 4 | 0 | 0 | 0/0/0 | 0 | 
| Total: | 526 | 0 | 0 | 36/0/1 | 34650 | 
| Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2020/2021 | UEFA Nations League |  Wales | 0 | 0 | 0 | 0/0/0 | 0 | 
| Total: | 0 | 0 | 0 | 0/0/0 | 0 | 
| From | To | Date | Amount | 
|---|---|---|---|
|  Fleetwood Town |  Dunfermline Athletic | 02/03/2023 | Free | 
|  Dunfermline Athletic |  Hamilton Academical | 03/08/2020 | Free | 
|  Hamilton Academical |  Dunfermline Athletic | 01/07/2020 | N/a | 
|  Dunfermline Athletic |  Hamilton Academical | 30/01/2020 | Loan | 
|  Hamilton Academical |  Inverness CT | 01/07/2019 | Free | 
|  Inverness CT |  Indy Eleven | 01/01/2019 | N/a | 
|  Indy Eleven |  Inverness CT | 31/01/2018 | Loan | 
|  Inverness CT |  Tranmere Rovers | 01/07/2015 | N/a | 
|  Tranmere Rovers |  Rochdale | 01/07/2011 | Free |