# Track a Package 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_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](/apis/shipengine/docs/reference/list-carriers). * Use the label endpoint to [track by Label ID](/apis/shipengine/docs/tracking/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](/apis/shipengine/docs/tracking/track-by-label-id) for details about using that method. ## Requirements * The Tracking endpoint is only available on the [Advanced plan or higher](https://help.shipengine.com/hc/en-us/articles/19326509952027-Advanced-Plan). * You must specify the `carrier_code` and the `tracking_number` of the package in the endpoint. * For tracking shipments not created via ShipStation API, the carrier must still be connected to the ShipStation API account. ## Example Request & Response **GET /v1/tracking?carrier_code={carrierCode}&tracking_number={trackingNumber}** ```http 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** ```json { "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](/apis/shipengine/docs/labels/create-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` | ## Supported Carriers 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` |