Evergreen Container Tracking API & MCP
Query live Evergreen (evergreen) shipping container moves in a single synchronous GET request or MCP tool call. Pass the container number; no booking, bill of lading or Evergreen account is needed.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | evergreen |
| Brand aliases | Evergreen, Evergreen Line, Evergreen Marine, ShipmentLink, ct.shipmentlink.com |
| Category | Ocean container shipping line |
| Single-container REST endpoint | GET https://api.lastscanned.com/v1/track/{containerNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=EGHU9123457,EGSU9123450 |
MCP server (https://mcp.lastscanned.com/mcp) | track_package, track_packages, list_carriers |
| Authentication & pricing | Authorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP |
Container Number Format & Auto-Detection
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
Pass 1 (matches) | /^(EGHU|EGSU|EISU|EITU)\d{7}$/ | ISO 6346 | EGHU9123457 · EGSU9123450 · EITU1815911 |
Pass 2 (mayMatch) | none | none | none |
A container number is the owner's 4-letter code, 6 digits and an ISO 6346 check digit. Evergreen's own owner codes detect to evergreen automatically. A leased container (Textainer TGHU, Triton TCNU, CAI CAIU, SeaCo SEGU and others) can sail with any line, so pass ?carrier=evergreen for one booked with Evergreen.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/EGHU9123457" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"The response below is a real lookup from November 2026, with its events cut to the newest four of 8.
{
"carrier": "evergreen",
"trackingNumber": "EGHU9123457",
"status": "delivered",
"statusDescription": "Empty container returned",
"service": "40' (SH)",
"deliveredAt": null,
"deliveredAtLocal": "2026-09-17",
"signedBy": null,
"destination": null,
"message": "Bill of lading 143600354343",
"events": [
{
"timestamp": null,
"localTime": "2026-09-17",
"status": "delivered",
"description": "Empty container returned",
"location": "Felixstowe, Suffolk, GB",
"code": "Empty container returned"
},
{
"timestamp": null,
"localTime": "2026-09-15",
"status": "out_for_delivery",
"description": "Pick-up by merchant haulage",
"location": "Felixstowe, Suffolk, GB",
"code": "Pick-up by merchant haulage"
},
{
"timestamp": null,
"localTime": "2026-09-13",
"status": "in_transit",
"description": "Discharged (FCL), EVER ALP 1409-017W",
"location": "Felixstowe, Suffolk, GB",
"code": "Discharged (FCL)"
},
{
"timestamp": null,
"localTime": "2026-07-22",
"status": "in_transit",
"description": "Transship container loaded on vessel, EVER ALP 1409-017W",
"location": "Ningbo, China, CN",
"code": "Transship container loaded on vessel"
}
]
}Notes
- Source: Evergreen's ShipmentLink cargo tracking. The container search gives the latest move and the bill of lading; the bill gives the container's full history, so a lookup is three requests.
- Events: every move from empty pick-up to empty return, with the vessel and voyage. If the history can't be read, the latest move is returned on its own.
- Times: dates without a time of day, so
localTimeis a date andtimestampis null. - Bill of lading:
messagenames the bill the container sails under. - No current trip: a container Evergreen knows but that isn't on a bill of lading now is
not_found.
Related Resources
- All container lines: Ocean container tracking
- Regex & check digits: Tracking number formats & auto-detection