Insurance
Insurance policies contain the full terms of coverage: insuring agreements, conditions, exclusions, and endorsement modifications. These documents run dozens to hundreds of pages. Use Sensible to get structured policy data for administration, compliance review, and coverage analysis.
Validated JSON
Schema-enforced output; every field matches your contract
Source coordinates
Every value links back to page + bounding box for audit
Per-document pricing
Predictable cost. No token-volatility surprises
Trusted by teams turning documents into production data






Policies layer long legal language, nested coverage sections, and endorsements that rewrite the terms above them. We track every form number and edition and return the coverage as structured, linked fields.
01
Declarations, insuring agreements, conditions, definitions, exclusions: each section requires different extraction logic. Section boundaries are identified automatically, with the appropriate field configuration applied to each.
02
Each endorsement modifies, adds, or restricts base coverage with its own form number and effective date. Our hybrid approach reads the endorsement language with LLMs while SenseML rules enforce structured output for each modification.
03
The binding legal content depends on which edition of a form is attached. Form numbers like "CG 00 01 04 13" appear in small, inconsistent locations: headers, footers, or margins. Sensible extracts each form number and edition date accurately, because the wrong edition means the wrong coverage terms.
Managed services
Solutions engineers handle plan, build, deploy, and adjust on your behalf. You see clean JSON in your API response. Same engine as self-serve, just with the configuration work outsourced.
What's included
01Plan.Engineers review your samples and pick the right method
02Build.SenseML configs written from your samples
03Deploy.Same engine as self-serve, ready for production
04Adjust.We update configs when formats shift or new edge cases appear
05Integrate.Help with custom integration into your downstream systems
Every policy is different, so we build the config around your exact schema rather than a fixed list. These are the fields insurance teams request most; we map whatever else your policy-management system needs.
01
Policy terms
Named insured, policy number, effective/expiration dates, policy form, territory, classification, premium basis
02
Coverage and limits
Insuring agreement type, per-occurrence limit, aggregate limit, deductible/SIR, sublimits, coverage triggers, retroactive date
03
Endorsements
Endorsement form number, effective date, description, premium impact, additional insured provisions, waiver of subrogation
config.json
SenseML
{ /* SenseML: policy and endorsement extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "policy_number", "description": "policy number, policy #" },
{ "id": "named_insured", "description": "named insured, policyholder, insured name" },
{ "id": "endorsement_form", "description": "endorsement form number, endorsement #, form number" },
{ "id": "coverage_basis", "description": "coverage basis, occurrence, claims-made, claims made" }
// + more fields, mapped to your schema
]
}
}
]
}Sensible processes policies across all commercial and personal lines. SenseML rules adapt to carrier-specific language, so new policy forms build on existing configurations rather than starting from scratch.
CGL, commercial property, workers comp, commercial auto, umbrella/excess, professional liability, cyber, D&O, EPL
Homeowners, personal auto, renters, umbrella, flood, earthquake
Answers about policy extraction, endorsement tracking, and coverage form handling.
Yes. By default Sensible pulls endorsement form numbers, effective dates, description of changes, and premium adjustments as separate items linked to the base policy. The fields are defined in configuration, so you can capture additional endorsement detail and shape how each change ties back to the policy.
Sensible extracts renewal terms, premium changes, and coverage modifications. You can compare renewal data against the prior term programmatically.
Sensible processes policies with multiple coverage forms, conditions, and exclusions. Each section is identified and extracted with its specific fields and terms.
Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.
Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.
Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.
Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.
Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.
Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.
Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.
Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.
Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.
Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.
Start free
Free 14-day trial. No credit card required. Start extracting in minutes.