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

Instabee API

Fetch Order

Retrieve the details of an existing order, including all parcels and their current status, tracking links, and delivery information.

Environments: Production https://api.integration.instabee.com · Sandbox https://sandbox-api.integration.instabee.com (same paths; use sandbox credentials for the sandbox host).


Fetch Order

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}"

Response Parameters

ParamTypeDescription
orderIdstringThe unique order identifier
parcelsarrayList of parcels associated with this order

parcels

ParamTypeDescription
orderIdstringThe order ID this parcel belongs to
parcelIdstringThe unique parcel identifier
statestringCurrent state of the parcel
productstringProduct type: LOCKER_ALLOCATION, LOCKER_AREA, LOCKER_CAPACITY_SURPLUS, LOCKER_EXPRESS, LOCKER_RETURN, LOCKER_TO_LOCKER, HOME_DELIVERY
brandstringBrand: BUDBEE, INSTABOX, PORTERBUDDY
countryCodestringCountry code: BE, DE, DK, FI, NL, NO, PL, SE
attributesobjectAdditional parcel attributes
recipientobjectRecipient address details
senderobjectSender address details
deliveryOptionobjectSelected delivery option details
ParamTypeDescription
labelstring (URI)URL to the shipping label
trackingstring (URI)General tracking URL. Returned for all products except LOCKER_TO_LOCKER
recipientTrackingstring (URI)Tracking URL for the recipient. LOCKER_TO_LOCKER only
senderTrackingstring (URI)Tracking URL for the sender. LOCKER_TO_LOCKER only

The links object comes in two variants depending on the product:

ProductTracking links in links
LOCKER_TO_LOCKER (Consumer to Consumer)recipientTracking and senderTracking
All other productstracking

Create order, Post Purchase, and Post Packing always return the preliminary tracking link. For LOCKER_TO_LOCKER, that link is replaced by recipientTracking and senderTracking here once they are ready — which is after the full order has been sent with parcelPackingConfirmed: true. Both response variants are shown below, and the same rule applies to Fetch Parcel. See Get Tracking.

label URL parameters

The label URL 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

parcels.attributes

ParamTypeDescription
labelCodestringThe label code for the parcel

parcels.deliveryOption

ParamTypeDescription
sortCodestringSorting code for the delivery option
etaIntervalobjectEstimated delivery time interval

parcels.deliveryOption.etaInterval

ParamTypeDescription
fromstring (date-time)Start of ETA interval (ISO-8601)
tostring (date-time)End of ETA interval (ISO-8601)

Response Example — Standard Order

All products except LOCKER_TO_LOCKER. The links object carries a single tracking link.

1{
2  "orderId": "ORDER-12345",
3  "parcels": [
4    {
5      "orderId": "ORDER-12345",
6      "parcelId": "SHOP000000123456",
7      "state": "CREATED",
8      "product": "LOCKER_EXPRESS",
9      "brand": "INSTABOX",
10      "countryCode": "SE",
11      "links": {
12        "label": "https://api.integration.instabee.com/orders/ORDER-12345/labels",
13        "tracking": "https://track.instabee.com/SHOP000000123456"
14      },
15      "attributes": {
16        "labelCode": "IN123"
17      },
18      "deliveryOption": {
19        "sortCode": "IN123",
20        "etaInterval": {
21          "from": "2025-06-29T08:00:00.000Z",
22          "to": "2025-06-29T16:00:00.000Z"
23        }
24      }
25    }
26  ]
27}

Response Example — Locker to Locker Order

Consumer-to-consumer orders. tracking is replaced by one link for the recipient and one for the sender.

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      "brand": "INSTABOX",
10      "countryCode": "SE",
11      "links": {
12        "recipientTracking": "https://track.instabee.com/recipient/C2C000000123456",
13        "senderTracking": "https://track.instabee.com/sender/C2C000000123456"
14      },
15      "deliveryOption": {
16        "sortCode": "IN456wOx9dJ"
17      }
18    }
19  ]
20}

A parcel that is not in a trackable state — a cancelled parcel, or one where the links are not ready yet — has an empty links object. See Fetch Tracking Links for the full Consumer to Consumer flow.


Fetch Parcel

Retrieve the details of a specific parcel by parcel ID.

Production: GET https://api.integration.instabee.com/orders?parcelId={parcelId}
Sandbox: GET https://sandbox-api.integration.instabee.com/orders?parcelId={parcelId}

Headers:

1Authorization: Bearer {token}

Query Parameters

ParamTypeRequiredDescriptionConstraints
parcelIdstringrequiredThe unique parcel IDMinimum 1 character
1curl -X GET "https://api.integration.instabee.com/orders?parcelId=SHOP000000123456" \
2  -H "Authorization: Bearer {token}"
1curl -X GET "https://sandbox-api.integration.instabee.com/orders?parcelId=SHOP000000123456" \
2  -H "Authorization: Bearer {token}"
1{
2  "orderId": "ORDER-12345",
3  "parcelId": "SHOP000000123456",
4  "state": "CREATED",
5  "product": "LOCKER_EXPRESS",
6  "brand": "INSTABOX",
7  "countryCode": "SE",
8  "links": {
9    "label": "https://api.integration.instabee.com/orders/ORDER-12345/labels",
10    "tracking": "https://track.instabee.com/SHOP000000123456"
11  },
12  "attributes": {
13    "labelCode": "IN123"
14  },
15  "recipient": {
16    "name": "John Doe",
17    "email": "john@example.com",
18    "phone": "0701234567",
19    "street": "Hälsingegatan 40",
20    "postalCode": "11353",
21    "city": "Stockholm",
22    "countryCode": "SE"
23  },
24  "deliveryOption": {
25    "sortCode": "IN123",
26    "etaInterval": {
27      "from": "2025-06-29T08:00:00.000Z",
28      "to": "2025-06-29T16:00:00.000Z"
29    }
30  }
31}

Error Handling

Status CodeDescriptionSolution
401UnauthorisedVerify your Bearer token
404Order or parcel not foundCheck the orderId (fetch order) or parcelId (fetch parcel) is correct
429Rate limit exceededReduce request frequency

Command Palette

Search for a command to run...