As of the 2011 Indian Census, Shahpur had a total population of 17,767, of which 9,182 were males and 8,585 were females. Population within the age group of 0 to 6 years was 2,809.
According to the 2011 Indian Census data, Shahpur's population stood at 17,767, with a male-to-female ratio of 9,182:8,585. Additionally, there were 2,809 children under the age of six.