State rental market analysis · IA
Iowa rental markets
85 tracked cities over 5,000 population, 85 ranked and summarized by their median Overall; 1 of 84 evaluable cities pass the modeled Buy & Hold screen. Every number traces to Census, Zillow and BLS. Compare state coverage and results →
Browse every Iowa ZIP Code area → · the full server-rendered index for this state.
Part of the West North Central Census division (Midwest region).
The honest read
Iowa ranks #23 of 37 coverage-eligible states for rental investing, with a median Overall of 45.4/100 across its ranked cities, below the national median. 85 ranked cities roll up into this grade. Its strongest factor is affordability (price-to-income): 3.3×, 1st of 51.
The biggest drag is income growth: 4.4%, 44th of 51. A state grade is the median of its ranked cities, a screen for where to look, not underwriting. Open any city below for its full shown-math breakdown, or run a specific deal through the cap rate and cash-flow calculators.
Where it ranks, factor by factor
Every value is the median across the 85 ranked cities in this state. The national rank compares all 51 states on that one factor; the engine already flips inverted factors (affordability, low unemployment) so a better rank always means a better market. Each factor sits in one of the model’s three categories (Cash Flow, Growth, or Stability); this is a representative summary, and the full thirteen-factor breakdown is on each city’s page. Full methodology.
| Factor | Category | State value | National rank |
|---|---|---|---|
| Gross rent yield | Cash Flow | 6.1% | #21 of 51 |
| Rent growth | Growth | 4.1% | #25 of 51 |
| Home value growth | Growth | 3.6% | #36 of 51 |
| Population growth | Growth | 0.6% | #22 of 51 |
| Job growth | Growth | 0.2% | #43 of 51 |
| Price-to-income | Cash Flow | 3.3× | #1 of 51 |
| Unemployment | Stability | 3.6% | #17 of 51 |
| Rental demand | Stability | 35% renters · 6.3% vacancy | two-part measure |
| Income growth | Growth | 4.4% | #44 of 51 |
Every city in Iowa, ranked
Led by Perry at 74/100. Click any column to re-sort; every city links to its full shown-math breakdown.
| IA rank | City | Grade | Cash Flow | Growth | Stability | Typical home value | Gross yield | National rank |
|---|---|---|---|---|---|---|---|---|
| 1 med | Perry | 74 | A | A | C | $172,729 | 9.2% | #60 |
| 2 | North Liberty | 72 | B | B | B | $311,296 | 6.6% | #101 |
| 3 med | Osceola | 63 | B | B | C | $195,009 | 7.7% | #453 |
| 4 med | Oskaloosa | 61 | B | C | B | $194,697 | 6.5% | #660 |
| 5 | Waukee | 61 | C | B | C | $346,182 | 5.5% | #662 |
| 6 | Altoona | 60 | C | B | C | $320,530 | 5.8% | #697 |
| 7 med | Bondurant | 60 | C | B | C | $329,978 | 5.0% | #719 |
| 8 | Grimes | 59 | C | B | B | $349,321 | 4.5% | #797 |
| 9 | Ankeny | 56 | C | B | C | $338,606 | 5.4% | #1164 |
| 10 | Bettendorf | 55 | C | C | B | $339,608 | 5.1% | #1223 |
| 11 med | Cherokee | 55 | B | C | C | $151,046 | 6.4% | #1281 |
| 12 | Coralville | 54 | C | C | C | $261,923 | 5.8% | #1329 |
| 13 med | Nevada | 52 | B | D | B | $248,771 | 6.3% | #1634 |
| 14 med | Webster City | 52 | A | D | C | $156,137 | 8.6% | #1686 |
| 15 med | Tiffin | 52 | C | B | C | $344,849 | 4.3% | #1704 |
| 16 | Norwalk | 51 | C | B | C | $334,184 | 4.6% | #1815 |
| 17 | Clive | 51 | C | C | C | $430,770 | 4.6% | #1845 |
| 18 | Sioux City | 51 | B | C | D | $202,482 | 7.6% | #1877 |
| 19 | West Des Moines | 50 | C | C | C | $322,185 | 5.1% | #1892 |
| 20 med | Winterset | 50 | C | B | D | $294,070 | 6.8% | #1930 |
| 21 med | Polk City | 50 | D | B | C | $427,599 | 2.3% | #2025 |
| 22 med | Manchester | 49 | C | C | C | $239,339 | 6.9% | #2043 |
| 23 med | Sheldon | 49 | C | D | C | $228,985 | 5.8% | #2084 |
| 24 med | Asbury | 49 | B | D | C | $390,805 | 5.4% | #2107 |
| 25 med | Le Mars | 49 | C | D | B | $282,685 | 5.1% | #2113 |
| 26 | Pleasant Hill | 48 | C | C | C | $304,077 | 5.4% | #2193 |
| 27 med | Spirit Lake | 48 | C | D | B | $338,625 | 5.1% | #2240 |
| 28 med | Adel | 48 | D | A | C | $400,593 | 3.4% | #2317 |
| 29 | Windsor Heights | 48 | C | C | C | $287,320 | 5.8% | #2320 |
| 30 med | Carroll | 47 | C | D | B | $210,508 | 4.6% | #2357 |
| 31 | Marion | 47 | C | C | C | $279,823 | 5.2% | #2386 |
| 32 | Urbandale | 47 | D | C | C | $351,515 | 3.8% | #2397 |
| 33 med | Charles City | 47 | A | F | B | $147,115 | 7.6% | #2445 |
| 34 med | Maquoketa | 47 | B | D | C | $206,159 | 7.2% | #2473 |
| 35 med | Grinnell | 47 | C | D | B | $217,770 | 5.1% | #2483 |
| 36 med | Storm Lake | 46 | B | D | C | $178,255 | 6.3% | #2539 |
| 37 med | Mason City | 46 | B | D | D | $160,992 | 7.5% | #2543 |
| 38 med | Ottumwa | 46 | A | D | D | $125,640 | 10.4% | #2607 |
| 39 | Fort Dodge | 46 | A | D | D | $132,254 | 7.6% | #2633 |
| 40 | Johnston | 46 | D | C | C | $399,597 | 4.3% | #2636 |
| 41 med | Sergeant Bluff | 46 | C | C | D | $361,583 | 4.6% | #2637 |
| 42 | Cedar Rapids | 45 | B | D | D | $212,086 | 7.3% | #2650 |
| 43 | Council Bluffs | 45 | B | D | C | $229,838 | 7.1% | #2660 |
| 44 med | Clarinda | 45 | B | D | D | $133,300 | 6.9% | #2677 |
| 45 med | Independence | 45 | C | C | D | $223,116 | 6.0% | #2705 |
| 46 med | Washington | 45 | B | D | B | $198,381 | 7.6% | #2722 |
| 47 | Marshalltown | 45 | B | D | D | $180,076 | 6.8% | #2780 |
| 48 | Pella | 44 | D | B | B | $360,345 | 3.6% | #2901 |
| 49 | Knoxville | 44 | D | C | C | $211,086 | 5.1% | #2898 |
| 50 med | Anamosa | 43 | C | C | D | $255,845 | 6.7% | #3037 |
| 51 | Indianola | 43 | D | B | C | $312,612 | 4.6% | #3061 |
| 52 | Burlington | 42 | A | F | C | $128,671 | 9.3% | #3078 |
| 53 | Des Moines | 42 | C | D | D | $210,572 | 6.4% | #3178 |
| 54 med | Glenwood | 42 | D | D | B | $319,181 | 5.4% | #3187 |
| 55 med | DeWitt | 42 | C | C | D | $237,100 | 4.8% | #3215 |
| 56 med | Orange City | 42 | D | C | C | $322,825 | 3.6% | #3216 |
| 57 med | Atlantic | 42 | C | D | C | $162,352 | 6.1% | #3217 |
| 58 | Waverly | 42 | C | D | C | $279,728 | 5.1% | #3222 |
| 59 med | Centerville | 41 | A | F | D | $79,766 | 8.8% | #3357 |
| 60 | Dubuque | 40 | C | D | C | $250,358 | 5.2% | #3379 |
| 61 | Cedar Falls | 40 | C | D | C | $269,111 | 5.4% | #3415 |
| 62 | Ames | 40 | D | D | C | $303,902 | 4.7% | #3418 |
| 63 med | Eldridge | 40 | D | C | D | $361,425 | 3.2% | #3463 |
| 64 | Red Oak | 39 | C | F | B | $138,421 | 5.6% | #3530 |
| 65 | Waterloo | 38 | B | D | D | $147,780 | 7.7% | #3624 |
| 66 med | Iowa Falls | 38 | A | F | C | $138,568 | 8.1% | #3638 |
| 67 med | Spencer | 38 | C | D | D | $199,945 | 5.2% | #3678 |
| 68 med | Creston | 38 | B | F | C | $156,116 | 7.4% | #3681 |
| 69 | Newton | 38 | C | D | D | $206,224 | 5.7% | #3686 |
| 70 | Clinton | 37 | B | D | D | $135,834 | 6.8% | #3749 |
| 71 | Davenport | 37 | C | D | D | $196,283 | 5.9% | #3795 |
| 72 | Iowa City | 36 | D | C | D | $303,890 | 5.0% | #3807 |
| 73 | Hiawatha | 36 | D | C | D | $262,180 | 4.3% | #3883 |
| 74 med | Estherville | 35 | A | F | D | $127,969 | 8.9% | #3962 |
| 75 med | Oelwein | 35 | A | F | C | $111,469 | 10.6% | #3969 |
| 76 med | Algona | 34 | B | F | B | $188,082 | 6.6% | #4048 |
| 77 | Muscatine | 33 | C | F | C | $195,204 | 5.2% | #4072 |
| 78 | Clear Lake | 33 | D | D | C | $338,228 | 4.5% | #4104 |
| 79 med | Denison | 32 | C | F | D | $182,875 | 5.8% | #4175 |
| 80 | Fairfield | 32 | C | F | C | $157,685 | 5.7% | #4202 |
| 81 med | Keokuk | 31 | A | F | D | $84,736 | 10.0% | #4253 |
| 82 | Boone | 30 | D | D | D | $213,280 | 4.1% | #4288 |
| 83 med | Mount Pleasant | 27 | C | F | D | $198,587 | 6.2% | #4485 |
| 84 | Fort Madison | 26 | B | F | C | $114,173 | 6.7% | #4501 |
| 85 med | Decorah | 21 | F | F | C | $309,987 | 4.2% | #4650 |
Data as of: Zillow ZHVI/ZORI through the latest monthly release · Census ACS 5-yr 2020–2024 · Census PEP July 2025 · BLS LAUS county 2025 annual (11-month average). Generated 2026-10-06. Methodology & limitations · underwrite any specific deal with the free calculators.
ZIP markets in Iowa
970 Census ZIP Codes (ZCTAs) in Iowa · 504 data-eligible for subscores. These are sub-city government areas ranked separately from the Iowa city table. The overall Rental Investor ZIP Score leaderboard leads; the two component subscores (affordability, rental-market context) follow as independent percentiles. ZIP ranks are shown within the ZIP universe only, never mixed with, and not directly comparable to, city ranks. Vintage: the Key metric column is Census ACS 2020–2024 (5-year), the same release the city table above uses; the geographies differ, so the same measure can still disagree between the two.
Best overall ZIP Codes in Iowa
Ranked by the overall Rental Investor ZIP Score. The # is each ZIP Code's canonical IA state rank; the smaller figure is its national rank. Separate from the Iowa city table and not directly comparable to it.
| IA rank | ZIP Code | Overallgrade · national | Key metric |
|---|---|---|---|
| #1 | 52317North Liberty | A 71#408 nat | 4.6%Survey yield |
| #2 | 50263Waukee | A 69#660 nat | 4.7%Survey yield |
| #3 | 50111Grimes | A 68#836 nat | 4.9%Survey yield |
| #4 | 50266West Des Moines | A 68#893 nat | 4.6%Survey yield |
| #5 | 50220Perry | A 67#1,002 nat | 7.5%Survey yield |
| #6 | 50023Ankeny | A 67#1,187 nat | 4.3%Survey yield |
| #7 | 50009Altoona | A 65#1,657 nat | 5.3%Survey yield |
| #8 | 50021Ankeny | B 64#2,093 nat | 5.3%Survey yield |
| #9 | 50035Bondurant | B 63#2,286 nat | 4.8%Survey yield |
| #10 | 50265West Des Moines | B 63#2,428 nat | 4.7%Survey yield |
| #11 | 50003Adel | B 62#2,611 nat | 2.8%Survey yield |
| #11 | 52340Tiffin | B 62#2,611 nat | 4.3%Survey yield |
Top affordability ZIP Codes in Iowa
State-scoped leaders on the affordability subscore only (national rank shown is within that subscore’s data-eligible universe). Substantially an inverse housing-cost signal: a component of the overall score, not a predicted return.
| # | ZIP Code | Affordability | Key metric |
|---|---|---|---|
| 1 | 52586Rose Hill | 81#1,212 nat | 9.8%Survey yield |
| 2 | 50238Russell | 76#1,893 nat | 10.1%Survey yield |
| 3 | 50650Lamont | 71#2,755 nat | 10.5%Survey yield |
| 4 | 50590Swea City | 70#2,987 nat | 12.5%Survey yield |
| 5 | 50560Lu Verne | 70#3,028 nat | 11.9%Survey yield |
| 6 | 52254Lost Nation | 69#3,253 nat | 12.6%Survey yield |
| 7 | 50642Holland | 68#3,458 nat | 7.3%Survey yield |
| 8 | 51354Ocheyedan | 68#3,483 nat | 9.6%Survey yield |
| 9 | 51243Little Rock | 66#3,869 nat | 7.9%Survey yield |
| 10 | 52335South English | 66#3,895 nat | 9.5%Survey yield |
| 11 | 50519St. Joseph | 66#3,915 nat | 6.2%Survey yield |
| 12 | 50578Ringsted | 66#3,915 nat | 7.4%Survey yield |
Deepest rental-market ZIP Codes in Iowa
State-scoped leaders on the rental-market-context subscore only (national rank shown is within that subscore’s data-eligible universe). Rental depth/tightness: a separate component, never combined here with affordability.
| # | ZIP Code | Rental market | Key metric |
|---|---|---|---|
| 1 | 50309Des Moines | 78#434 nat | 5.0%Survey yield |
| 2 | 52595University Park | 78#445 nat | 8.5%Survey yield |
| 3 | 50452Latimer | 77#573 nat | 10.0%Survey yield |
| 4 | 51247Rock Valley | 76#759 nat | 5.2%Survey yield |
| 5 | 50126Iowa Falls | 74#1,042 nat | 7.8%Survey yield |
| 6 | 50560Lu Verne | 74#1,042 nat | 11.9%Survey yield |
| 7 | 50075Ellsworth | 73#1,356 nat | 5.9%Survey yield |
| 8 | 52046Farley | 72#1,418 nat | 4.8%Survey yield |
| 9 | 51501Council Bluffs | 72#1,468 nat | 8.3%Survey yield |
| 10 | 51560Oakland | 72#1,523 nat | 5.9%Survey yield |
| 11 | 52361Williamsburg | 72#1,523 nat | 3.9%Survey yield |
| 12 | 52586Rose Hill | 72#1,523 nat | 9.8%Survey yield |