St. Ansgar, IA has a population of 1,087 and is the 14,627th largest city in the United States. The population density is 1,006 per sq mi which is 1742% higher than the Iowa average and 1011% higher than the national average. The median age in St. Ansgar is 47 which is approximately 24% higher than the Iowa average of 38. In St. Ansgar, 71% of the population over 15 years of age are married, 98% speak English and 0% speak Spanish. 67% of St. Ansgar residents were born in Iowa, 31% were born out of state, 0% were born outside of the United States and 2% were foreign born.