Extract loss runs to structured JSON
Loss runs are insurer-produced claim summaries used in quoting, renewals, and program reviews. The layout varies by carrier, often spanning multiple pages of claim tables. Sensible converts these into consistent JSON for underwriting, analytics, and broker workflows.

Why ACORD forms break standard OCR
Checkboxes, bundled applications, and legacy versions challenge general-purpose parsers.

We accurately distinguish between "X", "Checkmark", and empty boxes for fields like Additional Insured and Waiver of Subrogation.

Commercial submissions often combine ACORD 125, 126, and 140 in one PDF. We split and parse them individually.

Layouts shift slightly between revision years (e.g. 2010 vs 2016). We automatically detect the version and apply the correct map.
Fields we extract
Extract any data you need from loss runs into your desired output schema
Policy number, insured name, effective/expiration dates, carrier, line of business
Claim number, date of loss (DOL), cause, status (open/closed), paid, reserve, total incurred, coverage, location
Claim count, open count, paid total, reserve total, incurred total, frequency, severity
Travelers carrier format with per-occurrence claim detail and incurred totals.
Standard multi-page loss run format from The Hartford with claim tables and policy summaries.
Liberty Mutual format covering Workers Comp General Liability and Auto lines.
Zurich carrier loss run with large deductible and self-insured retention detail.
Chubb loss history report with open and closed claims, reserves, and payments.
AIG format spanning commercial and specialty insurance lines.
Supported Loss Runs
Sensible can support any carrier's loss run, some of which can be found in Sensible's template library. Any loss run format can be custom built within a couple of hours.
Policy number, insured name, effective/expiration dates, carrier, line of business
Claim number, date of loss (DOL), cause, status (open/closed), paid, reserve, total incurred, coverage, location



Common Questions
Specific details about our ACORD parsing engine.
Yes. Sensible processes loss runs of any length. Claim tables that span multiple pages are stitched together into a single structured output.
Sensible extracts totals when they appear on the document. You can also compute claim count, open count, paid total, reserve total, incurred total, frequency, and severity from the structured claim data.
Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.
Sensible extracts policy number, insured name, effective dates, carrier, line of business, claim number, date of loss, cause, status, paid amounts, reserves, total incurred, and aggregate totals.
Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.
Sensible processes loss runs from any carrier. Pre-built templates cover major carriers including Hartford, Travelers, Liberty Mutual, Chubb, and AIG. Custom carrier formats can be configured in hours.
Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.
Documents are deleted after 30 days by default. You can configure shorter retention periods or request immediate deletion via API.
Yes. Sensible offers a free tier with 50 documents per month. 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 PDF, PNG, JPG, and TIFF files. PDFs can be native or scanned.
Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence scoring.
Most documents process in 2 to 10 seconds depending on complexity and page count.
