Spencer är en stad (city) i Clay County, i delstaten Iowa, USA. Enligt United States Census Bureau har staden en folkmängd på 11 181 invånare (2011) och en landarea på 28,5 km². Spencer är huvudort i Clay County.