The permit record usually knows, and it is more reliable than anyone's memory. Here is what it can tell you — and exactly where it stops.
Almost every article about this question ends with the same advice: call your local building department and ask. That is genuinely the right answer — a re-roof needs a permit, and the permit is dated. The problem is that it takes a phone call, an office's opening hours, and knowing which of twenty city systems to ask.
We already did that, city by city across the metro, and keep doing it. Over 300 thousand roofing permits are in the record with their dates.
Dated, described, and usually names the contractor who did the work. If a permit exists, the question is answered — not estimated. This is the one we can look up.
Minneapolis and Saint Paul evaluate most homes before sale, and the evaluator records the roof's condition on a dated report. It won't give you an install date, but it tells you what the roof looked like at a known moment.
If a severe hail event passed over the parcel and no roofing permit follows it, that is a meaningful pattern — either the roof took the hit and was never replaced, or it was replaced without a permit. Both are worth knowing before you buy.
"About ten years ago" is the answer most owners have, and it is the one that most often turns out to be fifteen. It is not evidence, and we don't record it as any.
This matters more than it sounds. Roofing did not enter every city's permit system at the same time — so "no permit found" means different things in different places, and any honest answer has to say which.
| City | Roofing record begins |
|---|---|
| Maple Grove | January 1988 |
| St. Louis Park | January 1988 |
| Crystal | February 1988 |
| White Bear Lake | May 1988 |
| Minnetonka | May 1988 |
| Richfield | January 1994 |
| Edina | January 1995 |
| Golden Valley | January 1995 |
| Inver Grove Heights | January 1996 |
| Eden Prairie | January 1998 |
| Ramsey | July 2003 |
| Waconia | January 2009 |
| Apple Valley | January 2010 |
| Savage | January 2012 |
| South St. Paul | March 2014 |
| Minneapolis | January 2015 |
| Saint Paul | January 2016 |
| Lakeville | September 2024 |
In Minneapolis the roofing record begins January 2015, and in Saint Paul January 2016. A roof replaced before its city's start date is invisible to the permit record — so we report that as "no record in the covered range", never as "no roof work".
We localize severe hail per parcel from radar rather than assuming a whole county was hit, so storm exposure attaches to your address rather than your zip code.
Where the permit names a roofer, the record keeps it — and shows what else that firm has pulled on nearby streets.
Roof area measured from imagery, reported as a range with its uncertainty stated, so a bid can be checked against something.