PermitFocus

← All posts · May 10, 2026 · 6 min read

Finding roofing leads from new-construction permits

Roofing contractors generally fish in two ponds: storm work (insurance-driven, lumpy, seasonal) and reroofs (canvassing, door-knocks, online lead-gen). Both lanes are oversubscribed, margin-compressed, and at the mercy of weather or Google Ads bid wars.

The third lane — new-construction roofing — is barely used by independent roofers. Most assume the work is locked up by production builders' national accounts. In growing markets, that's true at the top. But the long tail of regional and custom builders absolutely does shop the roofing scope: especially on infill, custom homes, and small-batch developments where the GC doesn't have a corporate vendor matrix.

The challenge isn't whether the work exists. It's finding it before the GC's preferred subs have already locked it down. That's what permit data solves.

Why permits beat lead-gen sites for new construction

Aggregator sites (HomeAdvisor, Angi, ServiceTitan partners) are heavily skewed toward reroof and repair. The few new-construction leads that show up are usually homeowners who don't yet have a builder. Those leads convert badly because the project is months away from a roofing scope decision.

A pulled permit is a different beast. It means:

That's a lead with a real decision-maker, real timeline, and real address.

The four-step process

Step 1 — Pick your radius

Roofing crews have a tighter service radius than HVAC or framing. Most one-truck, single-crew roofers operate inside a 30-40 minute drive. Multi-crew shops with a logistics yard might stretch to 60 minutes. Define yours before you pull data — see our drive-time vs. radius post for why a true isochrone matters more than a circle on a map.

Step 2 — Filter for the right builder type

Production builders (Lennar, DR Horton, Pulte) have national roofing contracts. You're not winning that work as an independent. Filter them out. Focus on:

The PermitFocus builder directory tags every builder with a license tier and permit count so you can filter on volume directly.

Step 3 — Call before scope is awarded

Permit pull happens 2-6 weeks before framing. Framing precedes dry-in by another 1-3 weeks. So your window to land the roofing scope is roughly weeks 1-5 after permit pull.

Set a saved-search alert that emails you any time a builder in your service radius pulls a permit. (PermitFocus does this; the saved-searches alert runs daily.) Call within 48 hours, while you're the first sub on the GC's mental shortlist.

Step 4 — Open with permit-specific context

Generic "hey I'm a roofer" cold calls go straight to voicemail. Calls that open with "I saw you pulled the permit on 2347 Magnolia last Tuesday — what's the dry-in target?" get answered, because you've shown you do your homework.

Even better: mention 2-3 other builders in their county you've worked with. Builders trust sub-referrals from peer builders more than any other source.

What this looks like in practice

One roofer we talked to in central Florida went from 4 new-construction roofs/year to 38 in 12 months using exactly this loop: drive-time filter → permit alert → 48-hour outreach → permit-specific opener. The work pays less per square than insurance reroofs, but it's predictable, schedulable, and the customer (the GC, not a homeowner) is repeat business.

Roofing is one of the most fragmented trades in residential construction. There's no national chain that owns the new-construction long tail. If you systematize this lane while your competitors are bidding storm work, you'll own it in your geo.

Get permit alerts for your service radius

PermitFocus tracks new-construction permits across 3,022 US counties. Sign up free, draw your 30-minute drive-time, and we'll email you any time a non-production builder pulls a permit inside it.

Start free trial → Browse markets