Botts made his major league debut for the Texas Rangers on September 14, 2005, against the Baltimore Orioles, and had a total of 27 at-bats in that month. His fortunes at the plate were somewhat mixed: he scored 8 hits and 3 RBI, but also struck out 13 times.
On May 28, 2006, Botts started as the DH against the Oakland Athletics. He hit his first major league home run into the upper deck at Rangers Ballpark in Arlington against the A's Kirk Saarloos in the 2nd inning. On August 1, 2007, Botts was called up by the Texas Rangers to be the designated hitter for the remainder of the 2007 season. Through his first eight games, he had a .219 batting average with one home run and four RBI.
On April 29, 2008, the Rangers designated Botts for assignment, giving them 10 days to trade,release,or outright him to the minors. On May 7, 2008, the Rangers outrighted Botts to Triple-A Oklahoma.
On June 4, 2008, the Hokkaido Nippon Ham Fighters in Japan's Pacific League acquired him from the Texas Rangers. He also played in the Mexican Pacific League for the Yaquis de Obregón, Tomateros de Culiacán and most recently for Cañeros de Los Mochis .
Botts was signed to a minor league contract on December 17, 2009, by the Chicago White Sox. Botts was released on March 17, 2010.
Botts started the 2010 season with the Camden River Sharks of the Atlantic League. He was signed to a minor league contract by the Washington Nationals on June 9, 2010.
On March 26, 2011, Botts signed a minor league contract with the Colorado Rockies. He was released on April 7.
Botts signed with the York Revolution of the Atlantic League for 2011. However, on May 19, he signed a minor league contract with the New York Mets.
Botts is one of only two major leaguers to have been born in Paso Robles, California, the other being Hal Rhyne.