How Insurance Underwriters Are Using Permit Data to Catch Undisclosed Renovations
Updated Tue, Oct 13, 2026 - 5 min read
By Raf Howery | Kukun
A homeowner replaces their roof. They don’t tell their insurer. Two years later, a hail event damages the new roof, and the claim comes in based on an assumed 15-year-old roof, not a 2-year-old one.
That scenario plays out thousands of times a year across personal and commercial lines. The insurer is pricing and reserving based on a property condition they’ve never verified, using data that was accurate at policy issuance and hasn’t been touched since.
Permit data changes that. Here’s how underwriters are using it.
The disclosure problem
Insurance applications ask homeowners to disclose major renovations. Most homeowners comply imperfectly, not necessarily out of fraud, but because they don’t know what counts as a disclosure event, they forget about work done years ago, or they had work done without pulling a permit.
The result is a systematic mismatch between what the insurer believes about a property and what’s actually true. Roof age, HVAC condition, and electrical panel vintage (the variables that most directly affect loss probability) are often wrong in the insurer’s data by the time a claim arrives.
Let's connect, and see how we can help you stay ahead of the market.
Contact us
What permit data surfaces
Every major renovation on a property that goes through proper channels generates a permit record. That record is public, timestamped, and tied to a specific address. The Kukun API aggregates those records from 5,600+ sources and normalizes them into a consistent, machine-readable format.
For underwriters, the relevant permit types are:
Roof permits: the single highest-impact variable in property insurance. A roof replaced 2 years ago is categorically different from a 20-year-old roof, but without permit data, the insurer has no reliable way to know. Permit records surface replacement dates, contractor identity, and material type (where the jurisdiction records it).
HVAC permits: heating and cooling system replacement. Critical for estimating remaining useful life and future maintenance costs. An aging HVAC in a hot climate is both a comfort risk and a moisture/mold risk.
Electrical permits: panel upgrades, rewiring, and service upgrades. Older electrical systems (pre-1980 aluminum wiring, outdated panels) are a known fire risk. Permit records tell you whether upgrades have been made.
Major structural work: additions, foundation work, structural reinforcement. These change the property’s risk profile in ways that original construction records don’t capture.
Unpermitted signals: a property with significant market value appreciation and no corresponding permit activity may have had work done without permits. That’s both a building code risk and a disclosure risk.
The workflow: permit data in underwriting
There are three points in the underwriting lifecycle where permit data adds value:
1. New policy issuance: Pull permit history at the address before issuing the policy. Compare the permit record against the applicant’s disclosure. A roof permit from 2019 that the applicant didn’t mention isn’t necessarily fraud, but it’s a data point worth flagging for review. A major addition that doubled the square footage and wasn’t disclosed is a different conversation.
2. Renewal: Pull permit activity since the last policy date. Any new permits (especially HVAC, roof, or electrical) represent a change in property condition that may warrant a rate adjustment. A positive change (new roof, upgraded electrical) may actually reduce risk. A negative signal (unpermitted structural work flagged by a neighbor complaint) warrants attention.
3. Claims verification: When a claim comes in, pull the permit history before the adjuster’s visit. A claimant alleging storm damage to a 3-year-old roof has a different claim than one alleging damage to a 25-year-old roof. Permit records provide an independent verification of condition at the time of the event.
A practical example
Take a property in Miami-Dade County. A homeowner files a claim for HVAC failure in August. The insurer’s records show the HVAC was installed with the house in 1963, 63 years ago. The claim seems plausible, and the reserve is set accordingly.
A permit check shows an HVAC permit issued in January 2026 for a $35,000 system replacement. The unit is 8 months old, not 63 years old. The failure cause, the reserve, and the likely outcome of that claim are entirely different than what the insurer assumed.
That permit data was available in the Kukun API within 8 days of issuance. It was sitting there, accessible, the entire time the policy was being written and renewed.
Integrating permit data into underwriting systems
The Kukun API is designed for integration into existing underwriting workflows. A single API call to the permits endpoint returns the full permit history for any U.S. address (normalized labels, permit dates, costs, contractor records, and timeline data) alongside property context.
Geographic queries (ZIP, city, county) let portfolio teams pull permit activity across their entire book at scale, not just individual address lookups.
For carriers building rule-based underwriting engines: the normalized label vocabulary (roof, HVAC, electrical, plumbing, etc.) maps cleanly to underwriting criteria without custom parsing.
For carriers using ML-based risk models: the permit timeline data, cost fields, and contractor identity fields provide structured features that improve model performance on condition-related risks.
The cost of not checking
The argument for building permit verification into underwriting is ultimately an adverse selection argument. The policies with the highest loss probability are disproportionately the ones with the largest gap between stated condition and actual condition. Permit data closes that gap.
Carriers that verify at issuance and renewal price more accurately, reserve more accurately, and attract better risks. Those that don’t are selected against by the market.
→ Get started with the Kukun Permits API at mykukun.com/developers Free tier available · 5,600+ sources · 8-day median data lag