Peraza signed with the Atlanta Braves for $350,000 as an international free agent on July 2, 2010. He made his professional debut in 2011 for the Dominican Summer League Braves. Peraza split the 2012 season between the Gulf Coast League Braves and the Danville Braves. He was promoted to the Rome Braves in 2013, where he spent the whole season. He started 2014 with the Lynchburg Hillcats of the Class A-AdvancedCarolina League. In 66 games with Lynchburg, Peraza batted.342 and stole 35 bases. He was promoted to the Mississippi Braves of the Class AASouthern League in June, and selected to play in the All-Star Futures Game in July. Peraza was also named the Braves top prospect and #58 on MLB.com's Top 100 list. He hit.339/364/.441 with 60 stolen bases between the two levels. At the end of the season, Peraza was named the Braves Minor League Player of the Year. The Braves added Peraza to their 40-man roster on November 19, 2014, to protect him from being selected in the Rule 5 draft. He was invited to spring training in 2015, and sent down on March 16 to begin the season with the Gwinnett Braves of the Class AAAInternational League. With the emergence of Jace Peterson at second base, the Braves decided to begin starting Peraza at center field to increase his experience in the outfield and overall versatility. When outfielder Mallex Smith was promoted to Triple-A in June 2015, Peraza returned to man second base.
On July 30, 2015, in a three-team trade, the Los Angeles Dodgers acquired Peraza, Mat Latos, Michael Morse, Bronson Arroyo, Alex Wood, Jim Johnson, and Luis Avilán, while the Miami Marlins acquired minor league pitchers Victor Araujo, Jeff Brigham, and Kevin Guzman, and the Braves received Héctor Olivera, Paco Rodriguez, minor league pitcher Zachary Bird and a competitive balance draft pick for the 2016 MLB Draft. He was initially assigned to the Oklahoma City Dodgers of the Class AAA Pacific Coast League, however, he was promoted to the major league roster on August 10 and made his debut that night as the starting second baseman against the Washington Nationals. His first major league hit was a triple off of Nationals starter Gio González. He was the third Los Angeles Dodger to hit a triple in his first major league game, joining Doug Rau in 1972 and Gary Moore in 1970. He wound up battling hamstring injuries during his time with the club and only played in seven games before he was shut down for good. In those games, he had four hits in 22 at-bats for a.182 average and also stole three bases.
Cincinnati Reds
On December 16, 2015, Peraza, along with Scott Schebler and Brandon Dixon, were traded to the Cincinnati Reds in a three team trade that sent Frankie Montas, Micah Johnson and Trayce Thompson to the Dodgers and Todd Frazier to the Chicago White Sox. Peraza opened the 2016 season with the Louisville Bats of the International League, playing as a shortstop. He had spent time with the major league team in spring training, but was sent to the minors so he could get regular playing time. Peraza was recalled for the first time in 2016 on May 13, and returned to Louisville five days later. On June 14, Peraza was recalled for the second time, and expected to play a utility role. He was optioned to the minors on August 2, as the Reds wanted him to play regularly at shortstop. On August 21, he returned to the Reds, starting at shortstop in place of the injured Zack Cozart. In 2016 in the majors he batted.324/.352/.411 with 3 home runs. During the 2016–17 offseason, Brandon Phillips was traded to the Atlanta Braves, a move that was expected to give Peraza a chance to become the Reds' starting second baseman. Just after the All-Star break, Peraza had lost his starting position to Scooter Gennett. He played in 143 games, getting 487 at bats for the Reds, hitting.257 with 5 home runs, 37 RBIs, and 23 stolen bases, while leading the majors in percentage of soft-hit batted balls. He had the lowest ISO of all MLB players in 2017, at.066. Peraza was named the Reds' starting shortstop prior to the start of the 2018 season. He batted.288/.326/.416 with 14 home runs. He had the lowest fielding percentage among major league shortstops, at.963. Peraza was non-tendered on December 2, 2019, and became a free agent.
Peraza signed a major league deal with the Boston Red Sox on December 13, 2019.. Peraza made his Red Sox debut against the Baltimore Orioles on July 24, 2020, getting his first hit, a double, in the third inning.