North Texas (DFW) Housing Market Report: 92,639 Sales Across 186 Cities
Every home that sold across 186 Dallas–Fort Worth cities and towns from September 2025 to September 2026, turned into plain answers for first-time buyers and sellers. Median price $385,000 ($187/sqft), median 39 days on market, $45.88B total volume. Refreshed daily by Pax Realty.
On the market right now (as of 2026-09-21): 37,550 active listings, 11,190 under contract, 4.9 months of supply, median asking $424,900.
How buyers paid: Conventional 51.1%, FHA 20.8%, VA 8%, Cash 17.6%, Other 2.5%. 58.2% of sellers contributed toward buyer costs, typically $8,000. Median contract-to-close: 29 days.
Median rent across the same home types: $2,300/month (46,138 closed leases). Owning the median home runs about $2,190/month principal & interest with 10% down.
Five-year history (median sale price by quarter): 2022 Q1: $375,730 · 2023 Q1: $380,725 · 2024 Q1: $385,990 · 2025 Q1: $390,000 · 2026 Q1: $380,000 · 2026 Q3: $388,200.
From Ryan's videos: what is changing in North Texas towns, and what it does to home values
The civic stories Ryan Storch covers on Instagram (@ryanstorch), each with the facts verified for the video and the towns it touches.
US 380 is becoming a freeway, and the state is already buying the land.
US 380 · Collin County · September 2026
TxDOT picked the route, called the Blue Alternative: a new freeway that starts at 380 near Coit Road, wraps around the north side of McKinney, and ties back into 380 east of town near New Hope. The state has started buying land along that path, and businesses in the way have already closed. The bypass alone is priced at about $3.27 billion, and the full corridor plan runs closer to $8 billion. TxDOT says construction could start around 2027 if the funding lands, and the adopted plan is a freeway with frontage roads, not a toll road.
$3.27 billion for the bypass alone · 26 homes, 38 businesses sit in the path
What it means for your home: Homes in the path and homes near the new interchanges are about to live two very different stories. Before you buy or sell anywhere near 380, pull up TxDOT's Blue Alignment map and see which side of it you are on.
Towns: Prosper · McKinney · Frisco · Princeton · Watch on Instagram
Frisco ISD, once the fastest-growing district in Texas, just closed a school.
Frisco ISD · September 2026
Staley Middle School, one of the oldest campuses in Frisco, closed after last school year, and its students were rezoned across three other schools this fall. The district peaked at about 67,000 students, counted 62,755 last October, and its own projections show enrollment falling toward 58,000 within five years.
67,000 → 62,755 students, peak to last October · About 58,000 projected within five years
What it means for your home: The town grew up. The families who built Frisco stayed, and at a median sale price of $650,000 the young families who fill elementary schools have a hard time getting in the door. School zones move home values here more than almost anywhere, so know which zone you are in before you price your home or make an offer.
Towns: Frisco · Watch on Instagram
Lewisville ISD closed five elementary schools, and the kids did not leave.
Lewisville ISD · August 2026
The district had almost 54,000 students ten years ago. Today it is under 48,000 and expects to lose about 3,000 more, so the board closed Garden Ridge in Flower Mound, Highland Village Elementary, Owen, Creekside and Polser. These towns have never been wealthier, and the homes have never been worth more.
54,000 → under 48,000 students in ten years · 5 schools closed
What it means for your home: The kids did not move away, they never arrived. The families who raised kids here stayed after graduation, and young families cannot afford to move in behind them. That is why homes here hold their value so well, and why so few of them ever come up for sale.
Towns: Flower Mound · Highland Village · Lewisville · Watch on Instagram
Twenty minutes north, Northwest ISD cannot build schools fast enough.
Northwest ISD · the 35W corridor · August 2026
While Lewisville ISD was closing schools, Northwest ISD voters passed a $2 billion bond to make room for 8,400 more students. A new elementary opened in Haslet and a new middle school opened next to Pecan Square in Northlake this fall, and the district redrew its attendance boundaries, so thousands of kids started the year at a different school than last year.
$2 billion bond passed · 8,400 more student seats
What it means for your home: The 35W corridor is where DFW's next generation is actually growing up. If you are buying out here, the school you are zoned to can change, so check the newest boundary map, not the one from when the listing photos were taken.
Towns: Northlake · Haslet · Justin · Roanoke · Trophy Club · Watch on Instagram
Highland Village is not full because everyone wants in. It is full because nobody leaves.
Highland Village · September 2026
I pulled the county property records on every home in Highland Village. There are about 4,700 houses, and 1,454 of them are owned by someone 65 or older, almost one in three. Last year only 192 homes changed hands, about one in every 24. Up in Celina it was closer to one in nine.
1 in 3 homes owned by someone 65 or older · 192 sales all year, 1 in 24 homes
What it means for your home: It was never a demand problem, it is a turnover problem. When a home does come up for sale here it has very little competition, which is why a priced-right home moves fast and why a patient buyer needs to be ready the day one appears.
Towns: Highland Village · Flower Mound · Celina · Watch on Instagram
A town boxed inside Flower Mound where homes quietly cost a million dollars.
Double Oak · August 2026
Double Oak has about 3,000 people, no shopping centers and no apartments, and one rule explains the price: lots are an acre. The typical sale last year was a 3,300 square foot home on a full acre, and only 43 homes traded all year. Some Flower Mound neighborhoods sell more than that by summer.
43 sales all year · 1 in 5 had to cut the price
What it means for your home: Sellers there hold the cards. Only about one in five cut their price all year, the lowest rate I track, and homes priced right sold for 99.8% of asking in 11 days. They are not making more acre lots ten minutes from everything.
Towns: Double Oak · Flower Mound · Bartonville · Copper Canyon · Watch on Instagram
Every city, one line each (median · $/sqft · days on market · % over asking · sales)
- Fort Worth: $336,359 · $175/sqft · 35 days · 16.1% over asking · 10,772 sold
- Dallas: $450,000 · $246/sqft · 32 days · 15% over asking · 9,286 sold
- McKinney: $490,000 · $205/sqft · 39 days · 10.1% over asking · 3,338 sold
- Arlington: $330,000 · $179/sqft · 30 days · 19.7% over asking · 2,909 sold
- Plano: $510,000 · $219/sqft · 28 days · 14.4% over asking · 2,452 sold
- Frisco: $650,000 · $230/sqft · 36 days · 9.5% over asking · 2,275 sold
- Princeton: $299,000 · $154/sqft · 36 days · 6.8% over asking · 2,245 sold
- Denton: $365,000 · $187/sqft · 49 days · 12.3% over asking · 1,787 sold
- Garland: $299,000 · $176/sqft · 28 days · 17.9% over asking · 1,736 sold
- Celina: $515,000 · $187/sqft · 69 days · 6.3% over asking · 1,727 sold
- Forney: $321,054 · $152/sqft · 58 days · 16.5% over asking · 1,564 sold
- Mesquite: $285,000 · $161/sqft · 41 days · 18.7% over asking · 1,394 sold
- Granbury: $360,000 · $188/sqft · 60 days · 14.9% over asking · 1,285 sold
- Grand Prairie: $350,000 · $173/sqft · 29 days · 19.9% over asking · 1,217 sold
- Weatherford: $440,000 · $211/sqft · 55 days · 13% over asking · 1,200 sold
- Waxahachie: $425,000 · $183/sqft · 47 days · 14.4% over asking · 1,167 sold
- Carrollton: $418,000 · $214/sqft · 25 days · 19.7% over asking · 1,165 sold
- Irving: $385,000 · $210/sqft · 28 days · 16.2% over asking · 1,157 sold
- Allen: $499,000 · $212/sqft · 32 days · 15% over asking · 1,081 sold
- Little Elm: $398,000 · $175/sqft · 50 days · 9.7% over asking · 1,070 sold
- Aubrey: $330,499 · $170/sqft · 41 days · 10% over asking · 1,058 sold
- Mansfield: $485,000 · $185/sqft · 41 days · 14% over asking · 1,058 sold
- Richardson: $455,000 · $221/sqft · 25 days · 18% over asking · 959 sold
- Midlothian: $489,995 · $191/sqft · 63 days · 12.4% over asking · 954 sold
- Flower Mound: $625,000 · $235/sqft · 18 days · 23.8% over asking · 923 sold
- Burleson: $353,080 · $176/sqft · 39 days · 16.6% over asking · 921 sold
- Rockwall: $528,500 · $190/sqft · 56 days · 11.2% over asking · 916 sold
- Sherman: $278,000 · $156/sqft · 55 days · 12.2% over asking · 879 sold
- Lewisville: $393,000 · $210/sqft · 27 days · 18.5% over asking · 877 sold
- Royse City: $330,000 · $155/sqft · 71 days · 12.1% over asking · 841 sold
- Anna: $350,000 · $164/sqft · 59 days · 9.9% over asking · 797 sold
- Cleburne: $285,000 · $161/sqft · 55 days · 18% over asking · 785 sold
- North Richland Hills: $380,000 · $201/sqft · 24 days · 20.3% over asking · 774 sold
- Rowlett: $377,000 · $174/sqft · 40 days · 15% over asking · 769 sold
- Crandall: $261,525 · $148/sqft · 34 days · 15.1% over asking · 755 sold
- Wylie: $430,000 · $187/sqft · 44 days · 10.2% over asking · 744 sold
- Prosper: $850,000 · $236/sqft · 56 days · 6.5% over asking · 741 sold
- Lavon: $339,990 · $162/sqft · 75 days · 5.2% over asking · 729 sold
- Crowley: $319,000 · $164/sqft · 46 days · 14.2% over asking · 633 sold
- Justin: $419,990 · $179/sqft · 54 days · 11.3% over asking · 575 sold
- Greenville: $260,000 · $150/sqft · 68 days · 14.1% over asking · 562 sold
- Azle: $334,000 · $190/sqft · 45 days · 16.6% over asking · 549 sold
- Keller: $680,500 · $236/sqft · 20 days · 21.5% over asking · 548 sold
- Aledo: $527,500 · $205/sqft · 61 days · 8.6% over asking · 524 sold
- The Colony: $434,995 · $216/sqft · 32 days · 14.3% over asking · 498 sold
- Cedar Hill: $339,950 · $165/sqft · 28 days · 19.3% over asking · 486 sold
- Bedford: $385,500 · $206/sqft · 18 days · 25.4% over asking · 476 sold
- Grapevine: $595,000 · $260/sqft · 16 days · 22.6% over asking · 456 sold
- Pilot Point: $307,500 · $156/sqft · 49 days · 9.5% over asking · 455 sold
- Argyle: $567,000 · $208/sqft · 47 days · 8.1% over asking · 443 sold
- Denison: $240,000 · $156/sqft · 66 days · 14.9% over asking · 443 sold
- Haslet: $500,000 · $192/sqft · 58 days · 8.2% over asking · 428 sold
- Springtown: $395,000 · $200/sqft · 64 days · 18.4% over asking · 423 sold
- Melissa: $439,938 · $182/sqft · 50 days · 12.6% over asking · 422 sold
- Hurst: $353,947 · $200/sqft · 20 days · 26.1% over asking · 418 sold
- DeSoto: $350,000 · $151/sqft · 40 days · 22.3% over asking · 413 sold
- Northlake: $570,000 · $201/sqft · 60 days · 6.6% over asking · 409 sold
- Euless: $386,500 · $211/sqft · 22 days · 14% over asking · 408 sold
- Farmersville: $304,990 · $145/sqft · 66 days · 5.2% over asking · 405 sold
- Fate: $377,000 · $170/sqft · 64 days · 11.9% over asking · 405 sold
- Southlake: $1,350,000 · $362/sqft · 14 days · 17.5% over asking · 395 sold
- Seagoville: $308,000 · $151/sqft · 40 days · 10.7% over asking · 382 sold
- Providence Village: $283,250 · $164/sqft · 31 days · 9.9% over asking · 375 sold
- Corinth: $435,450 · $185/sqft · 44 days · 13.8% over asking · 362 sold
- Ennis: $268,990 · $162/sqft · 42 days · 18% over asking · 356 sold
- Coppell: $634,000 · $255/sqft · 14 days · 25.7% over asking · 342 sold
- Van Alstyne: $450,000 · $192/sqft · 77 days · 9.6% over asking · 323 sold
- Colleyville: $1,025,000 · $277/sqft · 15 days · 21.5% over asking · 321 sold
- Godley: $419,000 · $177/sqft · 94 days · 8.1% over asking · 321 sold
- Red Oak: $380,000 · $173/sqft · 50 days · 18.2% over asking · 319 sold
- Benbrook: $335,000 · $185/sqft · 31 days · 18.4% over asking · 299 sold
- Terrell: $305,000 · $170/sqft · 50 days · 13.7% over asking · 299 sold
- Watauga: $280,000 · $198/sqft · 24 days · 23.3% over asking · 283 sold
- Farmers Branch: $425,000 · $237/sqft · 31 days · 12.8% over asking · 282 sold
- Haltom City: $257,750 · $178/sqft · 33 days · 25.4% over asking · 280 sold
- Lancaster: $280,000 · $151/sqft · 28 days · 24.8% over asking · 278 sold
- Sanger: $335,745 · $180/sqft · 50 days · 14.6% over asking · 274 sold
- Heath: $750,000 · $226/sqft · 66 days · 11.8% over asking · 271 sold
- Joshua: $390,000 · $173/sqft · 57 days · 16.7% over asking · 264 sold
- Josephine: $267,245 · $148/sqft · 54 days · 9.9% over asking · 262 sold
- Alvarado: $319,900 · $166/sqft · 54 days · 14.2% over asking · 261 sold
- Decatur: $440,000 · $212/sqft · 63 days · 11.9% over asking · 261 sold
- Sachse: $430,500 · $188/sqft · 32 days · 13% over asking · 261 sold
- Duncanville: $297,950 · $164/sqft · 23 days · 21.1% over asking · 242 sold
- Saginaw: $310,000 · $167/sqft · 29 days · 25.4% over asking · 240 sold
- Venus: $339,795 · $184/sqft · 43 days · 15.4% over asking · 234 sold
- Glenn Heights: $350,000 · $163/sqft · 63 days · 23.6% over asking · 220 sold
- Caddo Mills: $354,190 · $176/sqft · 67 days · 10% over asking · 210 sold
- Trophy Club: $827,500 · $253/sqft · 20 days · 18.4% over asking · 206 sold
- Oak Point: $500,000 · $198/sqft · 71 days · 6.9% over asking · 204 sold
- Rhome: $359,190 · $178/sqft · 54 days · 17.1% over asking · 199 sold
- Balch Springs: $257,499 · $160/sqft · 25 days · 16.7% over asking · 198 sold
- Highland Village: $612,500 · $219/sqft · 19 days · 19.4% over asking · 196 sold
- Lantana: $625,000 · $196/sqft · 26 days · 14.1% over asking · 177 sold
- University Park: $2,745,000 · $684/sqft · 20 days · 18.2% over asking · 165 sold
- Pottsboro: $350,000 · $200/sqft · 56 days · 9.8% over asking · 164 sold
- Fairview: $574,900 · $253/sqft · 36 days · 13.1% over asking · 153 sold
- Murphy: $615,000 · $192/sqft · 36 days · 9.8% over asking · 153 sold
- White Settlement: $215,000 · $171/sqft · 30 days · 17% over asking · 153 sold
- Kaufman: $304,679 · $171/sqft · 41 days · 13.3% over asking · 150 sold
- Boyd: $316,990 · $177/sqft · 43 days · 15.6% over asking · 147 sold
- Lucas: $1,055,000 · $284/sqft · 48 days · 2.9% over asking · 136 sold
- Roanoke: $585,000 · $221/sqft · 42 days · 12% over asking · 133 sold
- Heartland: $269,495 · $148/sqft · 53 days · 18.2% over asking · 132 sold
- McLendon Chisholm: $618,370 · $197/sqft · 80 days · 12.4% over asking · 129 sold
- Addison: $537,000 · $267/sqft · 45 days · 8.8% over asking · 125 sold
- Krum: $372,500 · $188/sqft · 55 days · 11.5% over asking · 122 sold
- Bridgeport: $287,500 · $173/sqft · 58 days · 18.2% over asking · 121 sold
- Keene: $262,990 · $155/sqft · 49 days · 17.4% over asking · 121 sold
- Howe: $268,745 · $150/sqft · 36 days · 11.7% over asking · 120 sold
- Ponder: $336,450 · $188/sqft · 35 days · 7.8% over asking · 116 sold
- Ferris: $299,490 · $160/sqft · 45 days · 6.1% over asking · 115 sold
- Quinlan: $298,000 · $187/sqft · 62 days · 11.4% over asking · 114 sold
- Grandview: $305,000 · $185/sqft · 58 days · 7.5% over asking · 107 sold
- Whitesboro: $293,000 · $196/sqft · 56 days · 9.5% over asking · 105 sold
- Poolville: $483,500 · $225/sqft · 89 days · 21.4% over asking · 98 sold
- Commerce: $210,000 · $123/sqft · 69 days · 12.4% over asking · 97 sold
- Glen Rose: $430,000 · $208/sqft · 40 days · 14.4% over asking · 97 sold
- Gunter: $649,000 · $221/sqft · 79 days · 6.2% over asking · 97 sold
- Highland Park: $2,925,000 · $791/sqft · 29 days · 12.5% over asking · 96 sold
- Forest Hill: $250,000 · $161/sqft · 31 days · 26.6% over asking · 94 sold
- Willow Park: $449,995 · $208/sqft · 52 days · 13% over asking · 92 sold
- Blue Ridge: $289,995 · $173/sqft · 58 days · 5.6% over asking · 90 sold
- Richland Hills: $318,100 · $179/sqft · 36 days · 16.7% over asking · 90 sold
- Lake Dallas: $335,000 · $194/sqft · 29 days · 10.7% over asking · 84 sold
- Tolar: $356,000 · $198/sqft · 46 days · 6% over asking · 83 sold
- Kennedale: $415,000 · $175/sqft · 40 days · 17.3% over asking · 81 sold
- Nevada: $430,000 · $185/sqft · 66 days · 7.4% over asking · 81 sold
- Sunnyvale: $736,430 · $217/sqft · 47 days · 8.6% over asking · 81 sold
- Paradise: $452,500 · $210/sqft · 65 days · 11.5% over asking · 78 sold
- Lakewood Village: $725,000 · $221/sqft · 111 days · 6.7% over asking · 75 sold
- Savannah: $335,000 · $155/sqft · 54 days · 13.7% over asking · 73 sold
- Alvord: $299,990 · $163/sqft · 94 days · 8.6% over asking · 70 sold
- Wilmer: $237,849 · $169/sqft · 21 days · 24.3% over asking · 70 sold
- New Fairview: $520,287 · $212/sqft · 75 days · 8.8% over asking · 68 sold
- Parker: $1,200,000 · $269/sqft · 35 days · 6% over asking · 67 sold
- Cross Roads: $301,500 · $191/sqft · 42 days · 12.1% over asking · 66 sold
- Hickory Creek: $469,950 · $194/sqft · 42 days · 16.7% over asking · 66 sold
- Kemp: $298,000 · $165/sqft · 63 days · 9.1% over asking · 66 sold
- Ovilla: $539,900 · $189/sqft · 46 days · 1.5% over asking · 65 sold
- Cresson: $314,950 · $177/sqft · 106 days · 8.3% over asking · 60 sold
- Runaway Bay: $302,500 · $168/sqft · 61 days · 10% over asking · 60 sold
- Mabank: $318,000 · $183/sqft · 56 days · 15.3% over asking · 59 sold
- Palmer: $385,000 · $202/sqft · 49 days · 21.4% over asking · 56 sold
- Lake Worth: $229,000 · $168/sqft · 23 days · 14.5% over asking · 55 sold
- Newark: $342,190 · $181/sqft · 37 days · 18.2% over asking · 55 sold
- Millsap: $485,000 · $237/sqft · 70 days · 9.4% over asking · 53 sold
- River Oaks: $250,000 · $200/sqft · 27 days · 11.5% over asking · 52 sold
- Talty: $263,672 · $174/sqft · 35 days · 21.2% over asking · 52 sold
- Reno: $479,000 · $210/sqft · 82 days · 12.2% over asking · 49 sold
- Chico: $357,000 · $222/sqft · 39 days · 14.6% over asking · 48 sold
- Edgecliff Village: $295,500 · $154/sqft · 29 days · 19.1% over asking · 47 sold
- Hutchins: $332,900 · $202/sqft · 18 days · 14.9% over asking · 47 sold
- Lipan: $499,000 · $208/sqft · 73 days · 10.6% over asking · 47 sold
- Celeste: $407,500 · $202/sqft · 61 days · 15.9% over asking · 44 sold
- Double Oak: $853,750 · $279/sqft · 23 days · 18.2% over asking · 44 sold
- Krugerville: $619,000 · $211/sqft · 47 days · 7% over asking · 43 sold
- Whitewright: $250,000 · $176/sqft · 73 days · 19% over asking · 42 sold
- Gordonville: $241,000 · $181/sqft · 86 days · 2.4% over asking · 41 sold
- Shady Shores: $593,500 · $216/sqft · 27 days · 10.5% over asking · 38 sold
- Collinsville: $440,000 · $182/sqft · 83 days · 2.7% over asking · 37 sold
- Bells: $309,000 · $170/sqft · 52 days · 19.4% over asking · 36 sold
- Pantego: $374,000 · $162/sqft · 19 days · 17.1% over asking · 35 sold
- Tioga: $354,500 · $208/sqft · 56 days · 5.9% over asking · 34 sold
- Westlake: $4,635,000 · $777/sqft · 67 days · 0% over asking · 34 sold
- Pelican Bay: $218,000 · $164/sqft · 51 days · 18.2% over asking · 33 sold
- Lakeside: $361,000 · $184/sqft · 36 days · 12.5% over asking · 32 sold
- Oak Ridge: $446,150 · $207/sqft · 96 days · 6.2% over asking · 32 sold
- Lowry Crossing: $400,000 · $209/sqft · 26 days · 3.2% over asking · 31 sold
- Rio Vista: $330,000 · $201/sqft · 91 days · 16.1% over asking · 31 sold
- Wills Point: $395,000 · $197/sqft · 42 days · 0% over asking · 30 sold
- Everman: $235,000 · $170/sqft · 30 days · 17.2% over asking · 29 sold
- Lone Oak: $215,000 · $150/sqft · 66 days · 31% over asking · 29 sold
- Bartonville: $1,864,980 · $405/sqft · 46 days · 7.1% over asking · 28 sold
- Sansom Park: $241,000 · $181/sqft · 34 days · 21.4% over asking · 28 sold
- West Tawakoni: $210,000 · $158/sqft · 89 days · 10.7% over asking · 28 sold
- Maypearl: $375,000 · $199/sqft · 50 days · 11.1% over asking · 27 sold
- Westworth Village: $549,900 · $223/sqft · 21 days · 3.7% over asking · 27 sold
- Wolfe City: $260,000 · $164/sqft · 48 days · 11.1% over asking · 27 sold
- Copper Canyon: $1,365,000 · $309/sqft · 46 days · 7.7% over asking · 26 sold
- Italy: $299,000 · $185/sqft · 58 days · 11.5% over asking · 26 sold
- Oak Leaf: $465,000 · $194/sqft · 39 days · 23.1% over asking · 26 sold
- Dalworthington Gardens: $677,000 · $210/sqft · 29 days · 28% over asking · 25 sold
- De Cordova: $365,000 · $189/sqft · 57 days · 17.4% over asking · 23 sold
- Combine: $467,500 · $201/sqft · 63 days · 18.2% over asking · 22 sold
- Scurry: $432,500 · $204/sqft · 50 days · 13.6% over asking · 22 sold
Source: NTREIS MLS, aggregate only (Texas is non-disclosure). Machine-readable dataset · Text Ryan Storch, Broker · (972) 974-1821 · ryan@paxrealtytx.com