Skip to main content
GET
/
shipping-products
Retrieve a list of shipping products
curl --request GET \
  --url https://panel.sendcloud.sc/api/v2/shipping-products \
  --header 'Authorization: Basic <encoded-value>'
[
  {
    "name": "PostNL Standard",
    "code": "postnl:standard",
    "carrier": "postnl",
    "service_points_carrier": "postnl",
    "weight_range": {
      "min_weight": 1,
      "max_weight": 31500
    },
    "available_functionalities": {
      "age_check": [
        null,
        18
      ],
      "b2b": [
        false
      ],
      "b2c": [
        false
      ],
      "boxable": [
        false
      ],
      "bulky_goods": [
        false
      ],
      "carrier_billing_type": [
        null
      ],
      "cash_on_delivery": [
        null
      ],
      "dangerous_goods": [
        false
      ],
      "delivery_attempts": [
        null
      ],
      "delivery_before": [
        null
      ],
      "delivery_deadline": [
        "best_effort"
      ],
      "direct_contract_only": [
        false
      ],
      "eco_delivery": [
        false
      ],
      "first_mile": [
        "pickup_dropoff"
      ],
      "flex_delivery": [
        false
      ],
      "form_factor": [
        "parcel"
      ],
      "fragile_goods": [
        false
      ],
      "fresh_goods": [
        false
      ],
      "harmonized_label": [
        false
      ],
      "id_check": [
        false
      ],
      "incoterm": [
        null
      ],
      "insurance": [
        null,
        4000,
        2500,
        1000,
        5000,
        3500,
        2000,
        4500,
        500,
        2300,
        3000,
        1500
      ],
      "last_mile": [
        "home_delivery"
      ],
      "manually": [
        false
      ],
      "multicollo": [
        true
      ],
      "neighbor_delivery": [
        false,
        true
      ],
      "non_conveyable": [
        false
      ],
      "personalized_delivery": [
        false
      ],
      "premium": [
        false
      ],
      "priority": [
        null
      ],
      "registered_delivery": [
        false
      ],
      "returns": [
        false
      ],
      "segment": [
        null
      ],
      "service_area": [
        "domestic"
      ],
      "signature": [
        false,
        true
      ],
      "size": [
        null
      ],
      "sorted": [
        false
      ],
      "surcharge": [
        false
      ],
      "tracked": [
        true
      ],
      "tyres": [
        false
      ],
      "weekend_delivery": [
        "saturday"
      ],
      "labelless": [
        false
      ],
      "ers": [
        false
      ]
    },
    "methods": [
      {
        "id": 2368,
        "name": "PostNL Standard 0-23kg",
        "functionalities": {
          "neighbor_delivery": true,
          "weekend_delivery": "saturday"
        },
        "shipping_product_code": "postnl:standard",
        "properties": {
          "min_weight": 1,
          "max_weight": 23000,
          "max_dimensions": {
            "length": 100,
            "width": 70,
            "height": 58,
            "unit": "centimeter"
          }
        },
        "lead_time_hours": {
          "NL": {
            "NL": 24
          }
        }
      },
      {
        "id": 2373,
        "name": "PostNL Standard 23-31.5kg",
        "functionalities": {
          "neighbor_delivery": true,
          "weekend_delivery": "saturday"
        },
        "shipping_product_code": "postnl:standard",
        "properties": {
          "min_weight": 23000,
          "max_weight": 31500,
          "max_dimensions": {
            "length": 175,
            "width": 78,
            "height": 58,
            "unit": "centimeter"
          }
        },
        "lead_time_hours": {
          "NL": {
            "NL": 24
          }
        }
      },
      {
        "id": 2313,
        "name": "PostNL age check 0-23kg",
        "functionalities": {
          "age_check": 18,
          "neighbor_delivery": true,
          "weekend_delivery": "saturday"
        },
        "shipping_product_code": "postnl:standard",
        "properties": {
          "min_weight": 1,
          "max_weight": 23001,
          "max_dimensions": {
            "length": 100,
            "width": 70,
            "height": 58,
            "unit": "centimeter"
          }
        },
        "lead_time_hours": {
          "NL": {
            "NL": 24
          }
        }
      },
      {
        "id": 2322,
        "name": "PostNL evening delivery + home address only 0-23kg",
        "functionalities": {
          "delivery_before": "2000",
          "tracked": true,
          "weekend_delivery": "saturday"
        },
        "shipping_product_code": "postnl:standard",
        "properties": {
          "min_weight": 1,
          "max_weight": 23000,
          "max_dimensions": {
            "length": 100,
            "width": 70,
            "height": 58,
            "unit": "centimeter"
          }
        },
        "lead_time_hours": {
          "NL": {
            "NL": 24
          }
        }
      }
    ]
  }
]
In situations where you need to find a method which supports a specific means of delivery, type of parcel or delivery deadline, for example, this endpoint allows you to filter all available shipping methods based on one or more query parameters. The response body will include the id of any suitable methods, which you can then use with the Create a parcel or parcels endpoint and announce the shipment directly.
You must have either enabled a carrier in your Sendcloud account, or connected your own direct carrier contract, in order to be able to retrieve shipping methods related to that carrier via this endpoint.
If you have more than one active contract for a specific carrier, you must include the contract attribute with your desired contract ID in your request. You can get your contract ID from the Retrieve a list of contracts endpoint.
To see zonal carrier shipping methods, you need to provide the from_postal_code and to_postal_code query parameters.
To filter by shipping_functionality, you can find a glossary of accepted values and a description of each functionality under the Retrieve a list of shipping functionalities endpoint.

