With ShipStation API, you can retrieve real-time tracking events for any package, even if you created the label outside of ShipStation API.
There are two methods you can use for tracking shipments:
- Use the tracking endpoint. This option requires you to specify the
carrier_codeand thetracking_numberof the package. If you don’t know a carrier’scarrier_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.
- The Tracking endpoint is only available on the Advanced plan or higher.
- You must specify the
carrier_codeand thetracking_numberof the package in the endpoint. - For tracking shipments not created via ShipStation API, the carrier must still be connected to the ShipStation API account.
GET /v1/tracking?carrier_code={carrierCode}&tracking_number={trackingNumber}
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
{
"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
}
]
}Event Timestamps:
carrier_occurred_atis 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_atis our best effort at converting thecarrier_occurred_atfield to UTC, based on the time of the event's occurrence.
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 |
SP | Delivered To The Collection Location | delivered_to_service_point |
We've included a list of the most common carriers that support tracking and their carrier codes.
| 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 |
| DHL eCommerce Australia | dhl_ecommerce_au |
| Access Worldwide | access_worldwide |
| APC | apc |
| Aramex AU / Fastway | fastway_au |
| Aramex NZ / Fastway | fastway_nz |
| Asendia | asendia |
| Australia Post | australia_post |
| Australia Post eParcel | australia_post |
| Australia Post MyPost Business | australia_post_mypost_business |
| Canada Post | canada_post |
| Canpar Express | canpar |
| CouriersPlease | couriers_please |
| DAI | dai |
| Direct Freight | direct_freight |
| Evri International | evri_international |
| First Mile | firstmile |
| Freightways | freightways |
| Freightways - Castle Parcels | castle_parcels |
| Freightways - New Zealand Couriers | new_zealand_couriers |
| Freightways - Now Couriers | now_couriers |
| Freightways - Post Haste | post_haste |
| Global Access | global_access |
| IMEX | imex |
| Landmark Global | landmark_global |
| Landmark Global AU | landmark_global_au |
| Landmark Global UK | landmark_global_uk |
| Newgistics | newgistics |
| Nobordist | nobordist |
| NZ Post Domestic | courierpost |
| NZ Post International | new_zealand_post_international |
| OnTrac | ontrac |
| Purolator Canada | purolator_ca |
| Quantium | quantium |
| RR Donnelley | rr_donnelley |
| SEKO Omni-Channel Logistics | seko |
| SEKO Omni-Channel Logistics UK | seko_uk |
| Sendle | sendle |
| Seven Senders | seven_senders |
| StarTrack | star_track |
| TNT Australia | tnt_australia |
| Team Global Express IPEC | toll_ipec |
| Team Global Express Priority | toll_priority |
| wizmo | wizmo |