Insurance
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.
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






Loss runs are one of the hardest documents to extract at scale: carrier layouts differ, claim tables run across pages, and scan quality is all over the map. We ship configurations for the formats underwriters see most and handle the rest with hybrid extraction.
01
Every carrier formats loss runs differently: different column structures, different claim table layouts, different page conventions. One carrier puts totals on the first page; another buries them at the end. Each layout requires its own extraction configuration, and SenseML makes each one repeatable.
02
A single loss run can span 50+ pages. Claim rows must be stitched across page breaks without duplication or omission. Sensible tracks table continuations and merges them into a single structured output.
03
Some carriers deliver clean PDFs. Others send scanned images, Excel-to-PDF conversions, or faxed copies with misaligned columns. Our hybrid engine combines LLM parsing for degraded inputs with deterministic rules that enforce output consistency.
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 loss run is different, so we build the config around your exact schema rather than a fixed list. These are the fields underwriters request most; we map whatever else your underwriting pipeline needs.
01
Policy headers
Policy number, insured name, effective/expiration dates, carrier, line of business
02
Claim detail
Claim number, date of loss (DOL), cause, status (open/closed), paid, reserve, total incurred, coverage, location
03
Totals
Claim count, open count, paid total, reserve total, incurred total, frequency, severity
config.json
SenseML
{ /* Sensible uses JSON5 to support in-line comments */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "claim_number", "description": "claim number, claim #, claim ID" },
{ "id": "date_of_loss", "description": "date of loss, DOL, loss date" },
{ "id": "policy_number", "description": "policy number, policy #" },
{ "id": "total_incurred", "description": "total incurred, incurred amount" }
// + more fields, mapped to your schema
]
}
}
]
}Sensible processes loss runs from any carrier. Pre-built configurations ship in the template library, and new carrier formats can be configured in hours using SenseML's hybrid extraction approach.
Hartford, Travelers, Liberty Mutual, Chubb, AIG, Zurich, CNA, and more
Regional carriers, MGAs, and specialty markets. Any loss run format can be configured
Answers about loss run parsing, carrier support, and multi-page claim table handling.
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.
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 come back by default. Loss runs vary by carrier, so these are the common fields, not the limit. What gets extracted is defined in configuration and shaped to your underwriting schema.
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 loss run templates are available in the configuration library, and 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.
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.