Asbury is a city located in the U.S. state of Iowa. It is within Dubuque County included in the Dubuque, Iowa Metropolitan Statistical Area. It has a total area of 2.66 square miles at 42°30′56″N 90°45′48″W. The elevation is 932 feet above sea level. As of the 2010 census data, it had a total population of 4,170. The population density was 1,568/sq mi. Estimated per capita income in 2016 was $43,090. It has Zip code 52002.