Salem, IA has a population of 551 and is the 18,976th largest city in the United States. The population density is 902 per sq mi which is 1551% higher than the Iowa average and 896% higher than the national average. The median age in Salem is 45 which is approximately 19% higher than the Iowa average of 38. In Salem, 52% of the population over 15 years of age are married, 99% speak English and 0% speak Spanish. 79% of Salem residents were born in Iowa, 20% were born out of state, 1% were born outside of the United States and 1% were foreign born.