Universal Parcel Tracking API for Developers and E-Commerce
Connect your online store or business system to 25+ couriers in Pakistan and abroad through one API. You do not need a separate connection for each courier, and we detect the courier for you.
curl -X POST https://trackmyparcel.pk/v1/track \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"trackingNumber": "779412326902"
}'{
"success": true,
"requestId": "TMP-20260923-9F82A",
"data": {
"trackingNumber": "779412326902",
"carrier": "tcs",
"carrierName": "TCS Express",
"status": "DELIVERED",
"statusText": "Delivered",
"originCity": "Sheikhupura",
"destinationCity": "Lahore",
"isDelivered": true,
"isReturned": false,
"updatedAt": "2026-09-23T08:15:20.000Z",
"events": [
{
"status": "DELIVERED",
"description": "Shipment handed over to recipient",
"location": "Lahore Gulberg Facility",
"timestamp": "2026-09-23T08:15:00.000Z"
},
{
"status": "OUT_FOR_DELIVERY",
"description": "Out for delivery with dispatch courier",
"location": "Lahore Express Center",
"timestamp": "2026-09-23T04:30:00.000Z"
},
{
"status": "IN_TRANSIT",
"description": "Arrived at provincial transit terminal",
"location": "Lahore Main Hub",
"timestamp": "2026-09-22T23:10:00.000Z"
}
]
}
}Request Body Parameters
| Field | Type | Requirement | Description |
|---|---|---|---|
| trackingNumber | string | Required | The courier consignment number, air waybill, or parcel reference to look up. |
| carrier | string | Optional | Explicit carrier slug (e.g. tcs, leopards, postex). When omitted, carrier is auto-detected. |
| forceRefresh | boolean | Optional | Skip the cache and ask the courier for fresh data. |
Built to Be Simple and Reliable
Why shops and delivery platforms use TrackMyParcel
One Simple Format
Every courier shows tracking in its own way. We turn their updates into the same simple steps (booked, in_transit, delivered, returned), with clean city names.
Backup Sources
If one source is down, we try our backup sources, so your customers are less likely to see an error.
Courier Detection
You do not need to save the courier name with each order. Send any tracking number, and we work out whether it belongs to TCS, Leopards, PostEx, TRAX or an international courier.
Ways to Use the API
Add TrackMyParcel to how you already work, using webhooks or scheduled checks.
Shopify & WooCommerce Stores
When you send an order, you get a tracking number. Set up a scheduled job to check POST /v1/track every few hours. Then send the buyer a WhatsApp or SMS message when the status changes to Out for Delivery, so they are ready to receive the parcel.
- No need to build separate connections for TCS, Leopards and PostEx
- Spot returned parcels (RTS) early and contact the buyer
Business Systems and Support Teams
Give your support team tracking inside Zendesk, Freshdesk or your own tools. Agents paste a tracking number and see the delivery steps, without opening courier websites.
- A timeline with the place, time and courier note for each step
- Control which couriers each team member can use
Developer API Questions
Common questions about setting up, signing in and growing with TrackMyParcel
How do I get an API key?
Which couriers can I track with the API?
Do I have to tell the API which courier it is?
How do credits work?
Can I use the API with Shopify or WooCommerce?
What does the API send back?
Ready to track parcels with our API?
Create an account, get your secret key and start tracking 25+ couriers.