Bill Of Lading Scraper — No Login, $1.4/1k
Pricing
from $1.40 / 1,000 results
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
Maintained by CommunityActor stats
1
Bookmarked
57
Total users
11
Monthly active users
3 days ago
Last modified
Categories
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.
What you can search
searchType | searchQuery | What you get |
|---|---|---|
consignee (default) | US importer name, e.g. Walmart, Home Depot, Tesla | The importer's most recent shipments with the overseas shipper of each one |
shipper | Overseas supplier name, e.g. Foxconn, Maersk Logistics | The supplier's most recent shipments with the US consignee of each one |
cargo | Product 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 |
marks | Carton marks | Not 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
| Parameter | Type | Default | Description |
|---|---|---|---|
searchType | string | consignee | shipper, consignee, cargo or marks |
searchQuery | string | Walmart | Company name, product keyword or HS code |
startUrls | array | [] | ImportYeti /company/..., /supplier/... or /hs-codes/... URLs. Legacy Port Examiner search URLs are converted. Overrides searchType/searchQuery |
maxItems | integer | 10 | Maximum records to return |
maxPages | integer | 10 | Maximum matching companies, suppliers or HS codes to read (one proxied request each) |
dateFrom | string | Keep shipments arriving on or after this date (YYYY-MM-DD) | |
dateTo | string | Keep shipments arriving on or before this date (YYYY-MM-DD) | |
proxyConfiguration | object | Apify residential | Keep 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
dateFromset 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 ApifyClientclient = 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"])