Harpur was born and raised in Niagara Falls and attended A. N. Myer Secondary School.[1] He was originally a left-winger until a minor midget hockey team coach suggested he move to defence.[2] He was drafted by the Guelph Storm as a defenceman in the 3rd round, 43rd overall, in the 2011 Ontario Hockey League (OHL) Priority Selection.[3] Harpur recorded his first career OHL point, an assist, in a 10-2 win over the Erie Otters on October 1, 2011.[4] Harpur played three and a half seasons with the Storm from 2011 to 2014.
After the 2012–13 season, Harpur was selected by the Ottawa Senators in the fourth round of the 2013 NHL Entry Draft.[5] Harpur was traded in the middle of the 2014–15 season to the Barrie Colts.[6] He signed a three-year entry-level contract with the Senators on November 6, 2014.[7]
During the 2015–16 season, Harpur was called up to Ottawa and made his NHL debut against the Minnesota Wild on March 31, 2016.[8][9] In the 2016–17 season, Harpur again played most of the season with Binghamton. Harpur was called up to Ottawa for the NHL playoffs and he made his playoff debut on April 17, 2017, against the Boston Bruins.[10] On February 9, 2018, Harpur signed a two-year, $1.45 million contract extension with the Senators.[11]
Unable to make the Maple Leafs roster heading into the 2019–20 season, Harpur was placed on waivers and re-assigned to AHL affiliate, the Toronto Marlies. Appearing in 33 games from the blueline for the Marlies, Harpur contributed with one goal and 11 points. With limited chance to return to the NHL with the Maple Leafs, Harpur was traded to the Nashville Predators in exchange for Miikka Salomäki on February 22, 2020.[14]
After two full seasons within the Predators organization, Harpur left as a free agent and went unsigned leading into the 2022–23 season. On October 13, 2022, Harpur agreed to a professional tryout contract with the Hartford Wolf Pack of the AHL.[15] Having played in four games with the Wolf Pack, Harpur was signed by NHL affiliate, the New York Rangers, in agreeing to a one-year, two-way contract on October 27.[16] He was later recalled by the Rangers, and remained on the roster adding depth to the blueline in posting four points through 17 contests before he was signed to a two-year, $1.575 million contract extension with the Rangers on January 26, 2023.[17]
Personal life
Harpur was the middle child born to parents Margery and George.[18] His father encouraged him to take skating lessons as a bonding experience.[19] However, his mother was of Australian descent and had never played hockey. She would often put Harpur's equipment on backwards until he learned to dress himself.[20]