Herrera was signed as an undrafted free agent by the Colorado Rockies on April 6, 2002.
On April 29, 2008, Herrera was called up to the major leagues to play second base for the Colorado Rockies in response to an injury sustained by their star shortstopTroy Tulowitzki as well as other lineup difficulties plaguing the team in the early 2008 baseball season. On May 4, he got his first RBI in a start against the Los Angeles Dodgers at Coors Field.
On December 12, 2008, Herrera was non-tendered, but re-signed to a minor league deal the next day.[1]
Herrera was called up again on May 31, 2010, to the Rockies from the Colorado Springs Sky Sox. After returning to Triple-A, he was recalled on August 19.[2]
Boston Red Sox
On December 18, 2013, Herrera was traded to the Boston Red Sox for pitcher Franklin Morales and minor-league pitcher Chris Martin.[3] After batting .233 in 42 games for the Red Sox in 2014, he underwent elbow surgery.[4] The Red Sox outrighted Herrera to the minor leagues after the season,[5] but he rejected the assignment and became a free agent.
Chicago Cubs
Herrera signed with the Chicago Cubs in December 2014. On April 5, 2015, Herrera had his contract selected to the major leagues. On October 29, Herrera elected free agency.
Rojos del Águila de Veracruz
On May 11, 2016, Herrera signed with the Rojos del Águila de Veracruz of the Mexican League. In 16 games for Veracruz, he batted .269/.346/.328 with no home runs and eight RBI. Herrera became a free agent after the season.
Olmecas de Tabasco
On January 27, 2017, Herrera signed with the Olmecas de Tabasco of the Mexican League. In 8 games for Tabasco, he went 2-for-22 (.091) with no home runs and two RBI. Herrera was released by the Olmecas on April 11.