This documentation is in beta, and might contain errors. Contact us at integration@instabee.com with any questions.

Instabee API

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:

LinkDescriptionReturned for
trackingGeneral tracking URLAll products except LOCKER_TO_LOCKER
recipientTrackingTracking URL intended for the recipientLOCKER_TO_LOCKER (Consumer to Consumer) only
senderTrackingTracking URL intended for the senderLOCKER_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:

ProductTracking 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 productstracking

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}

Path Parameters

ParamTypeRequiredDescriptionConstraints
orderIdstringrequiredThe unique order IDMinimum 1 character
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}"

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}

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}

Path Parameters

ParamTypeRequiredDescriptionConstraints
orderIdstringrequiredThe unique order IDMinimum 1 character
parcelIdstringrequiredThe unique parcel IDMinimum 1 character
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}"
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}

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:

ParamTypeDefaultOptionsDescription
fileFormatstringpdfpng, zpl, pdfOutput file format
encodingstringbase64Return label as base64-encoded string
templatestringa6a6, a7Label paper size
dpiinteger96Resolution in dots per inch
debugbooleanfalsetrue, falseEnable debug mode

See Fetch Label for the full label endpoint documentation.

Error Handling

Status CodeDescriptionSolution
401UnauthorisedVerify your Bearer token
404Order or parcel not foundCheck the orderId and parcelId are correct
429Rate limit exceededReduce request frequency

Command Palette

Search for a command to run...