Shipping methods

Sendcloud partners with 80+ international carriers to offer a wide variety of flexible shipping methods. Some methods are only available when you connect a direct carrier contract, while others can be enabled in your Sendcloud account, so you can start shipping with them straight away.

This article serves as a guide on how to make an API call to retrieve a list of available shipping methods. This will allow you to find the id for a method and use it to announce a parcel. This is the unique identifier which you need to obtain before you can perform the following activities via the API:

  1. Create a shipping label: before you can create a shipping label, you first need to specify a shipping method id in your request to the Create a parcel or Update a parcel endpoints. The parcel will then be announced with the relevant carrier, and the label can be downloaded.
  2. Retrieve shipping rates: you can check the rates for a specific shipping method by providing the method id in your request to the Shipping prices endpoint.
  3. Create a return: you need to specify the id for an appropriate return shipping method in order to announce a return parcel.
Note: Shipping method ID’s are volatile, and should not be cached for more than an hour.

Retrieve shipping methods

To retrieve a list of shipping methods which can be used to ship a parcel, you need to make a GET request to the List of all shipping methods endpoint.

The shipping methods that will be retrieved appear based on the following factors:

  1. The carriers you have enabled in your Sendcloud account;
  2. (Optional) The direct carrier contracts you have connected; and,
  3. Your sender address: if you don’t specify a sender_address id in the request body, then your default sender address will be used. This may affect which shipping methods you can see in the response, as some methods and carriers only operate in certain locations.

Example request


Example response

 2    "id": 1490,
 3    "name": "Chrono Classic 23-24kg",
 4    "carrier": "chronopost",
 5    "min_weight": "23.001",
 6    "max_weight": "24.001",
 7    "service_point_input": "none",
 8    "price": 0,
 9    "countries": [
10        {
11            "id": 16,
12            "name": "Austria",
13            "price": 45.0,
14            "iso_2": "AT",
15            "iso_3": "AUT",
16            "lead_time_hours": null,
17            "from_id": 8,
18            "from_name": "France",
19            "from_iso_2": "FR",
20            "from_iso_3": "FRA"
21        },
22        {
23            "id": 1,
24            "name": "Belgium",
25            "price": 40.0,
26            "iso_2": "BE",
27            "iso_3": "BEL",
28            "lead_time_hours": null,
29            "from_id": 8,
30            "from_name": "France",
31            "from_iso_2": "FR",
32            "from_iso_3": "FRA"
33        }
34    ]

Some things to note about the response:

  • The shipping method id is listed directly under shipping_method e.g. "id": 365
  • In this example, we specified an id for a French sender addresses saved in our Sender account via the sender_address parameter. As a result, the response includes shipping methods which are applicable for shipping from France to the rest of the world. You can find the id for each of your sender addresses by making a GET request to the Get a single sender address endpoint.
  • Prices for each method are displayed under the countries object. Please note that the prices shown above are an example only, and rates will differ depending on your current subscription plan.
Tip: Once you’re familiar with making API calls to retrieve shipping methods, you may want to filter for shipping methods based on their added-value services, known as shipping functionalities. An example of this would be the ability to only retrieve shipping methods which require a “Signature on receipt”. This is possible via the Shipping products endpoint.

Advanced options

Retrieve service point delivery methods

If you want to ship a parcel to a service point, you need to use an applicable service point delivery method. You can filter the list of results to only display methods which can be used for service point delivery by including a service_point_id value in your request.

Example request


Example response

2    "id": 1317,
3    "name": "DHL Parcel Connect 5-15kg to ParcelShop",
4    "carrier": "dhl",
5    "min_weight": "5.001",
6    "max_weight": "15.001",
7    "service_point_input": "required",
8    "price": 0
You can retrieve a service_point_id via the Service Points API.

Filter on return shipping methods

Return methods are treated differently from methods for outgoing parcels. If you want to filter the results to show only the methods which apply to return parcels, include the argument is_return: "true" in your request.

For a more refined way to retrieve return methods, you can refer to the Returns API endpoints to filter for shipping products which match a given set of parcel charactertics, such as ship from country, ship to country, parcel weight and parcel dimensions.

Example request


Example response

 2	"shipping_methods": [
 3		{
 4			"id": 117,
 5			"name": "DHLForYou Drop Off",
 6			"carrier": "dhl",
 7			"min_weight": "0.001",
 8			"max_weight": "20.001",
 9			"service_point_input": "none",
10			"price": 0
11        }
12    ]

“Invalid shipment ID” Error message

If you try to Create a parcel but receive the error message “Invalid shipment id”, this could be because you’re trying to use a shipping method which isn’t applicable for the destination address.

For example, if you need to ship a parcel internationally, but the specified shipping method only supports national (domestic) delivery, then you would need to lookup a new id for a supporting method and change the request.

Go to top