ParseParse
Use CasesDocsAPI Reference
Log InGet Started Free
Menu
  • How it works
  • Use Cases
  • Docs
  • API Reference
  • Contact
REST API · Packing List to JSON · 100 free pages/mo

Packing List Extraction API

Turn packing lists into structured JSON. Packing list and order numbers, shipper and consignee, every carton with its weight and dimensions, and every SKU with quantity and country of origin - typed and ready for receiving, inventory, or a customs filing.

Get an API Key FreeRead the Docs

Cartons and SKUs as Separate Arrays

Send the packing list and a schema. Carton weights and dimensions come back in one array, item lines in another, tied together by package ID so you can see what is in which box.

request.sh
curl -X POST \
  https://api-parse.conversiontools.io/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@packing-list.pdf" \
  -F 'schema={
    "packing_list_number": "string",
    "order_reference": "string",
    "shipper": "string",
    "consignee": "string",
    "ship_date": "string",
    "packages": [{
      "package_id": "string",
      "type": "string",
      "gross_weight_kg": "number",
      "net_weight_kg": "number",
      "dimensions_cm": "string"
    }],
    "items": [{
      "sku": "string",
      "description": "string",
      "quantity": "number",
      "unit": "string",
      "package_id": "string",
      "country_of_origin": "string"
    }],
    "total_packages": "number",
    "total_gross_weight_kg": "number"
  }'
response.json
{
  "status": "completed",
  "pages": 2,
  "data": {
    "packing_list_number": "PL-2026-0731",
    "order_reference": "PO-88450",
    "shipper": "Kestrel Manufacturing",
    "consignee": "Alder Bay Distribution",
    "ship_date": "2026-07-31",
    "packages": [
      {
        "package_id": "CTN-001",
        "type": "Carton",
        "gross_weight_kg": 18.4,
        "net_weight_kg": 16.9,
        "dimensions_cm": "60 x 40 x 35"
      },
      {
        "package_id": "CTN-002",
        "type": "Carton",
        "gross_weight_kg": 22.1,
        "net_weight_kg": 20.3,
        "dimensions_cm": "60 x 40 x 45"
      }
    ],
    "items": [
      {
        "sku": "KM-4417-BLK",
        "description": "Hinge assembly, black",
        "quantity": 240,
        "unit": "pcs",
        "package_id": "CTN-001",
        "country_of_origin": "VN"
      },
      {
        "sku": "KM-4420-SLV",
        "description": "Hinge assembly, silver",
        "quantity": 180,
        "unit": "pcs",
        "package_id": "CTN-002",
        "country_of_origin": "VN"
      }
    ],
    "total_packages": 2,
    "total_gross_weight_kg": 40.5
  }
}

Built for Receiving and Customs

A packing list is two lists at once: what is inside the boxes, and what the boxes weigh. Receiving needs both.

SKU-level receiving

Every item line comes back with its SKU, description, quantity, and unit, so a receiving system can check the shipment against the purchase order line by line instead of by carton count.

Carton weights and dimensions

Packages are extracted as their own array with gross weight, net weight, and dimensions - the numbers a freight audit or a dimensional-weight check actually runs on.

Country of origin per item

Customs work turns on origin at the item level. Where the document states it, it comes back attached to the right SKU instead of sitting in a footnote at the bottom of the page.

Frequently Asked Questions

Can it tell me which carton each item is packed in?

Yes. Keep package_id in both the packages array and the items array and the two come back linked, so on a mixed pallet you can see exactly which SKUs are in which box.

What happens when the item table runs across several pages?

Tables that continue over page breaks are returned as one continuous array. A twelve-page packing list gives you a single items list, not twelve fragments to stitch together.

Does it handle a combined commercial invoice and packing list?

Yes. Many shippers issue one document carrying both. Put the fields you want from each part into a single schema and they all come back in one response, with no need to split the file first.

Are weights and quantities returned as numbers?

Yes. Declare them as numbers in your schema and you get numbers, not strings, so totals can be summed and cross-checked against total_gross_weight_kg without any cleanup. The unit stays in its own field.

How is shipment data handled?

Uploaded documents are deleted automatically within 24 hours. Extracted data is encrypted in transit and at rest and is never used to train models.

More document extraction use cases

The same schema-driven API works across every document type. Define a schema once, extract from thousands of files.

Data Extraction API

Extract structured JSON from any document with custom schemas.

PDF Parsing API

Parse any PDF into structured JSON, scanned or digital.

Invoice extraction

Vendor, line items, totals, tax, and dates from invoices.

Receipt parsing

Store, items, totals, and payment method from receipts.

Purchase order extraction

PO number, vendor, buyer, and SKU-level line items.

Bank statement to JSON

Transactions, running balances, and dates for reconciliation.

Tax form extraction

Box-level data from W-2, 1099, and other tax forms.

Contract data extraction

Parties, dates, governing law, and key clauses.

Bill of lading extraction

Carrier, parties, ports, containers, and cargo.

Credit note extraction

Credit amounts matched back to the original invoice.

Remittance advice extraction

Payments split across invoices for cash application.

Utility bill extraction

Meter readings, charges, and totals from any provider.

Financial statement extraction

Line items and periods from balance sheets and reports.

Quotation extraction

Vendor quotes in one shape so you can compare them.

Payslip extraction

Earnings, deductions, taxes, and year-to-date totals.

Resume parsing

Experience, education, and skills from any CV layout.

ID document extraction

Fields and MRZ from passports and ID cards.

Lease agreement extraction

Rent, term, deposits, and renewal deadlines.

Insurance claim extraction

Claim and policy numbers, dates, and claimed amounts.

Delivery note extraction

Ordered versus delivered quantities and sign-off.

Speed Up Warehouse Receiving

Free tier covers your first 100 pages a month. No credit card to start.

Get Started FreeAPI Reference
Parse

AI-powered document data extraction

Conversion ToolsPowered by Conversion Tools

Use cases

  • Data Extraction API
  • PDF Parsing API
  • Invoice extraction
  • Receipt parsing
  • Purchase order extraction
  • Bank statement to JSON
  • Tax form extraction
  • Contract data extraction
  • Bill of lading extraction

Developers

  • How it works
  • Quickstart
  • Documentation
  • API Reference
  • n8n integration
  • Blog

Account

  • Log in
  • Contact
  • Security
  • Privacy Policy
  • Terms of Service
  • Refund Policy
© 2026 Conversion Tools