Extract insurance quotes to structured JSON

Insurance quotes outline coverage offered, at what price, and under what terms. Formats vary by carrier, line of business, and distribution channel. Sensible turns quote documents into structured JSON for comparative rating, quote-to-bind workflows, and proposal management.

Why insurance quotes challenge extraction tools

No standard format exists. Quotes mix narrative text with coverage tables, requiring hybrid parsing.

Carrier Format Diversity

Every carrier and broker formats quotes their own way: table-heavy system outputs, narrative proposals, or PDF exports from rating engines. LLM parsing handles the variation; SenseML rules guarantee your output schema stays consistent.

Multi-Line Coverage Tables

Commercial package quotes list coverages across multiple lines, each with sub-limits, SIRs, deductibles, and endorsements. The extraction config captures the full hierarchical structure with line-level premiums.

Proposal vs. System Output

Broker proposals bury premium data in narrative paragraphs. Carrier system outputs present it in tables. Sensible processes both formats and normalizes them into the same JSON structure for downstream comparison.

Fields we extract

Default fields cover common quoting workflows. Adjust the schema to match your comparative rating system.

Quote summary

Named insured, effective/expiration dates, quoting carrier, producer, quote number, total premium, payment plan options

Coverage lines

Coverage type, limit, deductible, premium, included endorsements, optional coverages, exclusions

Conditions and terms

Binding requirements, subjectivities, loss control recommendations, minimum premium, cancellation provisions, audit provisions


{ /* SenseML: insurance quote extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{
// Quoting carrier name
"id": "carrier",
"description": "carrier name, quoting carrier, insurance company"
},
{
// Total quoted premium
"id": "total_premium",
"description": "total premium, quoted premium, annual premium",
"type": { "id": "currency" }
},
{
// Per-occurrence limit
"id": "each_occurrence_limit",
"description": "each occurrence limit, per occurrence, occurrence limit",
"type": { "id": "currency" }
},
{
// Effective date of the quoted policy
"id": "effective_date",
"description": "effective date, proposed effective date",
"type": { "id": "date" }
}
// Additional fields for deductible, coverage lines, subjectivities, etc.
]
}
}
]
}
Workers Comp Quote

Workers compensation quote with class code pricing and experience mod factors.

Professional Liability Quote

E&O or professional liability quote with claims-made coverage terms.

Cyber Insurance Quote

Cyber liability quote with coverage for data breach, ransomware, and business interruption.

Commercial Package Quote

Multi-line commercial insurance quote combining property, liability, and auto coverage.

Supported quote types

Pre-built configurations cover common quote formats. New carrier or broker layouts map to your schema quickly. SenseML extraction logic is explicit and version-controlled.

By line

Commercial package, general liability, workers compensation, commercial auto, cyber, professional liability, property, umbrella

By format

Carrier system output, broker proposals, indication letters, binder quotes, renewal quotes

Trusted by operations and engineering teams at

Common Questions

Answers about quote format support and comparative rating integration.

What premium data does Sensible extract from quotes?

Sensible captures total premium, per-coverage premium, payment plans, installment amounts, taxes and fees, and any discounts or surcharges listed on the quote.

Can I use Sensible to compare quotes across carriers?

Yes. Sensible outputs quotes in a consistent JSON schema regardless of carrier. You can programmatically compare coverages, limits, deductibles, and premiums across multiple quotes.

Can Sensible handle quotes from different carriers?

Yes. Insurance quotes vary by carrier and line of business. Sensible extracts quote details regardless of format, including premium breakdowns, coverage terms, and conditions.

Do you support webhooks?

Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.

Does Sensible support human review?

Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.

What security certifications does Sensible have?

Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.

How long is document data retained?

Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.

Is there a free trial?

Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.

How is pricing structured?

Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.

How do I integrate with Sensible?

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.

What file formats does Sensible support?

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.

How accurate is the extraction?

Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.

How fast is document processing?

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.