McInnes was capped once for Scotland, against Ireland in 1889. He joined local club Cowlairs, playing as a forward, most often at outside right. His performances for Cowlairs earned him a cap for the Scotland national team, on 9 March 1889 against Ireland in the 1889 British Home Championship.
McInnes scored 67 goals from 226 appearances playing as an inside forward for N ottinghamshire County between 1889 and 1893.
During 1892, he briefly returned to Scotland to play for Rangers. Upon his return to N ottinghamshire County, McInnes was suspended for a month by the Football Association because his move to Rangers breached their rules.
McInnes later played for Everton and Luton Town in the Football League and for Third Lanark in the Scottish Football League.
Scotland won the match 7–0, and McInnes scored the last goal, in the 88th minute. McInnes played on the losing side for N ottinghamshire County against Blackburn Rovers in the 1891 FA Cup Final. On 13 October 1894, McInnes scored the opening goal in the first ever Merseyside derby, which Everton won 3–0.