Carriers
PostNL (Spring GDS) Tracking API & MCP
Query live PostNL International (springgds) status and scan history for cross-border e-commerce parcels that the consumer PostNL tracker (postnl) does not know.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | springgds |
| Brand aliases | PostNL International, PostNL e-commerce, postnl.post |
| Category | Cross-border e-commerce parcels |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=... |
MCP server (https://mcp.lastscanned.com) | track_package, track_packages, list_carriers |
| Authentication & pricing | Authorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP |
Tracking Number Formats & Auto-Detection
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
Pass 1 (matches) | none | none | none |
Pass 2 (mayMatch) | none | none | none |
Pass ?carrier=springgds so the number is routed here.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/CK123456789NL?carrier=springgds" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "springgds",
"trackingNumber": "CK123456789NL",
"status": "delivered",
"statusDescription": "The item has been delivered successfully",
"service": null,
"deliveredAt": "2026-03-30T07:45:39Z",
"deliveredAtLocal": "2026-03-30T09:45:39",
"signedBy": null,
"destination": {
"city": null,
"state": null,
"country": "Germany"
},
"events": [
{
"timestamp": "2026-03-30T07:45:39Z",
"localTime": "2026-03-30T09:45:39",
"status": "delivered",
"description": "The item has been delivered successfully",
"location": "Germany",
"code": "37"
},
{
"timestamp": "2026-03-30T06:12:35Z",
"localTime": "2026-03-30T08:12:35",
"status": "out_for_delivery",
"description": "The item is out for delivery",
"location": "Germany",
"code": "74"
},
{
"timestamp": "2026-03-05T09:01:00Z",
"localTime": "2026-03-05T10:01:00",
"status": "label_created",
"description": "The item is pre-advised to PostNL",
"location": null,
"code": "1233"
}
]
}Notes
- Source: postnl.post, PostNL International's e-commerce tracker. An anonymous 24-hour bearer token is fetched automatically.
- Overlap with
postnl:CK123456789NL-style and3S…numbers are also claimed bypostnl, which returnsnot_foundfor these parcels. Use?carrier=springgdsfor them. - Time zone:
datetime_localis local time; it is converted from the zone of the country on the scan (Europe/Amsterdam when the scan has no country).
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
SpeedPAK (Orange Connex) Tracking API & MCP
Track SpeedPAK (Orange Connex, eBay and Orient Overseas cross-border parcels) and the last-mile carrier handoff number via synchronous REST GET or MCP. Normalized JSON status and scan history.
Slovak Parcel Service (SPS) Tracking API & MCP
Track Slovak Parcel Service (SPS, Slovakia) parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.