Ontario Market Heat Index
How fast homes sell, how often they fetch asking price, and how much room buyers have to negotiate — measured city by city from MLS sold data, with relisting chains merged so the numbers reflect a home's full time on the market.
- Period
- Rolling 90 days
- Status
- LIVE
- Last updated
- August 31, 2026
- Eligible sales
- 36,879
- Qualifying cities
- 115
- Methodology
- v1.1 · notes
Rolling snapshot of the last 90 days (2026-06-03 to 2026-08-31). These figures update nightly as new sold data arrives and are not final — quarterly figures are finalized and frozen after each quarter closes.
Ontario at a Glance — Rolling 90 days
City Rankings — Rolling 90 days
All property types · sorted by at/above asking — click any column to re-sort, click a city for its history. Cities below the disclosure floor (50 eligible sales) are listed but not ranked.
What does each column mean?
- Sales:
- How many eligible home sales the numbers are based on — more sales = more reliable numbers.
- Median market time:
- How many days the typical home takes to sell, counting from when it first hit the market (relistings included). Fewer days = hotter market.
- Sold ≤ 30 days:
- Share of homes that sold within a month. Higher = hotter market.
- At/above asking:
- Share of homes that sold for the original asking price or more. Higher = sellers are getting their price (hotter market).
- Sale ÷ original ask:
- The typical sale price as a share of the first asking price. 100% = homes sell for exactly what sellers first asked; below 100% = buyers pay less.
- Reduction rate:
- Share of sold homes that cut their asking price at least once before selling. Higher = sellers are having to lower expectations (cooler market).
- Median discount:
- When a home does sell below asking, this is the typical discount buyers got.
| 1Thunder Bay | 328 | 14 days | 84.5% | 71.6% | 104.9% | 6.4% | 4.6% |
| 2Kenora | 60 | 16 days | 86.7% | 66.7% | 101.8% | 6.7% | 5.2% |
| 3Timmins | 166 | 14 days | 78.3% | 65.1% | 104.2% | 7.2% | 5.5% |
| 4Kitchener | 515 | 23 days | 61.7% | 41.6% | 98.8% | 15.3% | 4.2% |
| 5North Bay | 203 | 15 days | 75.9% | 39.9% | 98.3% | 18.7% | 4.4% |
| 6Waterloo | 290 | 22 days | 59.7% | 38.3% | 98.4% | 12.4% | 4.4% |
| 7Cambridge | 326 | 23 days | 60.4% | 36.2% | 97.9% | 19.9% | 4.1% |
| 8Markham | 826 | 25 days | 59.7% | 35.6% | 97.0% | 12.2% | 5.6% |
| 9Wilmot | 52 | 29 days | 53.8% | 34.6% | 97.9% | 23.1% | 5.2% |
| 10Ajax | 254 | 20 days | 66.5% | 33.1% | 97.9% | 6.7% | 3.7% |
| 11Richmond Hill | 517 | 33 days | 48.2% | 29.8% | 96.5% | 13.7% | 6.0% |
| 12Oshawa | 455 | 21 days | 62.6% | 28.8% | 97.6% | 12.7% | 4.1% |
| 13Pickering | 341 | 24 days | 61.9% | 27.6% | 97.4% | 10.6% | 4.3% |
| 14Clarington | 351 | 20 days | 65.2% | 26.8% | 97.6% | 12.0% | 3.9% |
| 15South Stormont | 56 | 34 days | 48.2% | 25.0% | 95.7% | 28.6% | 6.0% |
| 16Toronto | 5,892 | 27 days | 55.0% | 25.0% | 96.3% | 13.9% | 5.6% |
| 17Newmarket | 239 | 23 days | 59.8% | 24.7% | 96.3% | 16.7% | 5.2% |
| 18Middlesex Centre | 65 | 41 days | 40.0% | 24.6% | 95.8% | 21.5% | 6.4% |
| 19Whitby | 388 | 21 days | 63.9% | 24.5% | 97.2% | 13.7% | 4.3% |
| 20Port Hope | 66 | 20 days | 63.6% | 24.2% | 96.7% | 18.2% | 4.5% |
| 21East Gwillimbury | 109 | 28 days | 53.2% | 23.9% | 96.1% | 21.1% | 6.1% |
| 22North Perth | 50 | 25 days | 58.0% | 22.0% | 97.4% | 24.0% | 3.2% |
| 23Petawawa | 82 | 26 days | 61.0% | 22.0% | 97.3% | 30.5% | 4.3% |
| 24Brampton | 1,311 | 26 days | 55.5% | 21.9% | 96.2% | 11.4% | 5.0% |
| 25Vaughan | 763 | 28 days | 53.3% | 21.8% | 96.0% | 12.7% | 5.4% |
| 26Quinte West | 180 | 35 days | 44.4% | 21.7% | 96.9% | 28.3% | 4.8% |
| 27North Grenville | 79 | 38 days | 40.5% | 21.5% | 97.8% | 15.2% | 3.3% |
| 28Selwyn | 75 | 28 days | 54.7% | 21.3% | 95.5% | 18.7% | 6.7% |
| 29Lambton Shores | 54 | 32 days | 46.3% | 20.4% | 96.3% | 11.1% | 5.8% |
| 30Saugeen Shores | 94 | 36 days | 43.6% | 20.2% | 95.7% | 30.9% | 5.2% |
| 31Ottawa | 3,104 | 27 days | 54.9% | 20.0% | 97.2% | 19.3% | 3.8% |
| 32Cornwall | 187 | 30 days | 50.3% | 19.8% | 97.0% | 31.6% | 4.2% |
| 33Stratford | 111 | 34 days | 48.6% | 19.8% | 96.9% | 27.9% | 4.6% |
| 34South Bruce Peninsula | 51 | 35 days | 41.2% | 19.6% | 93.9% | 13.7% | 8.2% |
| 35Pelham | 67 | 25 days | 55.2% | 19.4% | 96.1% | 19.4% | 5.2% |
| 36Mississauga | 1,377 | 28 days | 53.0% | 19.1% | 96.1% | 14.5% | 4.9% |
| 37Thorold | 91 | 32 days | 48.4% | 18.7% | 94.9% | 24.2% | 6.2% |
| 38Dysart Et Al | 76 | 38 days | 39.5% | 18.4% | 95.5% | 23.7% | 6.5% |
| 39Strathroy-caradoc | 77 | 19 days | 62.3% | 18.2% | 96.6% | 19.5% | 3.8% |
| 40Brantford | 224 | 26 days | 57.1% | 17.9% | 96.5% | 18.3% | 4.5% |
| 41Kincardine | 67 | 28 days | 55.2% | 17.9% | 96.0% | 20.9% | 4.7% |
| 42Aurora | 174 | 37 days | 42.5% | 17.8% | 95.6% | 15.5% | 6.2% |
| 43Guelph | 398 | 34 days | 47.5% | 17.6% | 96.1% | 21.4% | 4.9% |
| 44Niagara Falls | 303 | 36 days | 45.5% | 17.5% | 95.3% | 25.7% | 6.0% |
| 45Milton | 376 | 26 days | 58.0% | 17.3% | 96.8% | 16.2% | 3.9% |
| 46Brighton | 58 | 42 days | 37.9% | 17.2% | 96.2% | 32.8% | 4.9% |
| 47London | 1,152 | 29 days | 51.8% | 17.1% | 96.3% | 20.6% | 4.7% |
| 48Central Elgin | 53 | 38 days | 41.5% | 17.0% | 94.5% | 20.8% | 7.2% |
| 49Cobourg | 94 | 30 days | 51.1% | 17.0% | 96.2% | 17.0% | 5.5% |
| 50Whitchurch-stouffville | 142 | 28 days | 52.8% | 16.9% | 96.8% | 24.6% | 4.0% |
| 51Oro-medonte | 80 | 30 days | 51.3% | 16.3% | 96.0% | 17.5% | 4.9% |
| 52Brockville | 93 | 35 days | 48.9% | 16.1% | 96.5% | 29.0% | 5.1% |
| 53Clarence-rockland | 120 | 40 days | 43.3% | 15.8% | 96.8% | 19.2% | 3.6% |
| 54Burlington | 637 | 27 days | 54.5% | 15.7% | 96.2% | 18.8% | 4.8% |
| 55Georgina | 191 | 32 days | 48.7% | 15.7% | 95.2% | 22.5% | 5.3% |
| 56Peterborough | 261 | 26 days | 59.4% | 15.4% | 96.4% | 20.3% | 4.0% |
| 57Innisfil | 153 | 29 days | 52.3% | 15.0% | 95.7% | 11.1% | 4.7% |
| 58Trent Hills | 74 | 48 days | 37.8% | 14.9% | 93.9% | 18.9% | 7.7% |
| 59Frontenac | 143 | 34 days | 44.1% | 14.7% | 95.1% | 23.1% | 6.6% |
| 60Bradford West Gwillimbury | 124 | 29 days | 52.4% | 14.5% | 95.9% | 15.3% | 4.9% |
| 61Kingston | 433 | 27 days | 54.3% | 14.5% | 96.4% | 17.8% | 4.4% |
| 62Rideau Lakes | 55 | 41 days | 43.6% | 14.5% | 92.6% | 25.5% | 7.8% |
| 63Brant | 90 | 36 days | 42.2% | 14.4% | 96.0% | 14.4% | 4.6% |
| 64Hamilton | 1,229 | 30 days | 50.0% | 14.4% | 95.6% | 23.2% | 5.5% |
| 65St. Catharines | 396 | 27 days | 55.3% | 14.4% | 96.3% | 24.0% | 4.5% |
| 66Uxbridge | 71 | 27 days | 54.9% | 14.1% | 96.1% | 15.5% | 4.8% |
| 67Centre Wellington | 136 | 28 days | 54.4% | 14.0% | 96.4% | 19.9% | 4.5% |
| 68St. Thomas | 164 | 26 days | 54.9% | 14.0% | 96.3% | 25.0% | 4.4% |
| 69Gravenhurst | 58 | 28 days | 53.4% | 13.8% | 94.6% | 10.3% | 6.5% |
| 70King | 58 | 46 days | 44.8% | 13.8% | 93.8% | 12.1% | 7.7% |
| 71Belleville | 226 | 39 days | 43.4% | 13.3% | 96.0% | 24.8% | 4.9% |
| 72Muskoka Lakes | 83 | 21 days | 55.4% | 13.3% | 93.9% | 18.1% | 7.4% |
| 73Port Colborne | 60 | 37 days | 46.7% | 13.3% | 95.0% | 26.7% | 6.2% |
| 74Kawartha Lakes | 341 | 36 days | 44.3% | 13.2% | 95.0% | 21.7% | 6.0% |
| 75Norfolk | 130 | 44 days | 41.5% | 13.1% | 94.9% | 31.5% | 5.9% |
| 76Tillsonburg | 85 | 41 days | 36.5% | 12.9% | 94.5% | 35.3% | 6.3% |
| 77Minden Hills | 55 | 27 days | 54.5% | 12.7% | 95.8% | 10.9% | 6.1% |
| 78Mississippi Mills | 55 | 32 days | 47.3% | 12.7% | 96.1% | 12.7% | 4.4% |
| 79Oakville | 691 | 34 days | 47.2% | 12.7% | 95.0% | 17.5% | 5.8% |
| 80Orillia | 151 | 34 days | 45.7% | 12.6% | 95.6% | 21.9% | 5.3% |
| 81Woodstock | 184 | 24 days | 58.2% | 12.5% | 96.6% | 23.4% | 4.0% |
| 82Grimsby | 106 | 29 days | 51.9% | 12.3% | 95.3% | 15.1% | 5.8% |
| 83Pembroke | 65 | 33 days | 44.6% | 12.3% | 95.6% | 33.8% | 4.6% |
| 84Russell | 81 | 40 days | 45.7% | 12.3% | 97.1% | 29.6% | 3.6% |
| 85Severn | 57 | 22 days | 56.1% | 12.3% | 93.2% | 21.1% | 7.7% |
| 86Caledon | 188 | 31 days | 48.4% | 12.2% | 95.6% | 16.0% | 5.1% |
| 87Loyalist | 82 | 34 days | 47.6% | 12.2% | 96.8% | 18.3% | 3.7% |
| 88Prince Edward County | 131 | 51 days | 32.1% | 12.2% | 94.5% | 18.3% | 6.5% |
| 89Bracebridge | 86 | 25 days | 57.0% | 11.6% | 95.9% | 14.0% | 4.9% |
| 90Tay | 52 | 28 days | 51.9% | 11.5% | 96.5% | 25.0% | 3.9% |
| 91Barrie | 502 | 27 days | 54.8% | 11.2% | 96.5% | 14.1% | 4.0% |
| 92Carleton Place | 72 | 40 days | 38.9% | 11.1% | 97.4% | 29.2% | 3.2% |
| 93Orangeville | 90 | 35 days | 46.7% | 11.1% | 95.7% | 21.1% | 4.6% |
| 94Scugog | 74 | 31 days | 50.0% | 10.8% | 96.6% | 13.5% | 3.8% |
| 95Halton Hills | 168 | 22 days | 61.3% | 10.7% | 95.8% | 16.7% | 4.9% |
| 96Fort Erie | 164 | 42 days | 42.1% | 10.4% | 94.5% | 25.6% | 6.2% |
| 97Springwater | 67 | 38 days | 44.8% | 10.4% | 96.4% | 19.4% | 3.9% |
| 98Haldimand | 119 | 36 days | 45.4% | 10.1% | 94.1% | 30.3% | 6.5% |
| 99Lincoln | 90 | 33 days | 43.3% | 10.0% | 96.0% | 15.6% | 4.4% |
| 100West Nipissing | 50 | 36 days | 44.0% | 10.0% | 95.4% | 24.0% | 4.8% |
| 101Huntsville | 114 | 47 days | 35.1% | 9.6% | 92.6% | 25.4% | 8.0% |
| 102New Tecumseth | 135 | 38 days | 43.0% | 9.6% | 95.9% | 21.5% | 5.0% |
| 103Tiny | 74 | 43 days | 41.9% | 9.5% | 91.3% | 17.6% | 9.0% |
| 104Owen Sound | 75 | 33 days | 46.7% | 8.0% | 96.1% | 20.0% | 4.4% |
| 105Wellington North | 50 | 59 days | 38.0% | 8.0% | 95.0% | 24.0% | 5.9% |
| 106West Grey | 52 | 47 days | 40.4% | 7.7% | 95.0% | 19.2% | 5.6% |
| 107Essa | 67 | 35 days | 41.8% | 7.5% | 95.3% | 17.9% | 5.3% |
| 108Clearview | 68 | 46 days | 35.3% | 7.4% | 92.8% | 33.8% | 7.9% |
| 109Midland | 58 | 36 days | 41.4% | 6.9% | 95.2% | 24.1% | 5.4% |
| 110Wasaga Beach | 159 | 45 days | 40.3% | 6.9% | 95.5% | 16.4% | 4.9% |
| 111Welland | 180 | 36 days | 45.0% | 6.1% | 94.7% | 31.1% | 5.7% |
| 112Ramara | 51 | 31 days | 49.0% | 5.9% | 94.7% | 15.7% | 5.4% |
| 113Blue Mountains | 55 | 44 days | 29.1% | 5.5% | 92.9% | 20.0% | 7.8% |
| 114Collingwood | 143 | 46 days | 38.5% | 4.9% | 94.0% | 26.6% | 6.2% |
| 115Niagara-on-the-lake | 91 | 39 days | 38.5% | 4.4% | 94.6% | 24.2% | 5.5% |
The shaded column (at/above asking) is coloured from cooler (blue) to hotter (red) market. Scroll the table sideways for more columns — the city column stays put.
On the Map — At/above asking
Each dot is a qualifying city, colored by sold at/above original asking (%). Every mapped value also appears in the city ranking table above.
City History
Click a city in the ranking table above to see its quarterly history — market time, at/above-asking rate, reduction rate, ratio and sample size over time.
Market speed — Rolling 90 days
How fast homes actually sell, measured on full relisting chains — a home relisted three times counts its whole time on market, not just the last listing.
| 1Wellington North | 50 | 59 days | 2.0% | 14.0% | 38.0% | 50.0% |
| 2Prince Edward County | 131 | 51 days | 4.6% | 12.2% | 32.1% | 44.3% |
| 3Trent Hills | 74 | 48 days | 8.1% | 16.2% | 37.8% | 35.1% |
| 4Huntsville | 114 | 47 days | 6.1% | 14.0% | 35.1% | 36.0% |
| 5West Grey | 52 | 47 days | 7.7% | 17.3% | 40.4% | 44.2% |
| 6Clearview | 68 | 46 days | 2.9% | 19.1% | 35.3% | 41.2% |
| 7Collingwood | 143 | 46 days | 2.8% | 15.4% | 38.5% | 37.8% |
| 8King | 58 | 46 days | 8.6% | 20.7% | 44.8% | 44.8% |
| 9Wasaga Beach | 159 | 45 days | 7.5% | 18.2% | 40.3% | 40.9% |
| 10Blue Mountains | 55 | 44 days | 1.8% | 10.9% | 29.1% | 41.8% |
Asking-price performance — Rolling 90 days
How sale prices compare with what sellers originally asked. Ratios use the first asking price of the relisting chain, so re-lists at a lower price cannot flatter the numbers.
| 1Thunder Bay | 328 | 71.6% | 104.9% | 104.9% |
| 2Kenora | 60 | 66.7% | 101.8% | 101.8% |
| 3Timmins | 166 | 65.1% | 104.2% | 104.2% |
| 4Kitchener | 515 | 41.6% | 98.8% | 98.8% |
| 5North Bay | 203 | 39.9% | 98.3% | 98.7% |
| 6Waterloo | 290 | 38.3% | 98.4% | 98.4% |
| 7Cambridge | 326 | 36.2% | 97.9% | 98.3% |
| 8Markham | 826 | 35.6% | 97.0% | 97.5% |
| 9Wilmot | 52 | 34.6% | 97.9% | 98.4% |
| 10Ajax | 254 | 33.1% | 97.9% | 98.1% |
Price reductions — Rolling 90 days
How often sellers cut the price before selling, how quickly, and by how much. Total reduction sums every observed cut against the original asking price.
Price-change events have been captured in full since August 2026; earlier windows reflect the last observed change per listing only, so reduction figures for this period are a floor, not an exact rate.
| 1Tillsonburg | 85 | 35.3% | 37 days | 3.3% | 4.0% |
| 2Clearview | 68 | 33.8% | 56 days | 5.9% | 5.7% |
| 3Pembroke | 65 | 33.8% | 26 days | 4.0% | 3.8% |
| 4Brighton | 58 | 32.8% | 29 days | 3.8% | 4.1% |
| 5Cornwall | 187 | 31.6% | 35 days | 3.4% | 3.4% |
| 6Norfolk | 130 | 31.5% | 44 days | 4.3% | 4.1% |
| 7Welland | 180 | 31.1% | 25 days | 3.4% | 3.4% |
| 8Saugeen Shores | 94 | 30.9% | 52 days | 3.8% | 3.8% |
| 9Petawawa | 82 | 30.5% | 20 days | 3.3% | 3.3% |
| 10Haldimand | 119 | 30.3% | 47 days | 4.1% | 4.1% |
Buyer negotiating room — Rolling 90 days
When homes sell below the original asking price, how large the gap typically is.
| 1Niagara-on-the-lake | 91 | 95.6% | 5.5% |
| 2Collingwood | 143 | 95.1% | 6.2% |
| 3Blue Mountains | 55 | 94.5% | 7.8% |
| 4Ramara | 51 | 94.1% | 5.4% |
| 5Welland | 180 | 93.9% | 5.7% |
| 6Midland | 58 | 93.1% | 5.4% |
| 7Wasaga Beach | 159 | 93.1% | 4.9% |
| 8Clearview | 68 | 92.6% | 7.9% |
| 9Essa | 67 | 92.5% | 5.3% |
| 10West Grey | 52 | 92.3% | 5.6% |
Reports & Guides
Deeper analysis built on the same finalized snapshots, plus evergreen explainers for the metrics on this page.
Median market time rankings, speed distribution and the biggest movers.
Above-ask rates and both sale-to-list ratios — with the list-low context.
Where sellers are cutting, how fast, and how deep.
Where the asking-to-sold gap is widest — and what it can’t promise.
The detached segment: speed, asking-price performance and reductions.
Condo apartments, tracked separately from freehold.
Freehold rows and condo townhouses, side by side.
Ontario’s fastest-selling market, up close.
The province’s most competitive market on asking price.
A big market where price reductions run high.
Neighbourhood-level market speed — our below-city pilot.
What DOM measures and how relistings distort it.
Why the first ask is the honest benchmark.
Reading cut history as a buyer; timing a cut as a seller.
How to read 98% vs 103% — and the list-low trap.
Archive & Downloads
Every published period, including the current quarter-to-date snapshot. Preliminary figures change nightly; finalized periods are frozen and never change without a visible revision. CSV downloads include the full city × property-type aggregate table (plus the Toronto neighbourhood pilot rows) with methodology version and usage notes.
Usage conditions: figures are free to cite and republish in aggregate form with attribution to “PropertyMesh Ontario Market Heat Index” and a link back to this page. Don’t present them as official board statistics, strip the disclosure flags, or use them as investment advice — full rules in the methodology.
Methodology & Notes
Source. MLS sold records for Ontario resale residential properties (detached, semi-detached, freehold and condo townhouses, condo apartments), refreshed nightly. Sales are dated by the purchase-contract date.
Market time. The MLS feed does not provide a reliable cumulative days-on-market figure, so we compute our own: when a home is relisted (same address and unit, prior listing ending within a validated window), the listings are chained together and time on market accumulates across the whole chain.
Asking-price ratios. Sale-to-original-list uses the first asking price of the relisting chain — a home relisted at a lower price cannot flatter the ratio. Sale-to-final-list uses the sold listing's last asking price.
Price reductions. Reduction metrics count observed price-decrease events; the total reduction sums all cuts against the original asking price (increases are ignored). Full event capture began in August 2026 — periods starting earlier are flagged as partial and understate reduction activity.
Disclosure floors. City figures require at least 50 eligible sales for the period (25 per property-type cut). Cells below the floor are shown as “insufficient data” rather than ranked — small samples produce unstable, misleading rates.
Coverage. Figures are based on TRREB (Toronto Regional Real Estate Board) transactions via the PropTx feed. Coverage of the Greater Toronto Area is comprehensive; outside the GTA, only sales involving a TRREB member are captured, so coverage is partial and cities below the disclosure floor are shown but not ranked. The series starts in Q3 2025; the feed's historical coverage before that is incomplete and would misstate the market. Toronto MLS districts are merged into Toronto, and London's feed subdivisions are merged into London.
Frozen periods. Completed quarters and years are finalized and frozen: their published values never change silently. Corrections are released as visible revisions with a reason.
Privacy & rights. Everything published here is an aggregate that meets the disclosure floors above. Individual sold prices are not shown on this page; listing-level sold data is available on PropertyMesh behind a free sign-in, per MLS data rules.
Citing this data. Free to cite with attribution to PropertyMesh (“PropertyMesh Ontario Market Heat Index”). Each archived period has a CSV download with the full aggregate table, methodology version and usage notes. For questions or custom cuts, contact us.