Track a Package
With ShipEngine, you can subscribe to real-time tracking events for any package – regardless of whether you created the label via ShipEngine.
For labels that were created via ShipEngine, we recommend that you track by Label ID. For other packages, follow the instructions below to track via the tracking number instead.
Supported Carriers
Carrier | Carrier Code |
---|---|
U.S. Postal Service | usps |
Stamps.com | stamps_com |
FedEx | fedex |
UPS | ups |
DHL Express | dhl_express |
DHL ECommerce | dhl_global_mail |
Canada Post | canada_post |
Australia Post | australia_post |
First Mile | firstmile |
Asendia | asendia |
OnTrac | ontrac |
APC | apc |
Newgistics | newgistics |
RR Donnelley | rr_donnelley |
IMEX | imex |
Access Worldwide | access_worldwide |
Purolator Canada | purolator_ca |
Sendle | sendle |
Example
The following example demonstrates how to get tracking information. You need to specify the carrier_code
(see the table above) and the tracking_number
of the package.
Example Request
Example Response
Tracking Status Codes
Here's how the status_code
and status_description
fields correspond to each other, and how they correspond to the tracking_status
field of a label:
status_code | status_description | tracking_status |
---|---|---|
AC | Accepted | N/A |
IT | In Transit | in_transit |
DE | Delivered | delivered |
EX | Exception | error |
UN | Unknown | unknown |
AT | Delivery Attempt | N/A |
NY | Not Yet In System | in_transit |