Tracking
GET /shipments/{ldv}/tracking — rate limited (20 / min by default)
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} — rate limited
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