Skip to main content
POST
/
shipping-options
curl --request POST \
  --url https://panel.sendcloud.sc/api/v3/shipping-options \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "from_country_code": "NL",
  "to_country_code": "NL",
  "from_postal_code": "1012AB",
  "to_postal_code": "2000AB",
  "parcels": [
    {
      "dimensions": {
        "length": "30",
        "width": "20",
        "height": "15",
        "unit": "cm"
      },
      "weight": {
        "value": "2",
        "unit": "kg"
      },
      "additional_insured_price": {
        "value": "50.00",
        "currency": "EUR"
      }
    },
    {
      "dimensions": {
        "length": "25",
        "width": "18",
        "height": "12",
        "unit": "cm"
      },
      "weight": {
        "value": "1.5",
        "unit": "kg"
      },
      "total_insured_price": {
        "value": "100.00",
        "currency": "EUR"
      }
    }
  ],
  "carrier_code": "postnl",
  "functionalities": {
    "signature": true
  },
  "calculate_quotes": true
}
'
{
  "data": [],
  "message": "We couldn't find any shipping options for this request. Make sure your account has active shipping options that match the selected filters."
}

Documentation Index

Fetch the complete documentation index at: https://sendcloud.dev/llms.txt

Use this file to discover all available pages before exploring further.

Unlike the Create a list of shipping options endpoint, this endpoint accepts multiple parcels with individual dimensions and weights, and returns total pricing for the entire shipment. You must have either enabled a carrier in your Sendcloud account, or connected your own direct carrier contract, to retrieve shipping options for that carrier. Use from_address and to_address objects to specify origin and destination. The more address details you provide (e.g. postal_code, city, address_line_1, state_province_code), the more accurate the pricing — including zonal prices and remote area surcharges. The legacy flat fields (from_country_code, from_postal_code, to_country_code, to_postal_code) are still supported but deprecated. The two approaches are mutually exclusive.
For the most accurate pricing, use from_address and to_address with as many fields filled in as possible.
When no origin or destination is provided, shipping options are returned without quotes regardless of calculate_quotes.

Authorizations

Authorization
string
header
required

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

Body

application/json

Shipment details for quote calculation

from_address
Shipping Option Address · object

Sender address object. Cannot be combined with from_country_code or from_postal_code.

to_address
Shipping Option Address · object

Destination address object. Cannot be combined with to_country_code or to_postal_code.

from_country_code
string | null
deprecated

Sender country code in ISO 3166-1 alpha-2 format. Cannot be combined with from_address. Deprecated: Use from_address instead.

to_country_code
string | null
deprecated

Destination country code in ISO 3166-1 alpha-2 format. Cannot be combined with to_address. Deprecated: Use to_address instead.

from_postal_code
string | null
deprecated

The postal code of the sender address. Cannot be combined with from_address. Deprecated: Use from_address instead.

Maximum string length: 12
to_postal_code
string | null
deprecated

The postal code of the destination address. Cannot be combined with to_address. Deprecated: Use to_address instead.

Maximum string length: 12
to_service_point_id
integer | null
deprecated

Service point ID as specified in the Retrieve a list of service points endpoints. Deprecated: Use to_service_point instead.

to_service_point
Sendcloud ID · object

Node for service point information. Use the Retrieve a list of service points endpoint to find service points, or pass in the carrier's id for the service point.

If both the id and carrier_service_point_id are provided, the carrier_service_point_id will be prioritised.

parcels
object[] | null

List of parcels in a shipment.

functionalities
Shipping Functionalities Object · object

Shipping functionalities

carrier_code
string | null

Carrier code.

contract_id
integer | null

Contract id.

shipping_product_code
string | null

Shipping product code.

shipping_option_code
string | null

Specific shipping option code to use for pricing.

lead_time
Lead Time Filter Object · object

Filter to trim down shipping options with a specific lead time.

calculate_quotes
boolean | null
default:false

If true, the quotes will be retrieved for the provided parcels and other parameters.

If false, the quotes will not be retrieved, and the shipping options will be returned without quotes.

This is useful when you want to return shipping options with/without retrieving quotes.

The default value is false.

Response

List of shipping options for a shipment.

data
Shipping Option · object[] | null
required

A list of shipping options suitable for entire shipments. Each option includes total pricing for the entire shipment and breakdown per parcel. If the request doesn't pass basic details about the parcels (e.g. from_country, to_country), it's possible that the data will be null.

message
string | null

A human-readable message providing additional context about the response.