Tracking
GET /shipments/{ldv}/tracking — rate limited: 20 requests / min in total across the two tracking endpoints
Returns the tracking of a shipment: the carrier events normalized to ISO 8601 timestamps plus the derived status. Events are listed from the most recent; the last one is the creation of the shipment.
Request
curl https://<subdomain>.spedisci.online/api/2026-09/shipments/DEMO05407027/tracking \
-H "Authorization: Bearer <access_token>" \
-H "Accept: application/json"Response fields
| Field | Type | Description |
|---|---|---|
trackingNumber | string | LDV |
reference | string|null | Your order reference |
carrier | Carrier | |
status | Status | Current status |
events[] | object[] | timestamp (ISO 8601 or null), description (carrier wording), location |
deliveredAt | datetime|null | Delivery time |
trackingUpdatedAt | datetime|null | Last refresh of the tracking |
| HTTP | code | When |
|---|---|---|
404 | not_found | Unknown LDV or shipment of another client |
429 | rate_limited | Too many tracking requests |
502 | carrier_error | The carrier tracking service did not answer |
Tracking by BDA
GET /tracking/bda/{bda} — same limit as above
Same response, addressed by BDA. Only shipments created in the last 60 days are searched.
Polling the tracking endpoint is rate limited. To follow shipments at scale register a webhook for tracking.update: you receive every status change as it happens.
Last updated on