Bill Of Lading Scraper — No Login, $1.4/1k avatar

Bill Of Lading Scraper — No Login, $1.4/1k

Pricing

from $1.40 / 1,000 results

Go to Apify Store
Bill Of Lading Scraper — No Login, $1.4/1k

Bill Of Lading Scraper — No Login, $1.4/1k

Bill of Lading - US Customs Import/Export Data Scraper. No login or cookies. MCP-ready for AI agents. $1.4 per 1,000 records.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Fortuitous Pirate

Fortuitous Pirate

Maintained by Community

Actor stats

1

Bookmarked

57

Total users

11

Monthly active users

3 days ago

Last modified

Share

Bill of Lading - US Customs Import Data Scraper

Current US customs import records (ocean bills of lading) by importer, overseas supplier, product keyword or HS code. Each record names the shipper and consignee, the cargo, weight, container count, bill of lading numbers and arrival date.

Data source: US CBP records via ImportYeti, current to within ~10 days; the previous source (Port Examiner) stopped updating in 2016. Version 2 of this actor was repointed to the live source on 2026-09-28. Input and output field names are unchanged so existing tasks and integrations keep working; see What changed for the fields that are now null.

searchTypesearchQueryWhat you get
consignee (default)US importer name, e.g. Walmart, Home Depot, TeslaThe importer's most recent shipments with the overseas shipper of each one
shipperOverseas supplier name, e.g. Foxconn, Maersk LogisticsThe supplier's most recent shipments with the US consignee of each one
cargoProduct keyword (lithium batteries, solar panels, coffee) or HS code (8507, 850760, 0901.12)Recent shipments of that product with the overseas shipper. The source does not show the importer on product pages, so consignee* fields are null for cargo searches
marksCarton marksNot published by the source; treated as a cargo keyword search

Names are matched against the source's company index and the best name matches with the most shipments are read, up to maxPages of them. Product keywords are mapped to matching 6-digit HS codes and only shipments whose cargo description contains the keyword are returned. Each source page holds the 50 most recent shipments, so a run returns at most 50 x maxPages records; use dateFrom / dateTo to narrow the window.

Input

ParameterTypeDefaultDescription
searchTypestringconsigneeshipper, consignee, cargo or marks
searchQuerystringWalmartCompany name, product keyword or HS code
startUrlsarray[]ImportYeti /company/..., /supplier/... or /hs-codes/... URLs. Legacy Port Examiner search URLs are converted. Overrides searchType/searchQuery
maxItemsinteger10Maximum records to return
maxPagesinteger10Maximum matching companies, suppliers or HS codes to read (one proxied request each)
dateFromstringKeep shipments arriving on or after this date (YYYY-MM-DD)
dateTostringKeep shipments arriving on or before this date (YYYY-MM-DD)
proxyConfigurationobjectApify residentialKeep residential proxy on; the source hides data after 25 pageviews per IP and blocks datacenter IPs

Output

{
"url": "https://www.importyeti.com/us-bill-of-ladings/SXCOFHPH2608512A",
"billOfLadingNumber": "SXCOFHPH2608512A",
"masterBillOfLadingNumber": "CMDUSGN3368228",
"billType": "house",
"shipperName": "Kayo Battery Viet Nam Limited Com",
"shipperAddress": "Rbf-G/H Building Rbf Area No 108 Huu Nghi St Vsip Bac Ninh Dai Dong Commune Bac Ninh Vn",
"shipperCountry": "Vietnam",
"shipperPhone": null,
"shipperUrl": "https://www.importyeti.com/supplier/kayo-battery-viet-nam-com",
"consigneeName": "Wal Mart",
"consigneeAddress": "Bentonville, Ar 72716, Us",
"consigneeCountry": "United States",
"consigneePhone": null,
"consigneeUrl": "https://www.importyeti.com/company/wal-mart",
"notifyPartyName": null,
"notifyPartyAddress": null,
"notifyPartyPhone": null,
"vesselName": null,
"voyageNumber": null,
"placeOfReceipt": null,
"portOfLoading": null,
"portOfDischarge": null,
"placeOfDelivery": null,
"arrivalDate": "2026-09-16",
"shippingRoute": "Asia,Pacific",
"cargoDescription": "Rechargeable Lithium Ion Battery Pallet",
"hsCode": null,
"hsCodeDescription": null,
"numberOfPieces": "36 CTN",
"quantity": 36,
"quantityUnit": "CTN",
"grossWeight": "336 KG",
"grossWeightKg": 336,
"totalVolume": null,
"netWeight": null,
"declaredValue": null,
"estimatedFreightUsd": 8192.04,
"containerNumber": null,
"containerCount": 1,
"containers": null,
"searchType": "consignee",
"searchQuery": "Walmart",
"sourcePage": "https://www.importyeti.com/company/wal-mart",
"scrapedAt": "2026-09-28T21:00:00.000Z"
}

hsCode and hsCodeDescription are filled for cargo searches. numberOfPieces and grossWeight keep the legacy text format; quantity, quantityUnit and grossWeightKg carry the same values as numbers.

What changed in version 2

The previous data source, Port Examiner, is a frozen snapshot: its records end in July 2016 and it has no date filter, so earlier runs of this actor returned shipments from 2012 to 2016. Since 2026-09-28 records come from US Customs and Border Protection manifests as republished by ImportYeti, which is updated daily and typically lists a shipment 5 to 10 days after arrival.

Fields the new source does not publish without a paid login are kept in the output for compatibility but are always null: shipperPhone, consigneePhone, notifyPartyName, notifyPartyAddress, notifyPartyPhone, vesselName, voyageNumber, placeOfReceipt, portOfLoading, portOfDischarge, placeOfDelivery, totalVolume, netWeight, declaredValue, containerNumber, containers. New fields: masterBillOfLadingNumber, billType, shipperCountry, shipperUrl, consigneeCountry, consigneeUrl, shippingRoute, hsCode, hsCodeDescription, quantity, quantityUnit, grossWeightKg, estimatedFreightUsd, containerCount, searchType, searchQuery, sourcePage.

Other differences: results are the 50 most recent shipments per matching company, supplier or HS code (there is no deep pagination); Port Examiner detail URLs in startUrls are no longer supported, Port Examiner search URLs are converted automatically.

Use cases

  • Supplier discovery: search a competitor as consignee and read which factories ship to them, what, and how much.
  • Lead generation: search a product keyword or HS code to list overseas suppliers actively shipping that product to the US.
  • Customer discovery: search a factory as shipper to see which US companies receive its goods.
  • Supply-chain monitoring: run on a schedule with dateFrom set to the last run date to track new arrivals.

Pricing

Pay per event: $0.05 per run plus $0.005 per record ($5 per 1,000 records).

How to run

curl -X POST "https://api.apify.com/v2/acts/fortuitous_pirate~bill-of-lading-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchType": "cargo", "searchQuery": "lithium batteries", "maxItems": 50}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("fortuitous_pirate/bill-of-lading-scraper").call(
run_input={"searchType": "consignee", "searchQuery": "Home Depot", "maxItems": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["arrivalDate"], item["shipperName"], item["cargoDescription"])