Born in Monroe County, Georgia, Speer attended the common schools.
He was appointed collector of Confederate taxes for Pike County in June 1863, serving until the end of the American Civil War.
Speer was elected justice of the inferior court for Pike County in 1865, serving until July 1868.
Speer was elected as a Republican to the Forty-second Congress and served from March 4, 1871, until his death in Barnesville, Georgia, August 18, 1872.
This article incorporates public domain material from the Biographical Directory of the United States Congress