Portsmouth is a city located in Shelby County, Iowa. Portsmouth has a 2026 population of 187. Portsmouth is currently declining at a rate of -1.06% annually but its population has increased by 0.54% since the most recent census, which recorded a population of 186 in 2020.