Site Logo

Track a Package

With ShipEngine, you can retrieve real-time tracking events for any package, even if you created the label outside of ShipEngine.

There are two methods you can use for tracking shipments:

  • Use the tracking endpoint. This option requires you to specify the carrier_code and the tracking_number of the package. If you don’t know a carrier’s carrier_code, you can find it by listing carriers.
  • Use the label endpoint to track by Label ID. We recommend this method for tracking labels created via ShipStation.

This page provides details about using the tracking endpoint. See the track by Label ID page for details about using that method.

Requirements

  • The Tracking endpoint is only available on the Advanced plan or higher.
  • You must specify the carrier_code and the tracking_number of the package in the endpoint.
  • For tracking shipments not created via ShipEngine, the carrier must still be connected to the ShipEngine account.

Example Request & Response

GET /v1/tracking?carrier_code={carrierCode}&tracking_number={trackingNumber}

1
2
3
GET /v1/tracking?carrier_code=stamps_com&tracking_number=9405511899223197428490 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__

Example Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
{
"tracking_number": "9405511899223197428490",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction.action?tLabels=9405511899223197428490",
"status_code": "DE",
"carrier_code": "usps",
"carrier_id": 1,
"carrier_detail_code": null,
"status_description": "Delivered",
"carrier_status_code": "01",
"carrier_status_description": "Your item was delivered in or at the mailbox at 2:03 pm on September 20, 2021 in SARCOXIE, MO 64862.",
"ship_date": null,
"estimated_delivery_date": null,
"actual_delivery_date": null,
"exception_description": null,
"events": [
{
"occurred_at": "2021-09-20T19:03:00Z",
"carrier_occurred_at": "2021-09-20T14:03:00",
"description": "Delivered, In/At Mailbox",
"city_locality": "SARCOXIE",
"state_province": "MO",
"postal_code": "64862",
"country_code": "",
"company_name": "",
"signer": "",
"event_code": "01",
"carrier_detail_code": null,
"status_code": null,
"status_description": null,
"carrier_status_code": "01",
"carrier_status_description": "Delivered, In/At Mailbox",
"latitude": 37.0776,
"longitude": -94.1258
},
{
"occurred_at": "2021-09-20T13:10:00Z",
"carrier_occurred_at": "2021-09-20T08:10:00",
"description": "Out for Delivery",
"city_locality": "SARCOXIE",
"state_province": "MO",
"postal_code": "64862",
"country_code": "",
"company_name": "",
"signer": "",
"event_code": "OF",
"carrier_detail_code": null,
"status_code": null,
"status_description": null,
"carrier_status_code": "OF",
"carrier_status_description": "Out for Delivery",
"latitude": 37.0776,
"longitude": -94.1258
},
{
"occurred_at": "2021-09-20T12:59:00Z",
"carrier_occurred_at": "2021-09-20T07:59:00",
"description": "Arrived at Post Office",
"city_locality": "SARCOXIE",
"state_province": "MO",
"postal_code": "64862",
"country_code": "",
"company_name": "",
"signer": "",
"event_code": "07",
"carrier_detail_code": null,
"status_code": null,
"status_description": null,
"carrier_status_code": "07",
"carrier_status_description": "Arrived at Post Office",
"latitude": 37.0776,
"longitude": -94.1258
},
{
"occurred_at": "2021-09-18T00:00:00Z",
"carrier_occurred_at": "2021-09-18T00:00:00",
"description": "In Transit to Next Facility",
"city_locality": "",
"state_province": "",
"postal_code": "",
"country_code": "",
"company_name": "",
"signer": "",
"event_code": "NT",
"carrier_detail_code": null,
"status_code": null,
"status_description": null,
"carrier_status_code": "NT",
"carrier_status_description": "In Transit to Next Facility",
"latitude": null,
"longitude": null
},
{
"occurred_at": "2021-09-17T02:41:00Z",
"carrier_occurred_at": "2021-09-16T19:41:00",
"description": "Arrived at USPS Regional Origin Facility",
"city_locality": "LAS VEGAS NV DISTRIBUTION CENTER ANNEX",
"state_province": "",
"postal_code": "",
"country_code": "",
"company_name": "",
"signer": "",
"event_code": "10",
"carrier_detail_code": null,
"status_code": null,
"status_description": null,
"carrier_status_code": "10",
"carrier_status_description": "Arrived at USPS Regional Origin Facility",
"latitude": null,
"longitude": null
},
{
"occurred_at": "2021-09-16T21:06:00Z",
"carrier_occurred_at": "2021-09-16T14:06:00",
"description": "USPS picked up item",
"city_locality": "LAS VEGAS",
"state_province": "NV",
"postal_code": "89118",
"country_code": "",
"company_name": "",
"signer": "",
"event_code": "03",
"carrier_detail_code": null,
"status_code": null,
"status_description": null,
"carrier_status_code": "03",
"carrier_status_description": "USPS picked up item",
"latitude": 35.9292,
"longitude": -115.1987
}
]
}

About the Tracking Response

Event Timestamps:

  • carrier_occurred_at is the timestamp of the event received from the carrier. It is assumed to be the local time of where the event occurred. This event property is not yet fully supported across all carriers.
  • occurred_at is our best effort at converting the carrier_occurred_at field to UTC, based on the time of the event's occurrence.

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_codestatus_descriptiontracking_status
ACAcceptedN/A
ITIn Transitin_transit
DEDelivereddelivered
EXExceptionerror
UNUnknownunknown
ATDelivery AttemptN/A
NYNot Yet In Systemin_transit
SPDelivered To The Collection Locationdelivered_to_service_point

Supported Carriers

We've included a list of the most common carriers that support tracking and their carrier codes.

CarrierCarrier Code
U.S. Postal Serviceusps
Stamps.comstamps_com
FedExfedex
UPSups
DHL Expressdhl_express
DHL ECommercedhl_global_mail
DHL eCommerce Australiadhl_ecommerce_au
Access Worldwideaccess_worldwide
APCapc
Aramex AU / Fastwayfastway_au
Aramex NZ / Fastwayfastway_nz
Asendiaasendia
Australia Postaustralia_post
Australia Post eParcel australia_post
Australia Post MyPost Businessaustralia_post_mypost_business
Canada Postcanada_post
Canpar Expresscanpar
CouriersPleasecouriers_please
DAIdai
Direct Freightdirect_freight
Evri Internationalevri_international
First Milefirstmile
Freightwaysfreightways
Freightways - Castle Parcelscastle_parcels
Freightways - New Zealand Couriersnew_zealand_couriers
Freightways - Now Couriersnow_couriers
Freightways - Post Hastepost_haste
Global Accessglobal_access
IMEXimex
Landmark Globallandmark_global
Landmark Global AUlandmark_global_au
Landmark Global UKlandmark_global_uk
Newgisticsnewgistics
Nobordistnobordist
NZ Post Domesticcourierpost
NZ Post Internationalnew_zealand_post_international
OnTracontrac
Purolator Canadapurolator_ca
Quantiumquantium
RR Donnelleyrr_donnelley
SEKO Omni-Channel Logisticsseko
SEKO Omni-Channel Logistics UKseko_uk
Sendlesendle
Seven Sendersseven_senders
StarTrackstar_track
TNT Australiatnt_australia
Team Global Express IPECtoll_ipec
Team Global Express Prioritytoll_priority
wizmowizmo