Graterol was signed as an undrafted international free agent by scout Juan Indriago in 2005, and began his professional career in the Kansas City Royals organization.[2][1][3] As a 17 year old for the Royals' Dominican League team, Graterol slashed .296/.386/.349. In 2007, playing for the rookie-ball Burlington Royals, Graterol's production tanked as he hit only .225/.292/.235, but bettered his production the next year playing for the Idaho Falls Chukars, as he batted .276/.366/.316. Graterol spent the majority of the next two season with the Single-A Burlington Bees, batting a solid .300/.343/.340. That season, he also made it as high as the advanced Single-A Wilmington Blue Rocks, only appearing in 3 games for the team. Through his first 4 years as a professional player, Graterol managed a .278/.349/.315 batting line with no home runs or triples, and only 21 doubles.[4] In 2011, Graterol split the season between the Kane County Cougars and Wilmington, but his production hit a wall as he batted only .195/.255/.235, however he did hit his first professional home run with Wilmington.
In 2012, Graterol spent the entire season with Wilmington, with great production as he hit .301/.338/.393. On May 12, 2013, while playing for the Double-A Northwest Arkansas Naturals, Graterol hit the game-deciding home run in a 5–4 victory against the Springfield Cardinals in a game that had lasted 20 innings. The game, which lasted 5 hours and 38 minutes was the longest in Naturals history.[5] He ended the season batting .286/.314/.368 with 3 home runs and 17 RBI. Graterol was invited to Spring Training with the Royals for the 2014 season.[6] In 2014, Graterol reached Triple-A for the first time, appearing in 7 games for the Omaha Storm Chasers, but spent the majority of the season with Northwest Arkansas as he hit .278/.307/.387 between the two teams.
He signed with the Los Angeles Angels of Anaheim on January 12, 2016, and was promoted to the major leagues for the first time on July 18, 2016.[3][9][10] After Graterol was with the Angels for five days he was optioned to the minor leagues, without having appeared in a game.[11] Graterol was called up and made his major league debut on September 2, 2016, and had 14 major league at bats in the season. He was designated for assignment by the Angels on November 22.[12]
Cincinnati Reds
On November 28, 2016, the Cincinnati Reds claimed Graterol off waivers.[13] He was designated for assignment by the Reds in December.
Arizona Diamondbacks
He was claimed off waivers by the Arizona Diamondbacks on December 24, 2016.[14] They designated Graterol for assignment on January 13, 2017, after signing Chris Iannetta.[15]
Los Angeles Angels (second stint)
The Los Angeles Angels claimed Graterol off waivers on January 19, 2017.[16] The Angels then waived Graterol again.
Toronto Blue Jays
The Toronto Blue Jays claimed him off waivers on January 23, 2017.[17] Graterol was designated for assignment on April 14.
Los Angeles Angels (third stint)
On April 18, 2017, Graterol was traded by the Blue Jays back to the Angels in exchange for cash or a player to be named later.[18] In 2017 he batted .202/.207/.250 with no home runs and 10 RBIs in 84 at bats.[3]
He was designated for assignment on April 4, 2018. He was outrighted to the Salt Lake Bees on May 8. He was designated for assignment on June 19, and released on June 24.[19]
Minnesota Twins
On June 28, 2018, Graterol signed a minor league deal with the Minnesota Twins as a free agent. In the majors with the Twins, he batted .143/.250/.143 in seven at bats.[3]
Cincinnati Reds (second stint)
On October 10, 2018, Graterol was claimed off waivers by the Reds.[20] He was non-tendered on November 30, and became a free agent. On December 3, 2018, Graterol re-signed a minor league deal with the Reds. He was called up to the major leagues on July 17, 2019. On October 16, Graterol was designated for assignment.[21] He elected free agency on October 21.
Toronto Blue Jays (second stint)
On November 26, 2019, Graterol signed a minor league contract with the Minnesota Twins.[22] Graterol did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[23] He became a free agent on November 2, 2020.[24]
On December 30, 2020, Graterol signed a minor league contract with the Los Angeles Angels organization.[25] On March 31, 2021, Graterol was traded to the Toronto Blue Jays in exchange for cash considerations[26] and assigned to the Triple–A Buffalo Bisons on May 3.[27]
Arizona Diamondbacks (second stint)
On November 13, 2021, Graterol signed a minor league contract with the Arizona Diamondbacks.[28] In 38 games for the Triple–A Reno Aces, he batted .256/.299/.358 with 2 home runs, 13 RBI, and a career–high 3 stolen bases. Graterol was released by the Diamondbacks organization on August 1, 2022.[29]