Guest, Sign inJoin
SD-Milbank-HollandsgristmillMilbank, #1 on this list · Photo: Joel Bradshaw · CC BY-SA 3.0
South Dakota rankings · Cost of living

Most affordable towns in South Dakota

Milbank ranks first on cost of living among South Dakota’s 35 towns of 2,500+; 4 of the 35 grade A− or better on cost of living nationally.

The Cost of living grade: home values, rent and property-tax bills against the income of the town’s metro area or county, and the share of households paying 30%+ of income for housing (Census ACS). How grades work

#1

Milbank

Grant County · 3,512 people
A+

Cost of living grade, homes cost 3.2 years of area income·Overall A · #5 of 35 in SD

#2

Canton

Lincoln County · 3,001 people
A

Cost of living grade, homes cost 3.6 years of area income·Overall A− · #9 of 35 in SD

#3

Lead

Lawrence County · 3,064 people
A−

Cost of living grade, homes cost 5.1 years of area income·Overall B+ · #13 of 35 in SD

All 35 towns

Cost of living grade, best first (the letter is national). Towns with the same score share a rank; the overall grade and state rank are beside each.

35 towns ranked. Not here? See why a town may be missing.

#TownGradeHome price · overall
1MilbankGrant County · 3,512 peopleA+3.2 years of area income·Overall A · #5 of 35
2CantonLincoln County · 3,001 peopleA3.6 years of area income·Overall A− · #9 of 35
3LeadLawrence County · 3,064 peopleA−5.1 years of area income·Overall B+ · #13 of 35
4LennoxLincoln County · 2,657 peopleA−3.9 years of area income·Overall A+ · #2 of 35
5PierreHughes County · 13,848 peopleB+3.7 years of area income·Overall B+ · #15 of 35
6YanktonYankton County · 15,816 peopleB+3.8 years of area income·Overall B+ · #16 of 35
7WinnerTripp County · 2,969 peopleB+3.1 years of area income·Overall C · #31 of 35
8MobridgeWalworth County · 3,192 peopleB+2.0 years of area income·Overall B+ · #14 of 35
9HartfordMinnehaha County · 3,635 peopleB+4.9 years of area income·Overall A+ · #4 of 35
10WatertownCodington County · 23,736 peopleB+4.3 years of area income·Overall B · #18 of 35
11MitchellDavison County · 15,756 peopleB3.6 years of area income·Overall B · #19 of 35
12MadisonLake County · 6,065 peopleB3.4 years of area income·Overall B+ · #12 of 35
13Hot SpringsFall River County · 3,670 peopleB4.9 years of area income·Overall B− · #23 of 35
14HuronBeadle County · 14,607 peopleB2.6 years of area income·Overall C− · #33 of 35
15Dell RapidsMinnehaha County · 3,852 peopleB4.5 years of area income·Overall A+ · #3 of 35
16AberdeenBrown County · 27,961 peopleB3.4 years of area income·Overall B− · #21 of 35
17Belle FourcheButte County · 5,791 peopleB4.6 years of area income·Overall C · #32 of 35
18BrandonMinnehaha County · 11,306 peopleB4.7 years of area income·Overall A+ · #1 of 35
19Blackhawkunincorporated, Meade County · 2,934 peopleB4.7 years of area income·Overall C+ · #29 of 35
20Rapid Valleyunincorporated, Pennington County · 6,975 peopleB−3.4 years of area income·Overall B− · #20 of 35
21Sioux FallsMinnehaha County · 213,748 peopleB−4.0 years of area income·Overall C+ · #27 of 35
22BrookingsBrookings County · 25,355 peopleC+4.6 years of area income·Overall B+ · #17 of 35
23SturgisMeade County · 6,922 peopleC+5.0 years of area income·Overall C+ · #30 of 35
24North Sioux CityUnion County · 3,036 peopleC+5.6 years of area income·Overall B− · #24 of 35
25Split Rock TownshipMinnehaha County · 3,086 peopleC6.0 years of area income·Overall A · #6 of 35
26HarrisburgLincoln County · 10,405 peopleC4.4 years of area income·Overall A− · #8 of 35
27TeaLincoln County · 8,019 peopleC4.6 years of area income·Overall A− · #7 of 35
28Colonial Pine Hillsunincorporated, Pennington County · 2,609 peopleC5.4 years of area income·Overall C+ · #28 of 35
29SpearfishLawrence County · 14,154 peopleC6.1 years of area income·Overall B− · #22 of 35
30VermillionClay County · 11,720 peopleC4.8 years of area income·Overall B− · #25 of 35
31Rapid CityPennington County · 80,589 peopleC4.8 years of area income·Overall D · #35 of 35
32SummersetMeade County · 3,030 peopleC−5.7 years of area income·Overall B− · #26 of 35
33Big Sioux TownshipUnion County · 5,152 peopleC−6.7 years of area income·Overall B+ · #11 of 35
34Dakota Dunesunincorporated, Union County · 3,936 peopleC−7.5 years of area income·Overall A− · #10 of 35
35Box ElderPennington County · 13,936 peopleD4.9 years of area income·Overall C− · #34 of 35
Quick answers

Questions people ask

What is the most affordable town in South Dakota?

Milbank (Grant County) ranks first on cost of living among 35 towns, with an A+; Canton and Lead follow.

How are these towns ranked?

The Cost of living grade: home values, rent and property-tax bills against the income of the town’s metro area or county, and the share of households paying 30%+ of income for housing (Census ACS). Towns are sorted on the grade’s score; the letter and rank are the same as on each town’s page. How grades work.

Why isn’t my town on this list?

The list covers towns of 2,500+ residents with a cost of living grade (35 in South Dakota). Smaller towns have the grade on their page but no rank. Every town is on the South Dakota page.

Go deeper

More South Dakota lists

Every list ranks the same 2,500+ towns, so a town’s rank means the same thing on each.

All South Dakota rankings →
Other states

Most affordable towns in other states