Get Tracking
Retrieve tracking links for an order or parcel to redirect consumers to the tracking page.
Environments: Production https://api.integration.instabee.com · Sandbox https://sandbox-api.integration.instabee.com (same paths; use sandbox credentials for the sandbox host).
Tracking links are returned as part of the order and parcel responses. There are three types of tracking links:
| Link | Description | Returned for |
|---|---|---|
| tracking | General tracking URL | All products except LOCKER_TO_LOCKER |
| recipientTracking | Tracking URL intended for the recipient | LOCKER_TO_LOCKER (Consumer to Consumer) only |
| senderTracking | Tracking URL intended for the sender | LOCKER_TO_LOCKER (Consumer to Consumer) only |
The tracking link returned by Create Order, Post Purchase, and Post Packing is preliminary. It is generated before the parcel is registered in the tracking system, so it will not resolve (broken link) until the order has been sent with parcelPackingConfirmed: true and the parcel has been registered.
Fetch the working links with Fetch Order or Fetch Parcel after that point. What you get back depends on the product:
| Product | Tracking links returned by Fetch Order / Fetch Parcel |
|---|---|
LOCKER_TO_LOCKER (Consumer to Consumer) | The preliminary tracking link is replaced by recipientTracking and senderTracking |
| All other products | tracking |
Retrieve Tracking Links via Fetch Order
Tracking links are included in the response when fetching an order or parcel.
Production: GET https://api.integration.instabee.com/orders/{orderId}
Sandbox: GET https://sandbox-api.integration.instabee.com/orders/{orderId}
Headers:
1Authorization: Bearer {token}1Authorization: Bearer {token}
Path Parameters
| Param | Type | Required | Description | Constraints |
|---|---|---|---|---|
| orderId | string | required | The unique order ID | Minimum 1 character |
1curl -X GET "https://api.integration.instabee.com/orders/ORDER-12345" \ 2 -H "Authorization: Bearer {token}"1curl -X GET "https://api.integration.instabee.com/orders/ORDER-12345" \ 2 -H "Authorization: Bearer {token}"
1curl -X GET "https://sandbox-api.integration.instabee.com/orders/ORDER-12345" \ 2 -H "Authorization: Bearer {token}"1curl -X GET "https://sandbox-api.integration.instabee.com/orders/ORDER-12345" \ 2 -H "Authorization: Bearer {token}"
Tracking Links in Response
The links object within each parcel contains the tracking URLs:
1{ 2 "orderId": "ORDER-12345", 3 "parcels": [ 4 { 5 "parcelId": "SHOP000000123456", 6 "links": { 7 "label": "https://api.integration.instabee.com/orders/ORDER-12345/labels", 8 "tracking": "https://track.instabee.com/SHOP000000123456" 9 } 10 } 11 ] 12}1{ 2 "orderId": "ORDER-12345", 3 "parcels": [ 4 { 5 "parcelId": "SHOP000000123456", 6 "links": { 7 "label": "https://api.integration.instabee.com/orders/ORDER-12345/labels", 8 "tracking": "https://track.instabee.com/SHOP000000123456" 9 } 10 } 11 ] 12}
Retrieve Tracking Links via Fetch Parcel
Production: GET https://api.integration.instabee.com/orders/{orderId}/parcels/{parcelId}
Sandbox: GET https://sandbox-api.integration.instabee.com/orders/{orderId}/parcels/{parcelId}
Headers:
1Authorization: Bearer {token}1Authorization: Bearer {token}
Path Parameters
| Param | Type | Required | Description | Constraints |
|---|---|---|---|---|
| orderId | string | required | The unique order ID | Minimum 1 character |
| parcelId | string | required | The unique parcel ID | Minimum 1 character |
1curl -X GET "https://api.integration.instabee.com/orders/ORDER-12345/parcels/SHOP000000123456" \ 2 -H "Authorization: Bearer {token}"1curl -X GET "https://api.integration.instabee.com/orders/ORDER-12345/parcels/SHOP000000123456" \ 2 -H "Authorization: Bearer {token}"
1curl -X GET "https://sandbox-api.integration.instabee.com/orders/ORDER-12345/parcels/SHOP000000123456" \ 2 -H "Authorization: Bearer {token}"1curl -X GET "https://sandbox-api.integration.instabee.com/orders/ORDER-12345/parcels/SHOP000000123456" \ 2 -H "Authorization: Bearer {token}"
1{ 2 "orderId": "ORDER-12345", 3 "parcelId": "SHOP000000123456", 4 "state": "CREATED", 5 "links": { 6 "label": "https://api.integration.instabee.com/orders/ORDER-12345/labels", 7 "tracking": "https://track.instabee.com/SHOP000000123456" 8 } 9}1{ 2 "orderId": "ORDER-12345", 3 "parcelId": "SHOP000000123456", 4 "state": "CREATED", 5 "links": { 6 "label": "https://api.integration.instabee.com/orders/ORDER-12345/labels", 7 "tracking": "https://track.instabee.com/SHOP000000123456" 8 } 9}
Sender and Recipient Tracking (Locker to Locker)
LOCKER_TO_LOCKER (Consumer to Consumer) parcels are the only ones that get two separate tracking links: one for the sender and one for the recipient.
These links are not returned by the create-order call — that response carries the preliminary tracking link instead. Once the full order has been sent with parcelPackingConfirmed: true and the links are ready, they replace tracking in the Fetch Order response:
Production: GET https://api.integration.instabee.com/orders/{orderId}
Sandbox: GET https://sandbox-api.integration.instabee.com/orders/{orderId}
1{ 2 "orderId": "ORDER-C2C-2025-0001", 3 "parcels": [ 4 { 5 "orderId": "ORDER-C2C-2025-0001", 6 "parcelId": "C2C000000123456", 7 "state": "FINALIZED", 8 "product": "LOCKER_TO_LOCKER", 9 "links": { 10 "recipientTracking": "https://track.instabee.com/recipient/C2C000000123456", 11 "senderTracking": "https://track.instabee.com/sender/C2C000000123456" 12 } 13 } 14 ] 15}1{ 2 "orderId": "ORDER-C2C-2025-0001", 3 "parcels": [ 4 { 5 "orderId": "ORDER-C2C-2025-0001", 6 "parcelId": "C2C000000123456", 7 "state": "FINALIZED", 8 "product": "LOCKER_TO_LOCKER", 9 "links": { 10 "recipientTracking": "https://track.instabee.com/recipient/C2C000000123456", 11 "senderTracking": "https://track.instabee.com/sender/C2C000000123456" 12 } 13 } 14 ] 15}
See Fetch Tracking Links for the full Consumer to Consumer flow.
Label URL Parameters
The label field in the links object is a URL to the shipping label. It supports optional query parameters to customize the output:
| Param | Type | Default | Options | Description |
|---|---|---|---|---|
| fileFormat | string | pdf | png, zpl, pdf | Output file format |
| encoding | string | base64 | Return label as base64-encoded string | |
| template | string | a6 | a6, a7 | Label paper size |
| dpi | integer | 96 | Resolution in dots per inch | |
| debug | boolean | false | true, false | Enable debug mode |
See Fetch Label for the full label endpoint documentation.
Error Handling
| Status Code | Description | Solution |
|---|---|---|
401 | Unauthorised | Verify your Bearer token |
404 | Order or parcel not found | Check the orderId and parcelId are correct |
429 | Rate limit exceeded | Reduce request frequency |