Extract data from insurance policies

Drop an insurance policy PDF — auto, home, commercial, health, life — and get the structured fields a broker or claims team actually needs: insured, carrier, coverage limits, premium, effective dates, and the exclusions list.

Drop a PDF or image here, or browse
PDF or image · up to 20 MB
Processed in-flight — never stored on our servers.

What should we pull from this insurance policy?

Or pick specific fields

Or describe it yourself

Why this matters

Policies vary wildly by carrier and line of business: declaration pages, endorsements, exclusions sit in different places per document. ExtractFox reads end-to-end and returns the same stable schema regardless of carrier, so a brokerage's policy library becomes a queryable dataset. Renewal season means someone opens each PDF in a folder of 2,000 policies to check limits, premium, and named insureds — a task that doesn't scale when three carriers redesign their dec pages in the same quarter. COI requests need additional insured names and policy numbers pulled from 30-page commercial policies, and claims adjusters need exclusion lists fast but they're scattered across endorsements on pages 15–40.

How it works

  1. Step 1
    Upload the policy PDF

    Declarations page only, or the full policy with endorsements. Multi-page works.

  2. Step 2
    Pick the policy type

    Auto, homeowners, commercial general liability, professional liability, health, life — or describe the fields you need.

  3. Step 3
    Export to your AMS or Excel

    JSON for AMS imports, .xlsx for a brokerage spreadsheet.

Common use cases

Auto policies — vehicles, drivers, coverage, limits, deductibles
Homeowners — dwelling, contents, liability, deductible
Commercial general liability — limits, exclusions, additional insureds
Professional liability / E&O — retroactive date, coverage trigger
Health insurance — plan, deductible, OOP max, network
Life insurance — death benefit, term, beneficiaries
Renewal comparison — diff coverage between expiring and renewing policy
Certificate of insurance (COI) prep — pull policy number, effective dates, and additional insureds for ACORD forms
Renewal quoting — extract current limits and premium from expiring policies to comparison-shop carriers

Sample output

Example: commercial general liability policy

policy_numberCGL-2026-000482
carrierFirst Mutual Insurance Co.
named_insuredAcme Corp.
policy_typeCommercial General Liability
effective_date2026-01-01
expiration_date2027-01-01
premium_total18420
currencyUSD
coverage{"each_occurrence":1000000,"general_aggregate":2000000,"products_completed_ops_aggregate":2000000,"personal_advertising_injury":1000000}
deductibles{"per_claim":5000}
additional_insureds
  • Beta Industries Inc.
key_exclusions
  • Asbestos
  • Lead
  • Cyber liability — see endorsement CYB-001

Frequently asked questions

How do I extract data from an insurance policy PDF?+

Upload the policy here, pick the policy type or describe the fields you need, then download as JSON or Excel. Coverage limits come back as numbers, dates in ISO format.

Does it parse endorsements and exclusions?+

Yes. Endorsements are returned as a separate list with name and effect, and exclusions are extracted as their own field. Use the description box to ask for verbatim exclusion text if you need it.

Will it work for policies from any carrier?+

Yes. There's no per-carrier template — the model recognizes the structure of insurance policies generally. Tested on major US, UK, and EU carriers across personal and commercial lines.

Can I diff two policy versions to see what changed?+

Run extraction on both PDFs and diff the JSON. Coverage limits, deductibles, exclusions, and named insureds come back in stable fields, so the diff highlights real changes — not formatting noise.

Is policyholder data safe to upload?+

Files are processed by ExtractFox's secure extraction engine and are not stored by ExtractFox. For PHI (health insurance) or other regulated data, contact us for a HIPAA-compliant or self-hosted deployment.

Can it extract data from a declarations page only, skipping the full policy booklet?+

Yes. Upload just the dec page — the model returns policy number, named insured, limits, premium, and effective dates without needing the full policy. For exclusions buried in endorsements, upload the complete policy or attach endorsement PDFs separately.

Does it handle umbrella and excess policies with underlying schedules?+

Yes. Umbrella and excess policies parse into the same schema — underlying policy schedules and follow-form provisions are captured in coverage limits and endorsements. Use the Endorsements sub-extraction if you need each underlying policy listed separately.

Compare to alternatives

Related extractors

Used by

From the blog