Atlanta Braves Cunningham was drafted in the second round, 53rd overall, in the
2008 Major League Baseball draft by the
Atlanta Braves, and he signed. He was assigned to the Single-A
Rome Braves as an outfielder. In 65 appearances for the affiliate, Cunningham hit .260 with one home run, 20 RBI, and seven SB. Cunningham spent the 2011 season with the High-A
Lynchburg Hillcats, where in 87 games, he hit .257 with four home runs, 20 RBI and 14 stolen bases. He was named to the
Carolina League All-Star team, joining fellow Hillcats
Joey Terdoslavich,
Andrelton Simmons, and Adam Milligan. After the season, he played with the
Surprise Saguaros of the
Arizona Fall League. spring training Cunningham spent the 2012 campaign with the Double-A
Mississippi Braves, where in 120 games, he hit .309 with three home runs, 51 RBI, and 24 stolen bases. Cunningham was a mid-season and post-season All-Star. After the year, he was announced the Braves' Organizational Player of the Year. Cunningham was invited to spring training as a non-roster invitee. Cunningham began 2013 with the Triple-A
Gwinnett Braves, where he hit .279 with two home runs, 30 RBI, and 18 stolen bases in 99 games before being called up. Cunningham was promoted to the major leagues for the first time on July 30, 2013, to replace the injured
Reed Johnson, and recorded his first career major league hit and subsequent run the same day against the
Colorado Rockies. Cunningham was optioned to the minors on August 11, having made six appearances in his first major league stint. After
Brandon Beachy was placed on the disabled list, Cunningham was recalled on August 23, only to be sent to the minors five days later, when
Dan Uggla was reactivated. He was invited to spring training in 2014, and sent down to Gwinnett on March 20. Cunningham spent the entire 2014 season in the minors. He was again invited to spring training in 2015, but not recalled until May 15, 2015, to make his first major league start against the
Miami Marlins. On June 14, Cunningham was optioned to Gwinnett, and returned to the majors for a one-day stint on August 7. He was recalled on September 8 and spent the final three weeks of the season in Atlanta.
Los Angeles Angels Cunningham was claimed off waivers by the
Los Angeles Angels of Anaheim on October 9, 2015. He was outrighted to the minors on April 2, 2016. On June 11, Cunningham was recalled for the first time in 2016. Seven days later, Cunningham was designated for assignment and subsequently sent to the Triple A
Salt Lake Bees. He was recalled on July 6, and again designated for assignment on July 26. Cunningham spent the rest of the season with the Bees.
St. Louis Cardinals On November 18, 2016, Cunningham signed a minor league contract with the
St. Louis Cardinals that included an invitation to spring training. Cunningham made 76 appearances for the Triple-A
Memphis Redbirds in 2017, slashing .270/.401/.400 with four home runs, 27 RBI, and six stolen bases.
Los Angeles Dodgers On July 10, 2017, Cunningham was traded to the
Los Angeles Dodgers in exchange for cash considerations. In 20 games for the Triple–A
Oklahoma City Dodgers, he batted .339/.417/.468 with no home runs and 4 RBI. Cunningham elected free agency following the season on November 6.
Pittsburgh Pirates On December 8, 2017, Cunningham signed a minor league contract with the
Pittsburgh Pirates. He made nine appearances for the Triple-A
Indianapolis Indians in 2018, going 3-for-23 (.130) with one RBI.
Chicago White Sox On April 26, 2018, Cunningham was traded to the
Chicago White Sox in exchange for a player to be named later. In nine appearances for the Triple-A
Charlotte Knights, he went 5-for-26 (.192) with two RBI and two stolen bases. Cunningham was released by the White Sox organization on May 15.
Sugar Land Skeeters On May 29, 2018, Cunningham signed with the
Sugar Land Skeeters of the
Atlantic League of Professional Baseball. In two appearances for the Skeeters, Cunningham went 0-for-1 at the plate.
Kansas City T-Bones On June 1, 2018, Cunningham was traded to the
Kansas City T-Bones of the
American Association of Independent Professional Baseball. He made 83 appearances for the T-Bones, slashing .333/.437/.484 with four home runs, 47 RBI, and 17 stolen bases. Cunningham was released by Kansas City on February 19, 2019. ==Coaching career==