Spirit Lake, IA has a population of 4,992 and is the 6,491st largest city in the United States. The population density is 1,111 per sq mi which is 1934% higher than the Iowa average and 1126% higher than the national average. The median age in Spirit Lake is 47 which is approximately 24% higher than the Iowa average of 38. In Spirit Lake, 68% of the population over 15 years of age are married, 98% speak English and 2% speak Spanish. 71% of Spirit Lake residents were born in Iowa, 28% were born out of state, 0% were born outside of the United States and 0% were foreign born.