Top roofing companies in Minneapolis, by permits pulled
By Exterior Permits ·
Reviews and ads tell you who markets the most. Permits tell you who actually puts on the most roofs. Building permits are public, and each one names the company that pulled it.
Minneapolis issued 2,322 residential roofing permits from October 2025 to September 2026. 736 different applicants pulled them. Here's who led, where they worked, and what it means if you're competing with them.
The top 10
| Rank | Contractor | Roofing permits | Jul–Sep 2026 | Median value | Neighborhoods |
|---|---|---|---|---|---|
| 1 | Kaufman Sheet Metal Roofing | 153 | 59 | $14,541 | 45 |
| 2 | Sela Roofing and Remodeling | 75 | 29 | $13,000 | 36 |
| 3 | Garlock French Roofing | 36 | 12 | $20,049 | 26 |
| 4 (tie) | eRoof | 33 | 15 | $13,760 | 25 |
| 4 (tie) | Precision Exteriors Restoration | 33 | 13 | $11,000 | 17 |
| 6 | Legacy Restoration | 28 | 14 | $8,921 | 21 |
| 7 | Nokomis Roofing | 27 | 8 | $12,000 | 17 |
| 8 | True North Roofing | 25 | 5 | $16,823 | 21 |
| 9 (tie) | That One Construction | 24 | 6 | $14,775 | 19 |
| 9 (tie) | R & R Roofing | 24 | 9 | $8,475 | 18 |
"Neighborhoods" is how many Minneapolis neighborhoods each company pulled at least one roofing permit in. Median value is the declared permit value, not the final job price. The citywide median was $12,000.
Together, the top 10 pulled 458 permits, about 20% of the city's total.
Kaufman is in a league of its own
Kaufman Sheet Metal Roofing pulled 153 roofing permits, about 1 in every 15 in the city and more than twice as many as anyone else. It led every quarter of the year, including the slow one: 19 of the 184 permits issued from January to March 2026.
Its work leans south and southwest. Its top ZIPs were 55417 (29 permits), 55410 (27) and 55419 (27), and it led the roofing count in Lynnhurst (14), Linden Hills (13) and Fulton (11). Its median permit value, $14,541, was well above the city's $12,000.
If you sell roofs in southwest Minneapolis, Kaufman is the company you're most likely up against.
The rest of the leaders
- Sela Roofing and Remodeling (75) worked almost everywhere: 36 neighborhoods, with no more than 5 permits in any one. It also pulled 10 siding permits.
- Garlock French Roofing (36) had the highest median value in the top 10, just over $20,000. Fewer permits, bigger jobs.
- eRoof (33) picked up late in the year, with 15 of its permits from July to September 2026.
- Precision Exteriors Restoration (33) leaned north. Its busiest neighborhoods were Lind - Bohanon (7) and Waite Park (6).
- Legacy Restoration (28) had half its year, 14 permits, from July to September. It also pulled 28 roofing permits in Brooklyn Park.
- Nokomis Roofing (27) stayed close to home: 11 of its permits were in ZIP 55417.
Most roofers are small
The leaders get the attention, but the market is wide:
- 421 of the 736 applicants pulled exactly one roofing permit in the year.
- 105 applicants pulled 5 or more. Together they had 1,350 permits, about 58% of the total.
- 44 applicants pulled 10 or more, for 966 permits.
So the top of the market is concentrated, and the bottom is very long. More than half the names on a Minneapolis roofing permit show up only once a year.
Where nobody dominates
Not every neighborhood has a clear leader. In Audubon Park, 84 roofing permits were pulled by 75 different applicants, and no company pulled 5 or more. Diamond Lake (64 permits) and King Field (58) were the same: no company reached 5.
Waite Park, the busiest neighborhood for roofing with 213 permits, had 127 different applicants. Its top roofer, NexGen Exteriors, pulled only 8. NexGen pulled 14 of its 20 Minneapolis roofing permits from July to September 2026, when Waite Park was busiest.
Our post on the top Minneapolis neighborhoods for roofing permits has the full neighborhood ranking.
Brooklyn Park looks different
In Brooklyn Park, 196 contractors pulled 440 roofing permits from September 2025 to August 2026. One company stands out even more than Kaufman does in Minneapolis: Gittleman Construction pulled 73, about 1 in 6. Legacy Restoration was second with 28.
How to use this if you're not on the list
Know who's already on the street. Before you mail a neighborhood, check who's been pulling permits there. A neighborhood where one company pulled 14 roofs is a different sell from one where nobody pulled 5 or more.
Go where the work is spread out. Audubon Park, Diamond Lake and King Field had steady roofing work and no dominant name. That's where a smaller roofer can get known fastest.
Price with the data. Median permit values ranged from about $8,500 to about $20,000 among the top 10. Look up a competitor's recent permits on their contractor page to see the kind of jobs they take. Contractor pages update every week, so their counts can run a little ahead of the numbers here.
Follow the work, not the logo. Every new permit is a house with a crew and neighbors watching, whoever pulled it. See mailing the neighbors of a permitted job.
For how to look any permit up yourself, see the Minneapolis building permit lookup guide.
See every new roofing permit, and who pulled it
The free Monday email lists last week's new roofing permits with address, description, value and contractor. Get it free. Pro ($49 a month) covers 2 trades and adds owner names and mailing addresses, plus CSV. Full Metro ($99) covers all five trades with daily weekday alerts. See pricing. For the 12-month totals, see the Minneapolis roofing permits page, and for more on finding work, roofing leads in Minneapolis.
Data note: counts are residential roofing permits (single-family, two-family and townhouse) issued 2025-10-01 to 2026-09-30, from the City of Minneapolis CCS_Permits open data, pulled 2026-10-15, sorted by trade with our classifier (method). Contractors are the applicant named on each permit; only businesses with 5 or more permits are named. Brooklyn Park figures come from the City of Brooklyn Park's monthly permit reports, as of 2026-10-16. Permit value is the declared value on the permit, not the final price. Counts under 5 are shown as "fewer than 5".