Use cases

Find a shipping method for a parcel weighing 5kg, shipping from the Netherlands to the United States with carrier PostNL.
GET https://panel.sendcloud.sc/api/v2/shipping-products?from_country=NL&to_country=US&carrier=postnl&weight=5&weight_unit=kilogram
Find a shipping method which includes the Age Check functionality for shipping alcohol products from France to Belgium.
GET https://panel.sendcloud.sc/api/v2/shipping-products?from_country=NL&to_country=BE&age_check=18
Find a shipping method that supports same day delivery for a product shipping from the Netherlands to the Netherlands.
GET https://panel.sendcloud.sc/api/v2/shipping-products?from_country=NL&to_country=NL&delivery_deadline=sameday
Find a return shipping method for a parcel returning from France to the Netherlands:
GET https://panel.sendcloud.sc/api/v2/shipping-products?from_country=FR&to_country=NL&returns=true

Authorizations

Authorization
string
header
required

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

Query Parameters

from_country
string
required

A country ISO 2 code for a from country (origin country).

Example:

"NL"

to_country
enum<string>

A country ISO 2 code for the recipient country. Required if the carrier is zonal or contract_pricing parameter is provided. A country represented by its ISO 3166-1 alpha-2 code

Available options:
AW,
AF,
AO,
AI,
AX,
AL,
AD,
AE,
AR,
AM,
AS,
AQ,
TF,
AG,
AU,
AT,
AZ,
BI,
BE,
BJ,
BQ,
BF,
BD,
BG,
BH,
BS,
BA,
BL,
BY,
BZ,
BM,
BO,
BR,
BB,
BN,
BT,
BV,
BW,
CF,
CA,
CC,
CH,
CL,
CN,
CI,
CM,
CD,
CG,
CK,
CO,
KM,
CV,
CR,
CU,
CW,
CX,
KY,
CY,
CZ,
DE,
DJ,
DM,
DK,
DO,
DZ,
EC,
EG,
ER,
EH,
ES,
EE,
ET,
FI,
FJ,
FK,
FR,
FO,
FM,
GA,
GB,
GE,
GG,
GH,
GI,
GN,
GP,
GM,
GW,
GQ,
GR,
GD,
GL,
GT,
GF,
GU,
GY,
HK,
HM,
HN,
HR,
HT,
HU,
ID,
IM,
IN,
IO,
IE,
IR,
IQ,
IS,
IL,
IT,
JM,
JE,
JO,
JP,
KZ,
KE,
KG,
KH,
KI,
KN,
KR,
KW,
LA,
LB,
LR,
LY,
LC,
LI,
LK,
LS,
LT,
LU,
LV,
MO,
MF,
MA,
MC,
MD,
MG,
MV,
MX,
MH,
MK,
ML,
MT,
MM,
ME,
MN,
MP,
MZ,
MR,
MS,
MQ,
MU,
MW,
MY,
YT,
NA,
NC,
NE,
NF,
NG,
NI,
NU,
NL,
NO,
NP,
NR,
NZ,
OM,
PK,
PA,
PN,
PE,
PH,
PW,
PG,
PL,
PR,
KP,
PT,
PY,
PS,
PF,
QA,
RE,
RO,
RU,
RW,
SA,
SD,
SN,
SG,
GS,
SH,
SJ,
SB,
SL,
SV,
SM,
SO,
PM,
RS,
SS,
ST,
SR,
SK,
SI,
SE,
SZ,
SX,
SC,
SY,
TC,
TD,
TG,
TH,
TJ,
TK,
TM,
TL,
TO,
TT,
TN,
TR,
TV,
TW,
TZ,
UG,
UA,
UM,
UY,
US,
UZ,
VA,
VC,
VE,
VG,
VI,
VN,
VU,
WF,
WS,
YE,
ZA,
ZM,
ZW,
IC,
XK
Example:

