PowerQuery
GET

Search US import bills of lading

1 per 10 records

PowerQuery over US import shipment documents. Filter by company/supplier slug, product description, HS code, ports, and more. Supports boolean operators, wildcards, and ranges on indicated fields.

Parameters#

Query parameters

29 parameters
  • page_sizenumberoptionaldefault 10

    Number of returned results

  • offsetnumberoptionaldefault 0

    Results starting position

  • start_datestringoptionaldefault 01/01/2021
  • end_datestringoptionaldefault 08/31/2026
  • pagenumberoptional

    Page number (1-indexed). Takes precedence over offset.

  • companystringoptional

    Company identifier

  • supplierstringoptional

    Supplier identifier

  • product_descriptionstringoptional

    Supports boolean operators and wildcards

    AND / OR / NOTwildcards * ?
  • weightstringoptional

    Supports ranges

    ranges [a TO b]
  • teustringoptional

    Supports ranges

    ranges [a TO b]
  • company_total_shipmentsstringoptional

    Supports ranges

    ranges [a TO b]
  • supplier_total_shipmentsstringoptional

    Supports ranges

    ranges [a TO b]

fields, exclude, and format work the same way on every endpoint — Response shaping has worked examples.

Response#

A page of matching US import bills of lading.

Response shape
{
  "requestCost": 1,
  "creditsRemaining": 9998.5,
  "data": {
    "data": [
      {
        "bol_number": "CCLLMILS17011590",
        "bol_type": "H",
        "inbond_type": "61 - IT: Immediate Transportation",
        "master_bol_number": "NYKSMILT12616400",
        "has_master_data": true,
        "company_manifest_confidentiality": false,
        "supplier_manifest_confidentiality": false,
        "arrival_date": "08/21/2017"
        // …95 more fields
      }
    ],
    "totalCount": 59583
  },
  "executionTime": "224ms"
}

Rows are nested one level deeper

PowerQuery routes put the records at data.data — not at data. The total number of matches is on data.totalCount, which is the value you page against. Note that this key is named per route family (totalCount, totalCompanies, totalSuppliers, totalBrokers).

Top-level fields#

  • data an object holding the result rows (data.data) and the match total (data.totalCount)
  • requestCostData credits used for this call (0 if none)
  • creditsRemainingYour data credit balance after the call
  • executionTimeHow long the request took
  • totalCountTotal matching records, not just this page

Fields on each row in data.data#

FieldExample
103 fields
  • bol_numberstringCCLLMILS17011590
  • bol_typestringH

    Which filing this is: “R” for a regular (carrier-filed) bill, “H” for a house bill filed by a forwarder.

  • inbond_typestring61 - IT: Immediate Transportation
  • master_bol_numberstringNYKSMILT12616400

    The carrier-level bill this house bill rolls up to. House bills covering one master shipment share this value.

  • has_master_databooleantrue
  • company_manifest_confidentialitybooleanfalse
  • supplier_manifest_confidentialitybooleanfalse
  • arrival_datestring08/21/2017
  • company_first_shipment_datestring07/04/2015
  • supplier_first_shipment_datestring08/01/2015
  • lat, lon

  • lat, lon

Errors#

Failures come back as JSON with a statusCode and message. The ones worth handling here are 401 (bad or missing key), 403 (out of credits), and 404 (no such record). See all error responses.