Permits are the only public record that says what physically happened to a property and who did the work. That makes them the basis of two products that do not look alike: a roof age for an insurer, and a ranked list of roofers for a manufacturer. Both start from the same row.
What a permit record contains
The issuing jurisdiction, a permit number, the parcel or address, the permit type, a free-text description of the work, the declared value, the dates applied, issued, inspected and finaled, the status, and in many jurisdictions the contractor's name and license number. The description field is where the real information lives. "Re-roof, tear off, 30 squares, architectural shingle" tells an insurer more than the permit type does, and it takes text parsing to get it out.
Why it is a patchwork
Permits are issued by cities, counties and sometimes special districts, each with its own system and its own idea of what to publish. Some post everything to an open-data portal daily. Some publish a PDF. Some publish nothing. Some name the contractor on every permit and some never do. A national permit file is therefore an aggregation across thousands of jurisdictions, with coverage that is excellent in some metros and absent in others, and the honest thing a vendor can do is tell you jurisdiction by jurisdiction what is covered and whether the contractor field is present. On our file roughly 24 million permits carry a usable contractor name; we list the metros before you buy.
From permits to roof age
Where a roofing permit exists, the roof's age is the permit date, which is far better than the year built the assessor publishes. Where it does not, the year built and the structure codes are the fallback, and the roof cover field itself is missing on about half of residential parcels nationally. So the roof age an insurer receives is a layered answer: permit date where there is one, year built where there is not, and a flag saying which. The same logic gives HVAC age, electrical work, additions and solar installations, and it feeds the insurance risk dataset.
From permits to contractor rankings
A contractor's name on a permit is written by a clerk, so the same company appears as a dozen strings. Clustering those strings into one company, on exact keys like license number and phone and on normalized names, is most of the work. Once done, counting a company's permits by type, by city and by year produces a ranking of who actually pulls roofing or solar or remodeling permits in each metro. That list is very different from a directory of companies with websites, and it is what a manufacturer, a distributor or a lead platform wants: the producers. Rankings are computed per metro because a roofer's rank in one city says nothing about another.
Refresh and lag
Jurisdictions publish on their own schedules, and some post permits weeks after issue. A monthly refresh captures the bulk of it; permits added in a month are a mix of recent and lagged records, and the file carries both the issue date and the date we first saw it so that a study can account for the lag.
Questions
Is there nationwide building permit data?
Coverage is an aggregation of thousands of jurisdictions and is uneven. A vendor should tell you which metros are covered and which carry the contractor field before you buy.
Can permit data tell me the age of a roof?
Where a roofing permit exists, yes, to the permit date. Otherwise year built is the fallback, with a flag saying which was used.
How are contractors ranked?
By verified permit counts per metro after clustering name variants into one company. Rankings are local by design.