"NL"

carrier
string

A carrier code.

Example:

"postnl"

contract
integer

The contract id used for shipping product/method filtering. It has a similar effect as using the carrier parameter. If the contract_pricing parameter is used, the carrier is used to provide the correct contract pricing. Only required if multiple contract prices exist for the same shipping method.

Example:

123

weight
integer

The weight of the shipment.

Required range: x >= 0
Example:

1500

weight_unit
enum<string>

The unit for the shipment weight. Required if the weight parameter is provided.

Available options:
gram,
kilogram
Example:

"gram"

length
integer

The length of the shipment. Required if the width and/or height parameters are provided.

Required range: x >= 0
Example:

100

length_unit
enum<string>

The unit for the shipment length. Required if the length parameter is provided.

Available options:
millimeter,
centimeter,
meter
Example:

"centimeter"

width
integer

The width of the shipment. Required if the length and/or height parameters are provided.

Required range: x >= 0
Example:

50

width_unit
enum<string>

The unit for the shipment width. Required if the “width” parameter is provided.

Available options:
millimeter,
centimeter,
meter
Example:

"centimeter"

height
integer

The height of the shipment. Required if the “width” and/or “length” parameters are provided.

Required range: x >= 0
Example:

10

height_unit
enum<string>

The unit for the shipment height. Required if the “height” parameter is provided.

Available options:
millimeter,
centimeter,
meter
Example:

"centimeter"

lead_time_hours
integer

Filters shipping products (rather its associated shipping methods) by their transit time. This is the estimated time a shipment takes between a parcel is being picked up by a carrier and it reaching its destination. This parameter supports comparison operators (e.g. lead_time_hours[gte]=12 for filtering out shipments that have less than 12 hours transit time or lead_time_hours[gte=24]&lead_time_hours[lte]=48 for only including shipping products whose methods have a transit time between 24 and 48 hours). Available operators are “eq” (equal), “gt” (greater than), “lt” (less than), “gte” (greater than or equal), and “lte” (less than or equal).

Example:

24

contract_pricing
boolean

Whether to include contract prices in the response. This parameter is only available to users upon request. Please contact customer support.

Example:

false

from_postal_code
string

Postal code of the sender. Required if the carrier is zonal.

Maximum string length: 12
Example:

"01000"

to_postal_code
string

Postal code of the recipient. Required if the carrier is zonal.

Maximum string length: 12
Example:

"01000"

returns
boolean
default:false

If set to true the endpoint will return shipping methods which can be used for making a return shipment.

Response

A list of shipping products the user has access to.

name
string
required

A human friendly name for the functionality.

carrier
string
required
service_points_carrier
string
required
code
string
required

A unique identifier for the shipping product.

weight_range
object
required

Indicates the minimal and maximal weight of the shipping product, in grams (bounds are inclusive).

methods
Shipping Product Method Object · object[]
required

Indicate the shipping methods belonging to this shipping product.

available_functionalities
Available Shipping Functionalities Object · object
required