Storm Lake is a city located in Buena Vista County Iowa. It is also the county seat of Buena Vista County. With a 2020 population of 10,134, it is the 41st largest city in Iowa and the 3078th largest city in the United States . Storm Lake is currently declining at a rate of -0.92% annually and its population has decreased by -4.40% since the most recent census, which recorded a population of 10,600 in 2010. Storm Lake reached it's highest population of 10,871 in 2014. Spanning over 5 miles, Storm Lake has a population density of 1,921 people per square mile.
The average household income in Storm Lake is $63,419 with a poverty rate of 16.37%. The median rental costs in recent years comes to $695 per month, and the median house value is $121,300. The median age in Storm Lake is 30.2 years, 30.2 years for males, and 30 years for females.