Skip to main content
GET
/
parcels
/
tracking
/
{tracking_number}
Retrieve tracking information for a parcel
curl --request GET \
  --url https://panel.sendcloud.sc/api/v3/parcels/tracking/{tracking_number} \
  --header 'Authorization: Basic <encoded-value>'
import requests

url = "https://panel.sendcloud.sc/api/v3/parcels/tracking/{tracking_number}"

headers = {"Authorization": "Basic <encoded-value>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};

fetch('https://panel.sendcloud.sc/api/v3/parcels/tracking/{tracking_number}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://panel.sendcloud.sc/api/v3/parcels/tracking/{tracking_number}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://panel.sendcloud.sc/api/v3/parcels/tracking/{tracking_number}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Basic <encoded-value>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://panel.sendcloud.sc/api/v3/parcels/tracking/{tracking_number}")
.header("Authorization", "Basic <encoded-value>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://panel.sendcloud.sc/api/v3/parcels/tracking/{tracking_number}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'

response = http.request(request)
puts response.read_body
{
  "announced_at": "2024-01-01T00:00:00Z",
  "created_at": "2024-01-01T00:00:00Z",
  "details": {
    "brand_id": 123,
    "expected_delivery_date": "2024-01-03",
    "integration_id": 456,
    "is_mail_box": false,
    "is_return": false,
    "is_to_service_point": false
  },
  "events": [
    {
      "event_at": "2024-01-02T00:00:00Z",
      "event_type": "carrier",
      "status_code": "accepted",
      "status_description": "Parcel has been accepted by the carrier.",
      "status_type": "success",
      "sub_status_code": "none"
    }
  ],
  "from_address": {
    "address_line_1": "33 rue de Stalingrad",
    "address_line_2": "",
    "city": "Cermenate",
    "company_name": "Company",
    "country_code": "IT",
    "email": "billing@mail.com",
    "house_number": "45",
    "name": "Laurent Kuchto",
    "phone_number": "",
    "po_box": "12345",
    "postal_code": "78500",
    "state_province_code": "IT-CO"
  },
  "parcel_items": [
    {
      "description": "T-Shirt XL",
      "hs_code": "620520",
      "intended_use": "Personal use",
      "item_id": "5552",
      "material_content": "100% Cotton",
      "mid_code": "NLOZR92MEL",
      "origin_country": "NL",
      "product_id": "19284",
      "properties": {
        "color": "green",
        "size": "red"
      },
      "quantity": 1,
      "sku": "TS1234",
      "price": {
        "currency": "EUR",
        "value": "6.15"
      },
      "weight": {
        "unit": "kg",
        "value": 0.4
      }
    }
  ],
  "ship_with": {
    "type": "shipping_option_code",
    "properties": {
      "contract_id": 517,
      "shipping_option_code": "postnl:standard"
    }
  },
  "source_id": "123",
  "to_address": {
    "address_line_1": "33 rue de Stalingrad",
    "address_line_2": "",
    "city": "Cermenate",
    "company_name": "Company",
    "country_code": "IT",
    "email": "billing@mail.com",
    "house_number": "45",
    "name": "Laurent Kuchto",
    "phone_number": "",
    "po_box": "12345",
    "postal_code": "78500",
    "state_province_code": "IT-CO"
  },
  "tracking_numbers": [
    {
      "carrier_code": "postnl",
      "tracking_number": "123456789",
      "tracking_url": "https://example.com"
    }
  ],
  "updated_at": "2024-01-01T00:00:00Z"
}
{
"detail": "Parcel does not exist"
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}

Authorizations

Authorization
string
header
required

Basic Authentication using API key and secrets is currently the main authentication mechanism.

Path Parameters

tracking_number
string
required

Parcel tracking number The tracking number of a parcel

Required string length: 1 - 255

Response

OK

This object contains the parcel and its associated tracking numbers

announced_at
string<date-time>
required

The timestamp of when the parcel was announced to the carrier (label was created)

created_at
string<date-time>
required

The timestamp of when the parcel was created in the system

details
Parcel Detail Response · object
required
Example:
{
"brand_id": 123,
"expected_delivery_date": "2025-01-04",
"integration_id": 456,
"is_mail_box": false,
"is_return": false,
"is_to_service_point": false
}
events
Parcel Event Response · object[]
required
from_address
Parcel Tracking Address · object
required

Parcel Tracking Address object

source_id
string
required

An external identifier that clients can provide to link the parcel with the corresponding record in their own system

to_address
Parcel Tracking Address · object
required

Parcel Tracking Address object

tracking_numbers
Tracking Number Response · object[]
required
updated_at
string<date-time>
required

The timestamp of when the parcel was last updated in the system. Only altered by updates on announced_at, contract, and source_id

parcel_items
Parcel Item with Source ID Object · object[]

List of items / products that the parcel contains

ship_with
Ship With Shipping Option Code Object · object

Ship using a shipping option code. The shipping option code is required.

Example:
{
"type": "shipping_option_code",
"properties": {
"shipping_option_code": "postnl:standard/insured=3000",
"contract_id": 517,
"user_shipping_method_name": "Express Delivery",
"user_shipping_method_id": "express-001"
}
}