BOL (Bill of Lading) OCR API

Transform complex Bills of Lading into structured data with AI-powered extraction of shipping details, cargo descriptions, and consignment information - enabling automated 3-way matching with purchase orders and invoices while streamlining logistics documentation across sea, air, and land freight formats.

Get Started for Free Free Demo
BOL (Bill of Lading) OCR API

What is BOL (Bill of Lading) OCR?

Bill of lading OCR (Optical Character Recognition) is a technology that enables the automatic extraction of data from bill of lading documents. A bill of lading is a crucial document in international trade, and OCR technology makes it easier for businesses to extract valuable information, such as the consignor, consignee, and product descriptions, from these documents. With bill of lading OCR, businesses can streamline their operations, reduce manual errors, and improve their supply chain efficiency.

Bill of lading OCR also improves data accuracy by eliminating errors that may occur during manual data entry. Businesses can easily manage large volumes of shipping documents, track their shipments in real-time, and improve their overall supply chain management. Additionally, businesses can reduce the risk of fraud, improve their compliance with trade regulations, and enable more efficient AP workflows.

Request: BOL (Bill of Lading) Data Extraction
import requests
url = "https://api.veryfi.com/api/v8/partner/documents"
headers = {
'CLIENT-ID': '<API_KEY_VALUE>',
'AUTHORIZATION': '<API_KEY_VALUE>'
}
payload = {'file_url': 'https://cdn…'}
response = requests.post(url, headers=headers, data=payload)
print(response.json())
Response: Structured JSON
{
“shipper”: {
“name”: “Example Pick Up Company”,
“address”: “123 Pick Up Street, Vancouver, BCV5K 0A4, Canada”,
“phone_number”: “(123) 456-7890”
},
“receiver”: {
“name”: “Example Delivery Company”,
“address”: “123 Delivery Street, Toronto, ONM1B 0A1, Canada”
},
“bol_number”: “21099992723”,
“carrier_name”: “EXAMPLE CARRIER”,
“date”: “September 13, 2021”,
“line_items”: [
{
“description”: “Example Goods”,
“type”: “Pallet”,
“quantity”: 1,
“weight”: “300 lb”,
“dimensions”: “48x40x48 in”
}
],
“gross_cargo_weight”: “300 Lbs”,
“container_number”: “MSKU1234567”,
“waybill_number”: “WB-2021-0913-001”
}
Support for over 50 fields 🚚

BOL (Bill of Lading) OCR API

Veryfi’s BOL (Bill of Lading) OCR API is easy and fast to implement with just a few lines of code (as shown).

BOL (Bill of Lading) OCR API comes bundled with:
✓ Day-1 Ready Pre-Trained Purchase Order AI model,
✓ Free 🧰 SDKs to help you launch faster in your preferred programming language and
✓ Easy to use no-code API 🗔 Portal where you can store and edit your documents, fine-tune the ML model and more.

Need help? email [email protected]

Bill of Lading – Fields Supported

  • Basic Information
    • BOL Number: 21099992723
    • Carrier Name: EXAMPLE CARRIER
    • Date: September 13, 2021
    • Waybill Number: WB-2021-0913-001
    • Container Number: MSKU1234567
    • Incoterms: FOB Vancouver
  • Shipper Information
    • Name: Example Pick Up Company
    • Address: 123 Pick Up Street, Vancouver, BCV5K 0A4, Canada
    • Phone Number: (123) 456-7890
    • Port of Loading: Port of Vancouver
  • Receiver Information
    • Name: Example Delivery Company
    • Address: 123 Delivery Street, Toronto, ONM1B 0A1, Canada
    • Phone Number: (123) 456-7890
    • Port of Discharge: Port of Toronto
  • Cargo Details
    • Gross Cargo Weight: 300 Lbs
    • Net Cargo Weight: 295 Lbs
    • Line Items: Array of cargo items
    • • Type: Pallet
    • • Weight: 300 lb
    • • Quantity: 1
    • • Dimensions: 48x40x48 in
    • • Description: Example Goods
    • • Product ID: PID-2021-001
    • • Manufacturer Name: Example Manufacturing Inc.
  • Document Metadata
    • Document ID: 5990342
    • Created Date: 2025-05-01 18:57:35
    • Updated Date: 2025-05-01 18:57:35
    • External ID: BOL-2021-0913-001

Process your bills of lading in less time than it takes to read this.

But wait, there’s more…

  • 3-Way Matching

    Transform invoice-to-purchase-order matching into an automated process with AI-powered validation that compares unit prices, quantities, and line items – eliminating manual reconciliation and detecting discrepancies instantly.

  • Global Port Code Validation

    Automatically validate and standardize port codes (UNLOCODE) across all shipping documents, ensuring accuracy of origin, destination, and transshipment points while maintaining compliance with international shipping standards.

  • Line Item Categorization

    Convert free-text product descriptions into structured spend categories using machine learning classification – automatically mapping to UNSPSC, custom taxonomies, or internal category codes while maintaining consistency across your procurement lifecycle.

  • Duplicate PO Detection

    Automatically identify duplicate or similar purchase orders using AI-powered pattern matching – preventing double payments, catching redundant submissions, and flagging potential errors across order history in real-time. The system analyzes multiple data points including supplier details, line items, quantities, pricing, and delivery dates to catch duplicates even when documents appear different at first glance.

  • Specialized Fields

    – PO Number Format Validation (match custom enterprise numbering schemas)
    – Contract/Framework Agreement Reference Detection
    – Department/Cost Center Code Validation
    – Approved Vendor List Verification
    – Budget Code Matching
    – Delivery Terms (Incoterms) Extraction
    – Payment Terms Net Days Detection
    – Multi-Currency Line Items Support
    – Split Delivery Date Detection (per line item)
    – Required-By Date Validation
    – Requisitioner Information Extraction
    – Authorized Signatory Validation
    – Custom Fields Mapping (client-specific PO formats)
    – SKU/Part Number Standardization
    – Unit of Measure (UOM) Standardization
    – Blanket PO Detection and Processing
    – Change Order Version Control
    – Quote Reference Number Extraction