Playing career
Bunyan played as a goalkeeper, and after playing with local sides Old Horns and Spital Olympic, Bunyan played with Chesterfield in 1886, before turning professional with Hyde a year later. He played in the Football League with Derby County, Bunyan returned to Chesterfield in 1892. Bunyan was sacked by Chesterfield for a number of misdemeanours – both on and off the pitch – and he played with Ilkeston Town and Heanor Town before returning to League football with Walsall.
He moved to New Brompton in 1898, where he was an ever-present for one season before moving on to Newcastle United.
He also played as a "guest" player for Sheffield United. Coaching career
Bunyan moved to Belgium in 1909 to become coach of Racing Club de Bruxelles, while also assisting with the Belgian national side.
He moved to Sweden in 1911 to manage Örgryte Instruction Section, before coaching the Swedish national side in time for the 1912 Summer Olympics. Bunyan returned to Belgium in 1912 to manage Standard Liège, and after a brief spell also managing the Belgian national side, his career was interrupted by the First World War, but he returned to Belgium after the war ended to coach Anderlecht.