How to use building permits to find customers
Every building permit is a public note that says work is happening here. For roofing, HVAC, and foundation contractors, that’s one of the best free lead sources there is, if you know how to read it and act fast.
1. What a building permit tells you
Cities require permits for most structural, roofing, mechanical, electrical, and plumbing work. The permit record is public, and it usually includes:
- The address where the work is happening.
- The permit type, such as re-roof, mechanical, or foundation repair.
- The issue date, which tells you how fresh the signal is.
- Often the contractor who pulled it and a job valuation.
The house on the permit has usually already hired someone. The value is in what the permit says about the block: homes built around the same time, on the same soil, through the same storms, now watching a neighbor fix the same problem.
2. Which permits signal which jobs
| Permit type | What it signals | Best for |
|---|---|---|
| Re-roof | Roofs of similar age on the block; possible storm damage | Roofers, gutter and solar installers |
| Mechanical | HVAC replacement; same-age systems nearby | HVAC contractors |
| Foundation repair | Slab or pier movement on shared soil | Foundation, drainage, and plumbing |
| Residential repair / remodel | An owner investing in the home | Most home-service trades |
| New construction | New homes, little repair need for years | Builders’ subs, not repair trades |
In San Antonio, the last 30 days of city data included 344 re-roof, 725 HVAC / mechanical, and 335 foundation repair permits. That’s a lot of signals in one metro.
3. Where San Antonio permit data lives
- City of San Antonio open data portal. Issued building permits, published by the city. It’s the core source, and it currently refreshes about weekly.
- Bexar Appraisal District. County property records: owner name, mailing address, year built, and square footage. Matching a permit to a parcel turns an address into a person.
- National Weather Service Local Storm Reports. Public reports of hail size and location, useful for roofing.
Each source is free. The work is in pulling them on a schedule, cleaning addresses, and joining them together.
4. Turning one permit into a lead list
- Filter to your trade and service area. Keep only the permit types and ZIPs you actually work.
- Find the neighbors. Pull homes within a few blocks of the permit address.
- Match on age. Homes built within a few years of the permitted house are the most likely to need the same work.
- Add the owner. Look up each parcel in appraisal records. If the mailing address doesn’t match the property, it’s likely a rental, and the owner is the one to contact.
- Prioritize. Rank by home age, storm exposure, and how recent the permit is. Work the top of the list first.
5. Working the list
- Move fast. The first week after a permit, while crews and dumpsters are visible, is when neighbors are most receptive.
- Knock with a reason. “We noticed work on your street and are offering free inspections nearby” beats a generic pitch. Don’t imply you did the neighbor’s job if you didn’t.
- Leave something behind. A door hanger with your local number and reviews keeps working after you leave.
- Mail absentee owners. Landlords and investors won’t be home. A postcard to the mailing address on the appraisal record reaches them.
- Follow the rules. Respect no-soliciting signs and local solicitation rules, and check the National Do Not Call Registry and telemarketing rules before calling or texting anyone.
- Track results. Note which permit types and ZIPs turn into jobs, and narrow your filters around them.
6. Do it yourself, or use a feed
You can do all of this by hand: download city permit files every week, look up owners one by one, and map neighbors yourself. It works, and it costs hours you could spend on roofs.
BlockPermit does that work for San Antonio every morning. You get new permits for your trade and ZIPs, neighbor canvass lists, and owner and storm details when public records match, for a flat monthly price. Start with the page for your trade: