Extracting Property Details From a Homeowners Insurance Policy
10 min read · updated August 11, 2026
“How much is the house insured for?” has at least four answers on a homeowners declarations page, and they are different numbers for different things.
The lettered coverages are separate limits
Homeowners policies in the US market are largely built on standard forms published by ISO, and those forms organise coverage under letters. In the widely used special form, Coverage A is the dwelling, Coverage B other structures on the premises, Coverage C personal property, Coverage D loss of use, Coverage E personal liability and Coverage F medical payments to others. Carriers file their own variations, and some rename the sections, but the lettering is stable enough that it is worth extracting the letter as well as the label.
The distinction that gets flattened most often is A against C. The dwelling limit insures the structure; the personal property limit insures contents; they are different amounts covering different losses, and a schema with a single coverage_amount field forces a choice that discards half the document. The same applies to B, which covers detached structures such as a garage or fence, and to D, which pays additional living expenses while the dwelling is uninhabitable and is sometimes stated as a period of time rather than an amount.
Extract one record per coverage: letter, label as printed, limit or limit expression, and the basis of settlement where stated. That last field matters as much as the number. A Coverage C limit settled on an actual cash value basis and one settled on replacement cost are not comparable amounts, and the same is true of a Coverage A limit with an extended or guaranteed replacement cost endorsement attached, which can pay above the stated limit by a defined percentage.
Limits printed only as a percentage
Coverages B, C and D are frequently not printed as dollar figures at all. The declarations page shows “10% of Coverage A” or “50% of Coverage A”, because the form derives them from the dwelling limit. So the extraction hits a field that is genuinely an expression, and the same problem as a liability cap expressed as a multiple of fees: store the expression, evaluate it, and keep both.
Worked, with an assumed Coverage A of $420,000 and percentages assumed from a hypothetical dec page:
Coverage A dwelling 420,000 (stated) Coverage B other structures 10% of A = 42,000 (derived) Coverage C personal property 50% of A = 210,000 (derived) Coverage D loss of use 30% of A = 126,000 (derived)
Emit each derived limit with source: "derived", the percentage, and the base coverage it was derived from. Two things follow. If the Coverage A limit is later corrected — and it is, by inflation guard endorsements that increase it at renewal — every derived limit recomputes rather than going stale. And a reviewer can see at a glance that a number was computed by your pipeline rather than read off the page, which is the difference between an auditable extraction and a plausible one — the storage side of that is an extraction field audit trail.
Do not assume the percentages. They vary by form, by carrier and by endorsement, and a policy may raise Coverage C to 70% of A by endorsement while leaving the base form language intact. Extract the stated percentage; where the page states no percentage and no dollar figure, the correct output is a pointer to the form, not a default.
Deductibles that are percentages too
A homeowners policy commonly carries more than one deductible, and at least one of them may be a percentage of Coverage A rather than a flat amount — which means the same base feeds both a limit and a deductible, and a misread Coverage A propagates into both.
The pattern to expect is a flat all-other-perils deductible plus a separate percentage deductible for wind and hail, or for hurricane, or for earthquake where that coverage is endorsed on. The percentage deductible usually has a trigger condition attached: it applies only to losses caused by a named peril, and in some coastal states only when a storm has been named or a warning issued, with the trigger defined in a separate endorsement rather than on the dec page.
So the deductible record needs a type, an amount or percentage, a base if it is a percentage, the perils it applies to, and a reference to the endorsement defining the trigger. Reducing all of that to a single deductible integer is the most common lossy simplification in property data, and it produces claim estimates that are wrong by thousands on exactly the losses that matter most.
The property characteristics
Alongside the coverage grid, the declarations page and its attached schedules carry the physical description of the risk: construction type (frame, masonry, masonry veneer), year built, square footage, number of storeys, roof covering material and roof age, foundation type, heating type, occupancy (owner-occupied, tenant-occupied, seasonal), protection class, and distances to the nearest hydrant and fire station.
These are rating inputs, so they are abbreviated aggressively and inconsistently. Protection class arrives as a number, sometimes with a split designation. Distance to hydrant may be in feet, distance to station in miles, on the same line. Roof age may be an age in years or a year of installation, and the two are trivially distinguishable by magnitude but only if you check — a value of 12 is an age and a value of 2012 is a year, and a schema typed as an integer will happily hold either.
Extract units explicitly wherever a bare number appears with a unit in the column header, because the header will not survive into a per-row record unless you put it there. Endorsements attached to the policy are listed by form number and edition date, usually as a bare list, and that list is worth extracting verbatim even when you cannot resolve what each form does — it is the index to everything the declarations page modified.
Where it goes wrong
- Scheduled personal property is a separate schedule. Jewellery, fine art and firearms scheduled individually have their own limits and often their own deductible treatment, and they sit outside the Coverage C limit rather than inside it.
- Ordinance or law coverage is a percentage of A as well, adding a fourth derived value with the same base.
- Renewal declarations look like new ones. The document may show prior-term figures alongside current ones for comparison; extracting the wrong column produces last year’s policy.
- Mortgagee and additional interest blocks hold party names that are not the insured, the same three-role confusion as on a certificate of insurance.
- The address on the dec page may not be the insured location. A mailing address and the described location can differ, and only the labels distinguish them.