He attracted interest from Football League clubs and signed for League One club Crewe Alexandra on 10 June 2013 on a two-year contract for an undisclosed fee.[9] He made his debut as an 89th-minute substitute in a 3–3 draw with Rotherham United on 3 August 2013.[10] Oliver scored his first Crewe goal after sliding in from a Brad Inman cross in the 15th minute of a 2–2 draw at home to Peterborough United on 7 September 2013.[11]
York City
Oliver signed for League Two club York City on 20 May 2015 on a three-year contract.[12][13] He made his debut when starting York's 3–0 away defeat by Wycombe Wanderers on 8 August 2015, the opening match of 2015–16.[14] His first goal for the club came in the 59th minute of a 3–0 away win over Newport County on 5 September 2015,[14] with a close-range shot after James Berrett's shot was saved.[15] Early in the season, Oliver showed a desire to flick on aerial balls, but once that desire seemingly disappeared he "cut a lethargic figure up front", according to Dave Flett of The Press.[16] He finished the season as York's top scorer with 10 goals from 42 appearances,[17] although he only scored once in his last 19 appearances.[14] Following York's relegation to the National League after finishing 24th in League Two,[18] Oliver was transfer listed by the club.[19]
On 2 August 2016, Oliver joined League Two club Notts County on loan until 7 January 2017.[20] He debuted four days later as a 56th-minute substitute for Jon Stead in a 2–0 defeat away to Yeovil Town.[21] He scored his first goal for the club in a 2–1 loss against Morecambe on 11 October 2016.[22]
On 21 May 2017, Oliver started as York beat Macclesfield Town 3–2 at Wembley Stadium in the 2017 FA Trophy Final, scoring in the 22nd minute with a three-yard shot from Sean Newton's low cross.[23] He finished 2016–17 with 10 goals from 23 appearances for York[8] as the club was relegated to the National League North after finishing in 21st place in the National League.[24] He was transfer listed at the end of the season at his own request.[25]
Morecambe and Northampton Town
Oliver signed for League Two club Morecambe on 30 June 2017 for an undisclosed fee,[26] on a contract of undisclosed length.[27] He scored his first goal for Morecambe in a 4–3 EFL Cup defeat away to Barnsley on 8 August 2017.[28] He was released by Morecambe at the end of the 2018–19 season.[29]
Oliver signed for League Two club Northampton Town on 3 July 2019 on a one-year contract.[30]
Gillingham
Oliver signed for League One club Gillingham on 5 August 2020.[31] He scored his first goal for Gillingham in a 2–1 home win over Crawley Town on 8 September in the EFL Trophy with a 52nd-minute header.[32] After scoring eight goals in eight games, on 9 April 2021, Oliver was awarded the League One Player of the Month award for March 2021.[33] He finished the 2020–21 season as the Kent side's top goal scorer, with 20 goals in all competitions.[34]
Oliver was also top scorer the following season with 11 goals in all competitions,[35] but could not prevent Gillingham's relegation to League Two.[36] Oliver announced on his Twitter account that he would be leaving the Kent side at the end of his contract.[37]
Bradford City
On 10 July 2022, Oliver signed for League Two club Bradford City on a three-year deal.[38][39]
On 17 January 2024, he joined League One club Stevenage on loan for the remainder of the 2023–24 season.[40]
Career statistics
As of match played 13 January 2024
Appearances and goals by club, season and competition