Freight Flow Carriers Scraper
Pricing
Pay per usage
Freight Flow Carriers Scraper
Track ocean-carrier shipments (Maersk, CMA CGM, COSCO, Evergreen, Hapag-Lloyd, HMM, MSC, ONE Line, OOCL, Wan Hai, Yang Ming, ZIM) by MBL/booking/container number.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
SOHAIL AHMAD
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
Track ocean-carrier shipments by MBL / booking / container number across 12 major carriers, from a single Apify Actor.
Supported carriers
| Carrier | carrier value |
|---|---|
| Maersk | maersk |
| CMA CGM | cma_cgm |
| COSCO | cosco |
| Evergreen (ShipmentLink) | evergreen |
| Hapag-Lloyd | hapag_lloyd |
| HMM | hmm |
| MSC | medu |
| ONE Line | one_line |
| OOCL | oocl |
| Wan Hai | wan_hai |
| Yang Ming | yangming |
| ZIM | zim |
How it works
One Actor run scrapes one carrier's worth of tracking numbers. The
carrier field in the input picks which carrier-specific scraper runs;
results are pushed to the run's default Dataset, one record per tracking
number.
Input
| Field | Type | Required | Description |
|---|---|---|---|
carrier | string | yes | Which carrier to scrape — see the table above. |
trackingNumbers | array of strings | yes | MBL, booking, or container numbers to track. |
searchBy | string | no | "Booking" or "BL" — only used when carrier is cma_cgm. |
headless | boolean | no | Run the browser headless (default true). Some carriers force headed mode internally regardless of this flag. |
proxyConfiguration | object | no | Apify Proxy configuration. Defaults to a Residential group, which is strongly recommended — see below. |
Example:
{"carrier": "maersk","trackingNumbers": ["MAEU272470275"],"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Output
Results land in the run's default Dataset, one item per tracking number. Exact field names vary slightly by carrier (see the Dataset's Overview tab for a table view), but generally include:
carrier,mbl_number/container_number/tracking_numberfrom,to,estimated_arrival,latest_eventevents(chronological milestones) orcontainers(per-container breakdown)error— present instead of tracking data when a reference couldn't be scraped
Anti-bot defenses & proxies
These carrier sites run heavy bot-detection (Akamai, DataDome, Cloudflare). A Residential proxy group is strongly recommended over Datacenter — it's the default here. CMA CGM in particular refuses to run in a cloud/container environment unless a proxy is configured, since its bot-detection flags a container's own IP as a datacenter/VPN address.
Development
uv syncpytest -q
Local run without the Apify platform:
mkdir -p apify_storage/key_value_stores/defaultecho '{"carrier":"maersk","trackingNumbers":["MAEU272470275"]}' > apify_storage/key_value_stores/default/INPUT.jsonAPIFY_LOCAL_STORAGE_DIR=./apify_storage python -m app.apify_entry