Spearfish is a city located in Lawrence County, South Dakota. Spearfish has a 2026 population of 13,803. Spearfish is currently growing at a rate of 3.67% annually and its population has increased by 12.91% since the most recent census, which recorded a population of 12,225 in 2020.