Ferguson played midget hockey in the Saskatchewan Midget Hockey League with the
Notre Dame Hounds as he was selected 166th overall by the
Kamloops Blazers in the 2013
Western Hockey League (WHL)
bantam draft. Ferguson played two more seasons with the Hounds before signing with the Blazers in 2015. Following his second season of major junior hockey with the Blazers in
2016–17, serving as a backup to
Connor Ingram, Ferguson was selected with the 194th overall pick in the
2017 NHL entry draft by the
Dallas Stars. However, he was traded to the
Vegas Golden Knights on June 27 (only two days after he was drafted) with a second-round pick in the
2020 NHL entry draft in exchange for defenceman
Marc Methot. On September 28, 2017, the Golden Knights signed Ferguson to a three-year, entry-level contract. He began the
2017–18 season with the Blazers. However, on October 31, Ferguson was called up by the Golden Knights under emergency basis following a number of goaltending injuries. Ferguson made his NHL debut on November 14, in relief of
Maxime Lagacé against the
Edmonton Oilers in which he allowed one goal on two shots in 9:14 of playing time. Ferguson was returned to the Blazers on November 17 after the Golden Knights activated
Malcolm Subban from injured reserve. As the Blazers failed to make a postseason run, the Golden Knights called up Ferguson as their third backup goalie during the
2018 Stanley Cup playoffs. Ferguson returned to the Blazers for the
2018–19 season after attending the Golden Knights training camp. During the Blazers season-opening week, Ferguson was named the WHL Goaltender of the Week after he recorded a 1.00 goals-against-average and a 0.970 save percentage. Ferguson was assigned to the
ECHL's
Fort Wayne Komets to start the
2019–20 season, but also saw time with the Golden Knights'
American Hockey League (AHL) affiliate, the
Henderson Silver Knights. The Golden Knights declined to issue a qualifying offer to Ferguson at the conclusion of his entry-level contract, making him an unrestricted free agent. Ferguson then signed a
professional tryout contract (PTO) with the
Toronto Maple Leafs on August 11, 2022. After attending the Maple Leafs training camp and pre-season, Ferguson was re-assigned to join the Leafs' AHL affiliate, the
Toronto Marlies, to begin the
2022–23 season on a PTO. Ferguson made five appearances with the Marlies before he was loaned to the
Wichita Thunder of the ECHL on February 23, 2023. Before making an appearance with the Thunder, Ferguson was traded by the Marlies to the
Belleville Senators of the AHL in exchange for future considerations on February 24. He was then signed to a two-way contract for the remainder of the season with the Belleville Senators' NHL affiliate, the
Ottawa Senators, on March 2, 2023. Ferguson was recalled by Ottawa after registering a 5–1–0 record with Belleville after joining the team. He lost his second game of the season with Ottawa 5–3 to the
New Jersey Devils on March 25. He was returned to Belleville on March 28 after goalie
Cam Talbot became healthy enough to return to Ottawa's lineup. Following his brief tenure with the Senators, Ferguson left the organization as a free agent in the off-season. Unable to attract NHL interest, Ferguson opted to sign his first contract abroad, agreeing to a one-year contract with Belarusian club
HC Dinamo Minsk of the
Kontinental Hockey League (KHL) on July 28, 2023. He made 23 appearances in the KHL with 9-9-0 record with a .904 save percentage and 2.51 goals-against average. After one season in the KHL, Ferguson returned to North America and signed a PTO with the
Vancouver Canucks on September 15, 2024. As a free agent at the conclusion of the season, Ferguson returned to Europe in signing a one-year deal with Slovakian club, HK Nitra of the Slovak Extraliga, on July 10, 2025. ==Career statistics==