Every roofing permit filed in your county is public record: address, work description, valuation, date. An entire industry exists to sell you this data, permit-lead platforms run from tens to hundreds of dollars a month, and nearly all of it originates from open-data portals your county operates for free.
The vendors add real convenience: cleaning, contact-matching, daily delivery. But the core workflow, permits this week, near my jobs, as a drivable route, takes about fifteen minutes from the raw county CSV with free tools. If you're a two-truck operation, that fifteen minutes is the difference between paying for leads and reading the county's own ledger. Here is the whole method.
- →Building permits are public records, and most counties publish them as free CSV downloads on open-data portals — the same data permit-lead vendors resell for hundreds per month.
- →A permit filed on your trade's work (roof, HVAC, electrical) is the strongest proximity signal in the business: money already committed, neighbours already primed.
- →The free workflow: download the county CSV, filter to your trade and date range, geocode the address column, and =ROUTE_LINK turns the week's permits into one drive-ready Google Maps route.
- →The neighbours are the real prize: the permit address is taken, but the eight houses around a re-roof are your warmest cold doors. Map the permits, knock the radius.
- →Track the knocking with a check-off logbook: door answered, quoted, follow-up — with notes flowing back into the sheet, so the second pass is smarter than the first.
Step 1: Find your county's permit feed
Search '[your county] building permits open data', most US metros publish on Socrata or ArcGIS portals with a Download CSV button and filters for date and permit type. (Chicago, Austin, LA, Seattle and hundreds of smaller counties all do; UK readers: your council's planning register plays the same role.)
Filter before downloading: your trade's permit class, issued in the last 7–30 days, and your working radius if the portal supports geography filters. A week of roofing permits in one metro is typically 30–150 rows, one drivable list, not a database project.
Step 2: Geocode the address column
Permit CSVs carry addresses, not coordinates (or carry them in a projection your tools won't read). Paste the address column into the free bulk geocoder linked below: coordinates for every row, first 100 free, enriched CSV back. In Sheets, =GEOCODE(B2) down the column does the same, live.
Coordinates matter for the next step: ordering stops by drive sequence needs points, and permit addresses occasionally geocode approximate (new construction, lot numbers), the tool grades each row so you can spot the two that need a manual look.
Step 3: Order the stops and build one route link
In the sheet: =VISIT_ORDER(D2:E60) orders the permits into an efficient visiting sequence from your first stop, and =ROUTE_LINK(D2:E60) compresses the day into a single Google Maps link, open it on your phone and the whole run is loaded, up to 100 stops (the undocumented ceiling we tested).
Print nothing, retype nothing: the same link goes to a second truck with the list split by FILTER(), north-side permits to one crew, south to the other.
Step 4: The neighbours are the actual leads
The permit address already hired someone. The houses around it are the play: a street that just watched a re-roof go up is the warmest cold-knock in the trade, and storm-damage clusters make it stronger, one approved claim on a street re-prices every adjacent roof.
Work the radius, not the pin: at each permit stop, knock the six to ten nearest doors. 'We're doing the roof at number 23' is an opener with built-in proof sitting visibly up the street.
Step 5: Check off the doors so the second pass is smarter
Publish the permit list as a live map and open its logbook on your phone: each address is one tap, answered / no answer / quoted, with notes ('dog', 'owner back Thursday', 'wants gutters too') and photos. Every knock is timestamped and signed, and =LOGBOOK(map_id) pulls the whole history back into the sheet.
The compounding asset is the notes layer: next month's permit run through the same neighbourhood starts from what you learned this month, which is precisely the mechanism the lead-vendor subscription can never sell you.
Map your Salesforce accounts in under 5 minutes — no admin setup.
Paste the permit addresses into the free geocoder, then =VISIT_ORDER and =ROUTE_LINK build the drive. First 100 rows free, no login.
Open the free bulk geocoder