Extract bills of lading to structured JSON
Bills of lading document what is being shipped, by whom, and to where. They serve as a receipt, a contract of carriage, and sometimes a document of title. Sensible extracts BOL data into validated JSON for shipment tracking, freight audit, and trade compliance.

Why bills of lading challenge automated extraction
Carrier-specific formats, dense cargo tables, and domestic vs. international standards create challenges.

Straight BOLs, ocean BOLs, and multimodal BOLs follow different conventions. Sensible detects the variant and routes to the correct config.

BOLs list handling units, freight class, weight, and NMFC codes in compact tables. Sensible extracts each cargo line with full detail.

BOLs reference multiple parties and numbers: PRO, PO, container, and BOL number. Sensible maps each to the correct output field.
Fields we extract
Extract any data you need from bills of lading into your desired output schema
Shipper name/address, consignee name/address, carrier name, notify party, third-party billing, broker name
Handling units, package type, weight, dimensions, freight class, NMFC number, commodity description, declared value, hazmat indicator
BOL number, PRO number, PO number, ship date, delivery date, freight terms (prepaid/collect), equipment type, seal number
Combined transport document covering multiple modes (truck, rail, ocean, air).
Non-negotiable BOL for domestic ground freight shipments.
Master or house ocean BOL for containerized international freight.
Supported BOL types
Common BOL formats can be found in Sensible's logistics template library. Domestic, ocean, and multimodal variants can be custom configured to match your freight workflows.
Straight BOL (non-negotiable), order BOL (negotiable), uniform straight BOL, short form BOL
Master ocean BOL, house ocean BOL, multimodal BOL, through BOL, combined transport document



Common Questions
Details on bill of lading extraction for freight.
Yes. For ocean BOLs, Sensible extracts container numbers, seal numbers, vessel name, voyage number, port of loading, port of discharge, and place of delivery.
Yes. Sensible extracts shipper, consignee, carrier, notify party, and third-party billing information including company names, addresses, and contact details.
Yes. Sensible captures handling units, package type, weight, dimensions, freight class, NMFC number, commodity description, and declared value for each line item on the BOL.
Sensible extracts shipper, consignee, carrier, BOL number, PRO number, PO number, ship date, delivery date, freight terms, and special instructions.
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.
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.
