Shopee Express API - AfterShip

Empower Your Dev Team with the Shopee Express Tracking API via AfterShip

Integrate seamless Shopee Express tracking integration with robust RESTful API and webhooks to automate Shopee Express delivery updates in real-time.

With an AfterShip developer account, you'll experience fast tracking updates and industry-leading 99.9% API uptime. Enhance your logistics now with the Shopee Express Tracking API.

Shopee Express Tracking API

Create a tracking

Creates a new tracking object.

Parameters

Returns

Return a tracking object if the call succeeded.

curl --request POST \
     --url https://api.aftership.com/tracking/2024-04/trackings \
     --header 'Content-Type: application/json'\
     --data '{"tracking":{"slug":"spx","title":"Title Name","smses":["+18555072509","+18555072501"],"emails":["email@yourdomain.com","another_email@yourdomain.com"],"order_id":"ID 1234","language":"en","pickup_note":"Reach out to our staffs when you arrive our stores for shipment pickup","origin_city":"Beijing","order_number":"1234","origin_state":"Beijing","order_id_path":"http://www.aftership.com/order_id=1234","custom_fields":{"product_name":"iPhone Case","product_price":"USD19.99"},"delivery_type":"pickup_at_store","tracking_number":"123456789","pickup_location":"Flagship Store","destination_city":"New York City","destination_state":"New York","origin_postal_code":"065001","origin_country_iso3":"CHN","origin_raw_location":"Lihong Gardon 4A 2301, Chaoyang District, Beijing, BJ, 065001, CHN, China","destination_postal_code":"10001","destination_country_iso3":"USA","destination_raw_location":"13th Street, New York, NY, 10011, USA, United States","order_promised_delivery_date":"2019-05-20"}}'

Retrieve a tracking

Retrieves the details of an existing tracking. Supply the unique tracking ID from either a tracking creation request or the tracking list, and AfterShip will return the corresponding tracking information.

Parameters

Returns

Returns a tracking object if a valid identifier was provided.

curl --request GET \
     --url https://api.aftership.com/tracking/2024-04/trackings/id \
     --header 'Content-Type: application/json'

Update a tracking

Updates the specific tracking by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

Parameters

Returns

Returns the tracking object if the update succeeded.

curl --request PUT \
     --url https://api.aftership.com/tracking/2024-04/trackings/id \
     --header 'Content-Type: application/json'\
     --data '{"value":{"tracking":{"note":"some notes","title":"New Title"}}}'

Delete a tracking

Delete a tracking.

Parameters

Returns

Returns a deleted object on success. Otherwise, this call raises an error.

curl --request DELETE \
     --url https://api.aftership.com/tracking/2024-04/trackings/id \
     --header 'Content-Type: application/json'

Retrack an expired tracking

Retrack an expired tracking. Max 3 times per tracking.

Parameters

Returns

Returns the tracking object if the retrack succeeded.

curl --request POST \
     --url https://api.aftership.com/tracking/2024-04/trackings/id/retrack \
     --header 'Content-Type: application/json'

Mark tracking as completed

Mark a tracking as completed. The tracking won't auto-update until retrack it.

Parameters

reason string required
required
One of DELIVERED, LOST or RETURNED_TO_SENDER.

Returns

meta meta required

Meta data

meta code

Example: 200

error message, only exist if the response status is not 2xx

error type, only exist if the response status is not 2xx

Allowed values: BadRequest Unauthorized Forbidden NotFound TooManyRequests InternalError

data object required

Object describes the tracking information.

curl --request POST \
     --url https://api.aftership.com/tracking/2024-04/trackings/id/mark-as-completed \
     --header 'Content-Type: application/json'\
     --data '{"reason":{"type":"string","enum":["DELIVERED","LOST","RETURNED_TO_SENDER"],"description":"One of `DELIVERED`, `LOST` or `RETURNED_TO_SENDER`.

- Mark the tracking as completed with `DELIVERED`. The tag of the tracking will be updated to `Delivered` and the subtag will be updated to `Delivered_001`.
- Mark the tracking as completed with `LOST`. The tag of the tracking will be updated to `Exception` and the subtag will be updated to `Exception_013`.
- Mark the tracking as completed with `RETURNED_TO_SENDER`. The tag of the tracking will be updated to `Exception` and the subtag will be updated to `Exception_011`."}}'

Shopee Express Last Checkpoint API

Get last checkpoint

Return the tracking information of the last checkpoint of a single tracking.

Parameters

Returns

curl --request GET \
     --url https://api.aftership.com/tracking/2024-04/last_checkpoint/tracking_id \
     --header 'Content-Type: application/json'

Batch predict the estimated delivery date

The estimated delivery date is provided by AfterShip, based on its AI-predictive model. You can display the EDD on the product page, cart, and order checkout page. It indicates when a customer will receive the order.

You can use AfterShip’s AI-powered predictive estimated delivery date API to provide expected delivery dates to shoppers for online orders without tracking numbers. You can get the earliest date, the latest date, and the most likely arrival date through our AI-predictive EDD API.

Parameters

Returns

curl --request POST \
     --url https://api.aftership.com/tracking/2024-04/estimated-delivery-date/predict-batch \
     --header 'Content-Type: application/json'\
     --data '{"estimated_delivery_dates":[{"slug":"spx","service_type_name":"{service_type_name}","origin_address":{"country":"USA","state":"WA","city":"Seattle","postal_code":"98108","raw_location":"Seattle, Washington, 98108, USA, United States"},"destination_address":{"country":"USA","state":"CA","postal_code":"92019","raw_location":"El Cajon, California, 92019, USA, United States"},"weight":{"unit":"kg","value":1},"package_count":1,"pickup_time":"2021-07-01 15:00:00"}]}'

Why use AfterShip API for Shopee Express Integration

Integrating directly with Shopee Express's native API requires months of development, constant maintenance, and deep carrier-specific expertise. AfterShip offers a single unified RESTful API that supports Shopee Express and 1,200+ global carriers—while reducing development overhead, handling documentation changes, and managing regional exceptions. With AfterShip, you can focus on scaling operations rather than separate carrier technical challenges.