Market Data
Where the US housing market is heating up or cooling down — ranked from our own sold history and per-listing investment scores. Markets are city + state with at least 20 recorded sales in the trailing 12 months.
Hottest overall housing demand
Tightest months-of-supply with the highest sale volume.
| # | Market | Med. price | Appr. YoY | Mo. supply | Cap | Cashflow | Rent YoY | GDP Δ | Sales 12mo |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Chicago, IL | $376,000 | +4.1% | 0.0 | 5.2% | $-367 | +1.3% | +1.6% | 19,569 |
| 2 | Boston, MA | $849,945 | -1.9% | 0.0 | 2.1% | $-3,179 | +3.1% | +2.3% | 4,388 |
| 3 | Oak Park, IL | $467,000 | +6.4% | 0.0 | — | — | — | — | 627 |
| 4 | St. Charles, IL | $445,000 | +5.4% | 0.0 | — | — | — | — | 467 |
| 5 | North Aurora, IL | $400,000 | -0.9% | 0.0 | 2.1% | $-2,247 | — | +1.6% | 267 |
| 6 | Plymouth Meeting, PA | $560,000 | +0.7% | 0.0 | — | — | — | — | 181 |
| 7 | River Forest, IL | $615,000 | +7.6% | 0.0 | — | — | — | — | 154 |
| 8 | Elkins Park, PA | $422,500 | -5.7% | 0.0 | — | — | — | — | 110 |
| 9 | Lincolnwood, IL | $530,000 | +1.0% | 0.0 | — | — | — | — | 104 |
| 10 | Pittsburgh, PA | $251,375 | +1.1% | 0.1 | 3.0% | $-820 | +5.7% | +1.7% | 2,954 |
| 11 | Crete, IL | $256,000 | -0.7% | 0.1 | 2.2% | $-1,179 | — | +1.6% | 190 |
| 12 | Hillsdale, NJ | $867,500 | -2.8% | 0.1 | 6.7% | $825 | — | +2.0% | 164 |
| 13 | Roslyn, PA | $406,000 | +2.1% | 0.1 | 3.8% | $-1,019 | +3.5% | +1.7% | 161 |
| 14 | Rapid City, MI | $337,500 | +3.3% | 0.1 | 1.4% | $-2,699 | — | +1.4% | 136 |
| 15 | , AZ☀ | $28,500 | -13.2% | 0.1 | 2.7% | $-986 | -0.3% | +4.5% | 128 |
| 16 | Union, NJ | $590,000 | +24.8% | 0.1 | — | — | — | — | 115 |
| 17 | Monee, IL | $309,900 | +14.7% | 0.1 | 0.1% | $-4,387 | — | +1.6% | 111 |
| 18 | Upper Saddle River, NJ | $1,500,000 | — | 0.1 | 8.2% | $1,553 | — | +2.0% | 105 |
| 19 | Flanders, NJ | $665,000 | -8.2% | 0.1 | 1.4% | $-3,091 | — | +2.0% | 100 |
| 20 | Philadelphia, PA | $290,000 | +1.9% | 0.2 | 3.5% | $-993 | +1.6% | +1.7% | 12,709 |
Strong appreciation + supply constraints
Rising sold $/sqft (YoY) with tight months-of-supply.
| # | Market | Med. price | Appr. YoY | Mo. supply | Cap | Cashflow | Rent YoY | GDP Δ | Sales 12mo |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Newfoundland, NJ | $525,000 | +460.8% | 0.4 | 0.1% | $-2,907 | — | +2.0% | 84 |
| 2 | Eastport, MI | $925,000 | +125.9% | 1.0 | 0.0% | $-8,212 | — | +1.4% | 47 |
| 3 | Blanca, CO | $7,000 | +112.7% | 1.1 | 3.2% | $-745 | — | +1.9% | 97 |
| 4 | Greenville, PA | $155,000 | +107.9% | 0.8 | 14.3% | $425 | — | +1.7% | 99 |
| 5 | Montalvin Manor, CA☀ | $396,000 | +90.3% | 2.2 | 15.5% | $1,251 | +3.1% | +3.2% | 43 |
| 6 | Highland Lakes, NJ | $395,000 | +87.2% | 0.9 | 0.3% | $-1,951 | — | +2.0% | 134 |
| 7 | Sharpsville, PA | $147,000 | +84.8% | 0.7 | 4.7% | $-273 | — | +1.7% | 51 |
| 8 | Ontonagon, MI | $115,000 | +75.0% | 3.3 | 4.4% | $-325 | — | +1.4% | 43 |
| 9 | Double Springs, AL☀ | $195,000 | +72.1% | 5.3 | 0.8% | $-2,345 | — | +2.9% | 66 |
| 10 | Glen Gardner, NJ | $365,000 | +70.2% | 1.9 | 1.1% | $-1,049 | — | +2.0% | 57 |
| 11 | Lake Hiawatha, NJ | $545,000 | +64.8% | 1.4 | 2.8% | $-1,718 | — | +2.0% | 97 |
| 12 | High Bridge, NJ | $500,000 | +63.7% | 3.5 | 3.1% | $-1,073 | — | +2.0% | 79 |
| 13 | Maywood, NJ | $699,000 | +63.1% | 0.6 | 1.3% | $-4,165 | — | +2.0% | 63 |
| 14 | Cresskill, NJ | $990,000 | +61.9% | 0.1 | 0.9% | $-11,472 | — | +2.0% | 89 |
| 15 | Mercer, PA | $212,250 | +60.5% | 2.4 | 2.4% | $-1,118 | — | +1.7% | 50 |
| 16 | Hackettstown, NJ | $470,000 | +59.1% | 1.7 | 2.7% | $-1,589 | — | +2.0% | 180 |
| 17 | Onekama, MI | $224,900 | +54.6% | 4.3 | -0.1% | $-5,229 | — | +1.4% | 59 |
| 18 | Island Falls, ME | $47,900 | +53.9% | 2.9 | 5.1% | $-165 | — | — | 45 |
| 19 | Monessen, PA | $129,900 | +50.6% | 1.4 | 6.0% | $-8 | — | +1.7% | 83 |
| 20 | , CO | $67,000 | +48.5% | 0.0 | — | — | — | — | 63 |
Best investor cash-flow markets
Highest median monthly cash flow + cap rate.
| # | Market | Med. price | Appr. YoY | Mo. supply | Cap | Cashflow | Rent YoY | GDP Δ | Sales 12mo |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Newport, NC☀ | $298,500 | +3.1% | 6.1 | 31.4% | $7,578 | — | +3.3% | 146 |
| 2 | Broad Creek, NC☀ | $459,000 | +0.5% | 7.9 | 22.6% | $7,114 | — | +3.3% | 85 |
| 3 | Bogue, NC☀ | $449,900 | +11.5% | 4.5 | 22.9% | $6,982 | — | +3.3% | 61 |
| 4 | Springs, NY | $1,562,500 | +8.8% | 11.0 | 11.1% | $6,923 | +12.3% | +2.6% | 48 |
| 5 | East Quogue, NY | $1,250,000 | +14.8% | 13.6 | 10.6% | $4,589 | — | +2.6% | 61 |
| 6 | Westhampton, NY | $1,432,000 | -8.3% | 12.6 | 9.1% | $3,977 | — | +2.6% | 59 |
| 7 | Northwest Harbor, NY | $2,160,000 | +7.6% | 14.0 | 7.8% | $3,292 | +12.3% | +2.6% | 41 |
| 8 | Westhampton Beach, NY | $1,821,000 | +12.0% | 13.8 | 9.3% | $2,960 | — | +2.6% | 67 |
| 9 | Greenport West, NY | $919,500 | +9.3% | 11.7 | 8.0% | $2,324 | — | +2.6% | 46 |
| 10 | Upper Saddle River, NJ | $1,500,000 | — | 0.1 | 8.2% | $1,553 | — | +2.0% | 105 |
| 11 | Portage Lakes, OH | $229,900 | -6.6% | 3.5 | 13.7% | $1,550 | +5.9% | +2.0% | 127 |
| 12 | Candlewick Lake, IL | $241,000 | -9.7% | 2.9 | 13.3% | $1,500 | — | +1.6% | 33 |
| 13 | Poplar Grove, IL | $305,000 | +23.7% | 6.0 | 11.4% | $1,379 | — | +1.6% | 46 |
| 14 | Montalvin Manor, CA☀ | $396,000 | +90.3% | 2.2 | 15.5% | $1,251 | +3.1% | +3.2% | 43 |
| 15 | Cutchogue, NY | $1,092,000 | +2.8% | 10.0 | 7.5% | $1,164 | — | +2.6% | 48 |
| 16 | Margate City, NJ | $1,100,000 | -0.1% | 5.4 | 7.4% | $1,073 | +8.9% | +2.0% | 179 |
| 17 | Remsenburg-Speonk, NY | $1,158,000 | -8.0% | 15.2 | 7.2% | $1,065 | — | +2.6% | 37 |
| 18 | Anson, TX☀ | $128,750 | +4.2% | 6.0 | 12.7% | $1,007 | — | +4.0% | 56 |
| 19 | East Cleveland, OH | $87,770 | +2.2% | 10.6 | 17.4% | $910 | +5.2% | +2.0% | 79 |
| 20 | Southold, NY | $904,500 | +10.6% | 8.2 | 6.9% | $881 | — | +2.6% | 94 |
Luxury / high-end hot markets
$1M+ median sale price, ranked by appreciation + volume.
| # | Market | Med. price | Appr. YoY | Mo. supply | Cap | Cashflow | Rent YoY | GDP Δ | Sales 12mo |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Heber, UT☀ | $1,109,950 | +69.7% | 43.4 | 1.0% | $-4,284 | +3.9% | +3.5% | 168 |
| 2 | Our Town, AL☀ | $1,800,000 | +49.0% | 3.4 | -1.1% | $-6,706 | — | +2.9% | 35 |
| 3 | Geyserville, CA☀ | $1,417,500 | +47.0% | 14.4 | 0.0% | $-11,465 | +6.9% | +3.2% | 20 |
| 4 | Wahpeton, IA | $1,127,000 | +39.3% | 14.7 | -0.4% | $-10,184 | — | +2.5% | 22 |
| 5 | Franklin Lakes, NJ | $1,467,000 | +37.8% | 0.2 | 1.2% | $-3,409 | — | +2.0% | 180 |
| 6 | East Marion, NY | $1,230,000 | +37.6% | 8.6 | 8.0% | $1,892 | — | +2.6% | 25 |
| 7 | Oakland, FL☀ | $1,000,000 | +36.8% | 17.8 | 2.0% | $-2,989 | +1.1% | +3.3% | 37 |
| 8 | Mantoloking, NJ | $3,295,000 | +34.8% | 10.7 | 1.2% | $-33,883 | — | +2.0% | 27 |
| 9 | Pleasure Point, CA☀ | $1,975,000 | +32.9% | 5.0 | 0.4% | $-11,759 | +0.6% | +3.2% | 50 |
| 10 | Wilson, WY | $5,999,999 | +32.5% | 7.4 | -0.7% | $-37,568 | — | — | 29 |
| 11 | Compo, CT | $2,425,000 | +32.4% | 2.6 | 0.8% | $-16,346 | +5.6% | +1.1% | 51 |
| 12 | Lavallette, NJ | $1,999,999 | +32.2% | 7.7 | 1.0% | $-10,148 | — | +2.0% | 39 |
| 13 | Lighthouse Point, FL☀ | $1,088,000 | +31.0% | 99.1 | 2.4% | $-3,217 | +1.8% | +3.3% | 31 |
| 14 | Upper Montclair, NJ | $1,056,500 | +30.7% | 0.7 | 1.5% | $-4,354 | +1.8% | +2.0% | 318 |
| 15 | Fire Island, NY | $1,250,000 | +30.2% | 24.8 | 0.7% | $-6,949 | +2.4% | +2.6% | 29 |
| 16 | Edgeworth, PA | $1,362,500 | +30.0% | 6.0 | 0.1% | $-8,584 | — | +1.7% | 24 |
| 17 | Muttontown, NY | $2,287,500 | +29.4% | 14.6 | -0.3% | $-19,348 | — | +2.6% | 28 |
| 18 | Kenilworth, IL | $2,450,000 | +28.6% | 4.6 | -0.5% | $-17,941 | — | +1.6% | 47 |
| 19 | Sea Girt, NJ | $3,325,000 | +28.0% | 4.7 | 1.3% | $-14,057 | — | +2.0% | 28 |
| 20 | Roche Harbor, WA | $1,125,000 | +27.5% | 14.4 | 0.5% | $-4,884 | — | +4.7% | 35 |
Build-to-rent hotspots
Strongest rent growth paired with healthy yield.
| # | Market | Med. price | Appr. YoY | Mo. supply | Cap | Cashflow | Rent YoY | GDP Δ | Sales 12mo |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Ventnor City, NJ | $715,000 | +17.0% | 6.2 | 4.1% | $-1,469 | +57.3% | +2.0% | 207 |
| 2 | Buffalo Gap, TX☀ | $454,500 | +5.0% | 4.1 | 1.1% | $-2,895 | +40.7% | +4.0% | 116 |
| 3 | Abilene, TX☀ | $249,000 | +5.3% | 4.4 | 6.7% | $110 | +40.2% | +4.0% | 2,302 |
| 4 | Potosi, TX☀ | $278,950 | -0.5% | 4.7 | 4.7% | $-573 | +33.5% | +4.0% | 210 |
| 5 | Meadow Lake, NM☀ | $149,450 | +24.3% | 2.4 | 6.9% | $113 | +33.2% | — | 64 |
| 6 | El Cerro Mission, NM☀ | $295,200 | -5.2% | 6.8 | 4.8% | $-373 | +33.2% | — | 51 |
| 7 | Los Lunas, NM☀ | $331,950 | +0.5% | 13.2 | 3.8% | $-739 | +33.2% | — | 256 |
| 8 | Rio Communities, NM☀ | $265,000 | -1.3% | 6.3 | 3.7% | $-620 | +33.2% | — | 65 |
| 9 | Allenwood, NJ | $665,000 | +12.3% | 4.6 | 2.4% | $-2,338 | +22.1% | +2.0% | 139 |
| 10 | Belmar, NJ | $889,912 | +11.4% | 4.1 | 2.4% | $-3,139 | +22.1% | +2.0% | 88 |
| 11 | Aspen, CO | $2,830,000 | -19.6% | 14.2 | -0.1% | $-19,956 | +22.1% | +1.9% | 237 |
| 12 | Snowmass Village, CO | $2,519,500 | -8.2% | 21.4 | -2.2% | $-25,103 | +22.1% | +1.9% | 134 |
| 13 | Laconia, NH | $440,000 | +1.8% | 6.8 | 1.8% | $-2,104 | +21.6% | — | 693 |
| 14 | Meadowood, PA | $230,000 | +1.2% | 0.8 | 5.8% | $-55 | +20.4% | +1.7% | 43 |
| 15 | Franklin, PA | $133,000 | +3.1% | 13.5 | 4.8% | $-233 | +20.4% | +1.7% | 81 |
| 16 | East Butler, PA | $266,000 | +23.1% | 1.7 | 3.9% | $-446 | +20.4% | +1.7% | 42 |
| 17 | Butler, PA | $125,000 | +0.6% | 14.5 | 3.8% | $-464 | +20.4% | +1.7% | 140 |
| 18 | Prospect, PA | $245,000 | -0.9% | 0.8 | 3.8% | $-809 | +20.4% | +1.7% | 43 |
| 19 | Connoquenessing, PA | $420,390 | +3.8% | 6.6 | 3.0% | $-1,075 | +20.4% | +1.7% | 74 |
| 20 | Shanor-Northvue, PA | $315,000 | -5.7% | 1.0 | 2.6% | $-926 | +20.4% | +1.7% | 81 |
Markets cooling from a prior boom
Falling sold $/sqft (YoY) and looser supply.
| # | Market | Med. price | Appr. YoY | Mo. supply | Cap | Cashflow | Rent YoY | GDP Δ | Sales 12mo |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Calpella, CA☀ | $190,000 | -55.1% | 8.9 | 2.5% | $-2,017 | +6.1% | +3.2% | 47 |
| 2 | Federal Heights, CO | $131,250 | -50.6% | 7.1 | 4.2% | $-286 | +0.8% | +1.9% | 88 |
| 3 | Kean University, NJ | $587,500 | -45.8% | 1.7 | 2.4% | $-2,486 | — | +2.0% | 90 |
| 4 | Yountville, CA☀ | $615,000 | -45.2% | 10.8 | 0.7% | $-7,196 | -0.5% | +3.2% | 41 |
| 5 | Jasper, AR☀ | $135,000 | -44.3% | 7.9 | 3.5% | $-651 | — | +3.8% | 61 |
| 6 | Fox Farm-College, WY | $182,500 | -42.7% | 5.2 | 16.3% | $785 | +5.1% | — | 46 |
| 7 | Boca Raton, FL☀ | $1,225,000 | -42.5% | 442.5 | 2.8% | $-1,793 | +2.3% | +3.3% | 74 |
| 8 | Donora, PA | $70,125 | -42.4% | 5.1 | 12.3% | $356 | — | +1.7% | 56 |
| 9 | Bogota, NJ | $656,250 | -41.1% | 0.5 | 1.5% | $-3,238 | +2.9% | +2.0% | 140 |
| 10 | Evant, TX☀ | $187,000 | -40.8% | 5.2 | 1.3% | $-1,633 | — | +4.0% | 46 |
| 11 | Seligman, AZ☀ | $23,000 | -40.4% | 3.6 | 4.0% | $-527 | — | +4.5% | 162 |
| 12 | Sunizona, AZ☀ | $25,000 | -39.8% | 1.7 | 1.2% | $-1,967 | — | +4.5% | 56 |
| 13 | Byram Center, NJ | $509,501 | -39.5% | 0.8 | 0.1% | $-2,420 | — | +2.0% | 48 |
| 14 | Lonoke, AR☀ | $68,450 | -38.1% | 6.1 | 5.7% | $-77 | +3.1% | +3.8% | 118 |
| 15 | Yoakum, TX☀ | $174,900 | -38.0% | 14.1 | 4.3% | $-381 | — | +4.0% | 63 |
| 16 | Annandale, NJ | $490,000 | -37.4% | 1.6 | 0.4% | $-3,109 | — | +2.0% | 59 |
| 17 | Prattsburgh, NY | $136,400 | -35.4% | 4.1 | 3.8% | $-304 | — | +2.6% | 44 |
| 18 | Newton, NJ | $400,000 | -35.3% | 1.1 | 1.5% | $-1,686 | — | +2.0% | 211 |
| 19 | Keuka Park, NY | $492,000 | -35.1% | 6.8 | 1.1% | $-2,012 | — | +2.6% | 67 |
| 20 | Ogdensburg, NJ | $530,000 | -34.7% | 1.1 | 2.8% | $-1,710 | — | +2.0% | 68 |
Best long-term structural growth
Strong state GDP momentum + investment score (job-growth proxy).
| # | Market | Med. price | Appr. YoY | Mo. supply | Cap | Cashflow | Rent YoY | GDP Δ | Sales 12mo |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Maple Falls, WA | $40,700 | +8.6% | 1.9 | 10.2% | $360 | — | +4.7% | 76 |
| 2 | North Puyallup, WA | $285,500 | -20.8% | 8.1 | 5.7% | $-122 | +4.5% | +4.7% | 40 |
| 3 | Anderson Island, WA | $62,500 | +9.2% | 6.4 | 2.4% | $-1,599 | — | +4.7% | 81 |
| 4 | DuPont, WA | $545,000 | +5.6% | 4.1 | 3.6% | $-1,301 | +3.9% | +4.7% | 144 |
| 5 | Birch Bay, WA | $503,000 | -4.8% | 10.1 | 2.6% | $-1,596 | +3.1% | +4.7% | 313 |
| 6 | Auburn, WA | $550,000 | -3.5% | 6.5 | 2.7% | $-1,606 | +1.5% | +4.7% | 795 |
| 7 | Darrington, WA | $431,380 | +8.4% | 3.6 | 2.3% | $-1,891 | — | +4.7% | 43 |
| 8 | Blaine, WA | $585,000 | +1.5% | 6.1 | 2.1% | $-2,980 | +3.1% | +4.7% | 251 |
| 9 | Ashford, WA | $383,200 | +10.5% | 4.6 | 4.5% | $-675 | — | +4.7% | 60 |
| 10 | Everson, WA | $457,500 | -1.2% | 3.3 | 2.2% | $-2,212 | +0.4% | +4.7% | 120 |
| 11 | Sedro-Woolley, WA | $507,475 | +1.5% | 6.5 | 2.4% | $-1,777 | +6.6% | +4.7% | 244 |
| 12 | Lake Holm, WA | $790,000 | +8.3% | 12.6 | -0.1% | $-8,189 | -0.5% | +4.7% | 59 |
| 13 | North Yelm, WA | $390,000 | -2.2% | 7.4 | 4.4% | $-658 | +5.8% | +4.7% | 63 |
| 14 | Nooksack, WA | $530,000 | -3.0% | 4.8 | 2.0% | $-2,134 | — | +4.7% | 52 |
| 15 | Concrete, WA | $238,400 | +4.7% | 7.2 | 2.6% | $-1,204 | +2.3% | +4.7% | 78 |
| 16 | Airway Heights, WA | $381,995 | +4.4% | 6.6 | 3.1% | $-1,114 | +1.5% | +4.7% | 130 |
| 17 | Ione, WA | $195,000 | +2.4% | 6.9 | 3.0% | $-763 | — | +4.7% | 40 |
| 18 | Alger, WA | $510,000 | +2.7% | 6.1 | 2.4% | $-1,834 | +3.4% | +4.7% | 99 |
| 19 | Yelm, WA | $515,000 | +1.7% | 10.0 | 3.6% | $-1,209 | +5.8% | +4.7% | 312 |
| 20 | Maple Valley, WA | $730,000 | -0.5% | 5.2 | 3.2% | $-1,958 | +2.8% | +4.7% | 363 |
Structural growth signals (by state)
Job growth, net migration and work-from-home share from the external feeds.
| # | State | Job growth YoY | Net migration | WFH share |
|---|---|---|---|---|
| 1 | TX | +0.2% | +234,774 | 13.7% |
| 2 | FL | -0.9% | +201,191 | 15.8% |
| 3 | NC | +0.2% | +130,954 | 16.1% |
| 4 | SC | +2.3% | +79,552 | 11.8% |
| 5 | GA | +0.8% | +69,912 | 15.2% |
| 6 | TN | -0.6% | +60,379 | 12.8% |
| 7 | AZ | -1.3% | +59,326 | 17.5% |
| 8 | WA | -0.4% | +55,440 | 17.3% |
| 9 | VA | -1.5% | +46,704 | 16.7% |
| 10 | OH | +0.0% | +40,431 | 11.9% |
| 11 | MI | -2.0% | +32,502 | 12.2% |
| 12 | AL | +0.2% | +32,304 | 8.8% |
| 13 | IN | -0.1% | +30,049 | 10.4% |
| 14 | MO | +0.6% | +26,693 | 12.5% |
| 15 | NV | +2.4% | +25,465 | 11.6% |
| 16 | PA | +1.2% | +23,985 | 14.1% |
| 17 | KY | -0.2% | +22,978 | 9.5% |
| 18 | OK | -1.8% | +22,912 | 9.1% |
| 19 | ID | -0.3% | +22,063 | 13.5% |
| 20 | MN | -1.6% | +20,786 | 16.1% |
| 21 | AR | +1.5% | +19,945 | 8.7% |
| 22 | NJ | +0.4% | +15,636 | 14.0% |
| 23 | WI | -0.2% | +14,244 | 12.2% |
| 24 | OR | -0.4% | +11,864 | 17.7% |
| 25 | CT | -2.9% | +11,589 | 14.3% |
| 26 | ME | -0.2% | +11,446 | 14.3% |
| 27 | UT | -0.9% | +10,844 | 16.4% |
| 28 | DE | -1.5% | +10,328 | 13.6% |
| 29 | NH | +0.3% | +8,957 | 16.1% |
| 30 | MD | -1.6% | +8,376 | 16.9% |
| 31 | MT | -0.5% | +7,247 | 11.3% |
| 32 | KS | +0.1% | +6,921 | 10.4% |
| 33 | MA | -1.9% | +6,900 | 15.6% |
| 34 | WV | -1.1% | +6,652 | 8.3% |
| 35 | MS | -0.5% | +6,534 | 6.4% |
| 36 | NE | +0.6% | +6,233 | 10.2% |
| 37 | SD | -0.1% | +5,352 | 9.8% |
| 38 | IA | +0.3% | +4,933 | 10.5% |
| 39 | IL | -1.6% | +4,735 | 14.0% |
| 40 | RI | -1.9% | +4,372 | 11.8% |
| 41 | ND | +1.5% | +3,322 | 8.3% |
| 42 | CO | -1.3% | +3,256 | 19.9% |
| 43 | WY | -1.0% | +1,732 | 10.2% |
| 44 | NM | -1.6% | +612 | 10.7% |
| 45 | LA | +1.4% | +513 | 8.1% |
| 46 | VT | -2.9% | -103 | 16.2% |
| 47 | DC | -2.8% | -213 | 27.3% |
| 48 | AK | +1.3% | -2,566 | 9.0% |
| 49 | HI | +0.0% | -4,108 | 8.7% |
| 50 | NY | +0.8% | -41,952 | 12.4% |
| 51 | CA | -0.2% | -119,799 | 14.7% |
Structural signals — wired, add API keys to populate
- Net migration — Census PEP components (NETMIG); needs CENSUS_API_KEY
- Remote-work shift — Census ACS work-from-home share; needs CENSUS_API_KEY
- Job growth (YoY) — BLS LAUS state employment; needs BLS_API_KEY
Still need a paid / bespoke source
- AI / data-center expansion (capex & permits feeds)
- Real-time bidding wars / days-on-market (live MLS offer + DOM feeds)