May graduated from Parkway West High School in Ballwin, Missouri. From there, he skipped college and entered the Major League Baseball draft in 2003. He was selected by the Los Angeles Dodgers in the 8th round as the 241st overall pick. He played in Major League Baseball with the Kansas City Royals in 2010.
May began his professional career after he signed with the Dodgers. He played at the rookie level for the Gulf Coast Dodgers in 2003. He played shortstop and batted .252 with no home runs in 48 games. In 2004, May stayed at the rookie level, playing for the Ogden Raptors. Playing in only 34 games, he had a .286 batting average with 5 home runs.
He was promoted to Single-A in 2005, playing for the Columbus Catfish. He played shortstop as well as beginning to play in the outfield. His bad defense had prompted the organization to make the switch as he committed 18 errors in 46 games in 2003, 18 errors in 34 games in 2004, and 26 errors in 46 games. May played for the Catfish again in 2006, this time seeing all his action in the outfield. In 119 games, he had a .273 batting average and showed some power, hitting 18 home runs.
In 2007, May was promoted to the next level. He played for the Advanced Single-A Inland Empire 66ers. Switching positions again, he played the whole year as a catcher and displayed power in his 128 games played. His 25 home runs were tied for second in the California League and his 89 RBIs were good enough for 10th in the league. His slugging percentage was little more than 200 points higher than his batting average and his strikeout totals went down from 130 to 107 from the previous year. He was named to the California League All-Star team and went 1 for 4 with two runs scored in the All-Star game.
Following the season on November 20, 2007, May's contract was purchased by the Los Angeles Dodgers, protecting him from the Rule 5 Draft. The Dodgers assigned May to the Double-A Jacksonville Suns for the 2008 season where he hit .230 with 13 home runs in 392 at bats.
In 2009, May played for the Dodgers' new AA affiliate, the Chattanooga Lookouts. He was named to the Southern League mid-season All-Star team and after the season played for Team USA in the 2009 Baseball World Cup where he hit 3 home runs, playing in all games as a starting catcher.
After starting 2010 with Chattanooga, he was shortly promoted to the Triple-A Albuquerque Isotopes and was selected to the Pacific Coast League all-star team.
On July 28, 2010, the Dodgers traded May, along with pitcher Elisaul Pimentel, to the Kansas City Royals for outfielder Scott Podsednik. He was assigned to play for the Omaha Royals.
He was called up to the Royals on September 1, 2010 and made his Major League debut on September 4 against the Detroit Tigers, where he was hitless in three at-bats. On September 12 against the Chicago White Sox he recorded his first major league hit, a single to left field off of Matt Thornton.
On June 1, 2011, the Royals traded May to the Arizona Diamondbacks for Andrea Pizziconi.
May signed a minor league contract with the New York Mets on December 12, 2011.
May played in the Pittsburgh Pirates organization in 2013.
May signed a minor league deal with the Milwaukee Brewers on January 30, 2014.
While playing for AAA Nashville on August 27, 2014, May was the final batter at Herschel Greer Stadium, the Sounds' home for the first 37 years of its existence. In his only plate appearance of the night, he struck out swinging on a full count with the bases loaded in the bottom of the 9th inning to end the game and secure an 8-5 loss.