Viloria signed with the Kansas City Royals as an international free agent in July 2013.[1] He made his professional debut in 2014, and played for both the Burlington Royals and the DSL Royals, batting a combined .278/.380/.417 in 151 at bats with three home runs and 25 RBIs in 46 combined games. He spent 2015 back with Burlington, where he batted .260/.335/.360 in 150 at bats with 16 RBIs in 45 games.[2]
In 2016, he played for the Idaho Falls Chukars where he had a breakout season. He led the Pioneer League with 28 doubles and 44 RBIs, and batted .376(6th in the league)/.436/.606(9th) with 54 runs (3rd in the Pioneer League), six home runs, 54 runs, 8 hit by pitch (2nd), 5 sacrifice flies (3rd), and a 1.042 OPS (8th) in 58 games, earning him the Pioneer League MVP award.[3][4] He was also a Pioneer League Mid-Season and Post-Season All Star, a Baseball America Rookie All Star, and an MiLB.com Organization All-Star.[5]
Viloria was on Colombia's roster for the 2017 World Baseball Classic.[6] In 2017, he played for the Lexington Legends, where he batted .259/.313/.394 in 363 at bats with eight home runs and 52 RBIs in 101 games.[7] The Royals added him to their 40-man roster after the 2017 season.[8]
2018–21
He was called up on September 1, 2018, amid Drew Butera being traded and Salvador Perez getting injured, and made his debut the following day. In 2018 he was the youngest player in the American League.[9] For the Royals in 2018, he batted 7-for-27 with four RBIs.[9] For Wilmington, he batted .260/.342/.360 in 358 at bats, with six home runs and 42 RBIs.[2]
On July 16, 2019, after starting the season with Kansas City's Double–A affiliate Northwest Arkansas Naturals, Viloria was called up to the Royals upon Martín Maldonado being traded to the Chicago Cubs. In 2019 for the Royals he batted .211/.259/.286 in 133 at bats, with a home run and 15 RBIs.[9] In 2019 with Northwest Arkansas he batted .264/.344/.332 in 220 at bats, with one home run and 24 RBIs.[2]
On April 1, 2021, Viloria was designated for assignment by the Royals.[11] On April 6, he was outrighted to the Double-A Northwest Arkansas Naturals.[12]
In 2021 in the minor leagues, between Triple–A Omaha and Double–A Northwest Arkansas he batted .242/.368/.384 in 281 at bats, with 37 runs, 8 home runs, and 31 RBIs.[2] On November 7, 2021, he was granted free agency.[9]
Texas Rangers
On December 3, 2021, Viloria signed a minor league contract with the Texas Rangers.[13] He opened the 2022 season with the Triple–A Round Rock Express. On June 21, 2022, Texas selected his contract to the active roster.[14]
In 2022 with Triple–A Round Rock, he batted .280/.422(tied for 2nd in the Pacific Coast League)/.440 in 175 at bats, with 38 runs, 5 home runs, and 28 RBIs.[15][2] In 2022 with the Rangers, he batted .159/.280/.270 in 63 at bats, with 10 runs, two home runs, and five RBIs.[9]
In 86 major league games at catcher through 2022, he caught 36% of runners attempting to steal.[9]
San Francisco Giants
On November 10, 2022, Viloria was claimed off waivers by the San Francisco Giants, along with Drew Strotman. On November 15, Viloria was designated for assignment by the Giants after they protected multiple prospects from the Rule 5 draft.[16] On November 18, he was non-tendered and became a free agent.
Cleveland Guardians
On December 4, 2022, Viloria signed a one-year minor league contract with the Cleveland Guardians.[17] The deal included an invitation to the Guardians' 2023 major league spring training camp. The Guardians selected Viloria's contract on March 30, 2023, adding him to their Opening Day roster. He appeared in 10 games for Cleveland, going 0-for-3 with a walk. On May 1, Viloria was designated for assignment following the promotion of David Fry.[18] After clearing waivers, Viloria elected free agency on May 8.[19]
Los Angeles Angels
On May 11, 2023, Viloria signed a minor league contract with the Los Angeles Angels.[20] He played in 10 games for the Triple-A Salt Lake Bees, hitting .167/.265/.333 with one home run and one RBI. On June 2, Viloria was released by the Angels organization.[21]
Baltimore Orioles
On June 26, 2023, Viloria signed a minor league contract with the Baltimore Orioles organization.[22] He played in only 5 games split between the rookie–level Florida Complex League Orioles and Triple–A Norfolk Tides, going 6–for–16 (.375) with one home run and three RBI. On September 23, Viloria was released by the Orioles organization.[23]
Olmecas de Tabasco
On February 1, 2024, Viloria signed with the Olmecas de Tabasco of the Mexican League.[24] He was released by the Olmecas without playing in a game on April 13.[25]