← APIs / Sendcloud
Verified

Sendcloud

Apiosk Basicsby Apiosk Basics · General

Provider of APIs

demoapi
Price per request
Free
About

Given a package (origin and destination country, weight, optional dimensions and postal codes) this API queries the Sendcloud carrier network and returns every available shipping method with its live price. Results are ranked two ways: cheapest (lowest price) and best (best value, a 70% price / 30% delivery-speed blend that falls back to price when a carrier exposes no lead-time data). Prices reflect the Sendcloud account rates and are returned in the account currency (EUR by default).

Base URL
https://gateway.apiosk.com/shipment-api
Technical Specs
Auth Methodnone
Response FormatJSON
Endpoints2
Endpoints
MethodPathDescriptionCost
GET /health Liveness check. Returns the service status and current server time. Free, no payment required.
Free default
View details
GET /shipments/options Find ranked shipment options for a package using query-string parameters. Returns the cheapest and best-value carrier plus the full priced list. EUR 0.10 per call.
$0.19 default
View details
Endpoint documentation
GET/health
Free default
Description

Liveness check. Returns the service status and current server time. Free, no payment required.

Pricing
Free default
Response schema
{
  "properties": {
    "status": {
      "description": "Always \"ok\" when the service is healthy.",
      "type": "string"
    },
    "time": {
      "description": "Server timestamp (ISO 8601).",
      "format": "date-time",
      "type": "string"
    }
  },
  "required": [
    "status",
    "time"
  ],
  "type": "object"
}
Example response
{
  "status": "ok",
  "time": "2026-06-02T14:25:00.595Z"
}
GET/shipments/options
$0.19 default
Description

Find ranked shipment options for a package using query-string parameters. Returns the cheapest and best-value carrier plus the full priced list. EUR 0.10 per call.

Pricing
$0.19 default
Parameters
{
  "description": "Parameters accept both snake_case and camelCase keys.",
  "properties": {
    "carrier": {
      "description": "Filter to a single carrier slug, e.g. dpd, postnl, dhl (optional).",
      "example": "dpd",
      "type": "string"
    },
    "currency": {
      "default": "EUR",
      "description": "Label currency for the returned prices (optional).",
      "type": "string"
    },
    "from_country": {
      "description": "Origin country, 2-letter ISO code.",
      "example": "NL",
      "pattern": "^[A-Za-z]{2}$",
      "type": "string"
    },
    "from_postal_code": {
      "description": "Origin postal code (optional, improves accuracy).",
      "example": "1000AA",
      "type": "string"
    },
    "height": {
      "description": "Parcel height in centimetres (optional).",
      "exclusiveMinimum": 0,
      "type": "number"
    },
    "length": {
      "description": "Parcel length in centimetres (optional).",
      "exclusiveMinimum": 0,
      "type": "number"
    },
    "to_country": {
      "description": "Destination country, 2-letter ISO code.",
      "example": "DE",
      "pattern": "^[A-Za-z]{2}$",
      "type": "string"
    },
    "to_postal_code": {
      "description": "Destination postal code (optional).",
      "example": "10115",
      "type": "string"
    },
    "weight": {
      "description": "Parcel weight as a positive number.",
      "example": 2.5,
      "exclusiveMinimum": 0,
      "type": "number"
    },
    "weight_unit": {
      "default": "kilogram",
      "description": "Unit for weight.",
      "enum": [
        "kilogram",
        "gram"
      ],
      "type": "string"
    },
    "width": {
      "description": "Parcel width in centimetres (optional).",
      "exclusiveMinimum": 0,
      "type": "number"
    }
  },
  "required": [
    "from_country",
    "to_country",
    "weight"
  ],
  "type": "object"
}
Request schema
{
  "description": "Parameters accept both snake_case and camelCase keys.",
  "properties": {
    "carrier": {
      "description": "Filter to a single carrier slug, e.g. dpd, postnl, dhl (optional).",
      "example": "dpd",
      "type": "string"
    },
    "currency": {
      "default": "EUR",
      "description": "Label currency for the returned prices (optional).",
      "type": "string"
    },
    "from_country": {
      "description": "Origin country, 2-letter ISO code.",
      "example": "NL",
      "pattern": "^[A-Za-z]{2}$",
      "type": "string"
    },
    "from_postal_code": {
      "description": "Origin postal code (optional, improves accuracy).",
      "example": "1000AA",
      "type": "string"
    },
    "height": {
      "description": "Parcel height in centimetres (optional).",
      "exclusiveMinimum": 0,
      "type": "number"
    },
    "length": {
      "description": "Parcel length in centimetres (optional).",
      "exclusiveMinimum": 0,
      "type": "number"
    },
    "to_country": {
      "description": "Destination country, 2-letter ISO code.",
      "example": "DE",
      "pattern": "^[A-Za-z]{2}$",
      "type": "string"
    },
    "to_postal_code": {
      "description": "Destination postal code (optional).",
      "example": "10115",
      "type": "string"
    },
    "weight": {
      "description": "Parcel weight as a positive number.",
      "example": 2.5,
      "exclusiveMinimum": 0,
      "type": "number"
    },
    "weight_unit": {
      "default": "kilogram",
      "description": "Unit for weight.",
      "enum": [
        "kilogram",
        "gram"
      ],
      "type": "string"
    },
    "width": {
      "description": "Parcel width in centimetres (optional).",
      "exclusiveMinimum": 0,
      "type": "number"
    }
  },
  "required": [
    "from_country",
    "to_country",
    "weight"
  ],
  "type": "object"
}
Response schema
{
  "description": "Ranked shipment options for the requested parcel.",
  "properties": {
    "best": {
      "description": "Best value: 70% price + 30% delivery speed; falls back to price when no lead-time data is available.",
      "type": [
        "object",
        "null"
      ]
    },
    "cheapest": {
      "description": "Lowest-priced option.",
      "properties": {
        "carrier": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "price": {
          "type": "number"
        },
        "score": {
          "type": "number"
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "count": {
      "description": "Number of priced options returned.",
      "type": "integer"
    },
    "options": {
      "description": "All priced shipping methods, ranked.",
      "items": {
        "properties": {
          "breakdown": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "carrier": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "leadTimeDays": {
            "type": [
              "integer",
              "null"
            ]
          },
          "method": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "product": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "shippingMethodId": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "request": {
      "description": "Echo of the normalized request (route, weight, dimensions, currency).",
      "type": "object"
    },
    "skipped": {
      "description": "Methods that matched the route but had no contracted price for the account (present only when non-empty).",
      "items": {
        "properties": {
          "method": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "request",
    "count",
    "options"
  ],
  "type": "object"
}
Example request
{
  "from_country": "NL",
  "from_postal_code": "1000AA",
  "to_country": "DE",
  "to_postal_code": "10115",
  "weight": 2.5
}
Example response
{
  "best": {
    "carrier": "dpd",
    "method": "DPD Shop",
    "price": 8.89,
    "score": 0
  },
  "cheapest": {
    "carrier": "dpd",
    "currency": "EUR",
    "method": "DPD Shop",
    "price": 8.89,
    "score": 0
  },
  "count": 6,
  "options": [
    {
      "carrier": "dpd",
      "currency": "EUR",
      "leadTimeDays": null,
      "method": "DPD Shop",
      "price": 8.89,
      "score": 0
    },
    {
      "carrier": "postnl",
      "currency": "EUR",
      "method": "PostNL Parcel EU 2-5kg",
      "price": 10.96
    },
    {
      "carrier": "dhl",
      "currency": "EUR",
      "method": "DHL Parcel Connect 2-5kg",
      "price": 11.75
    }
  ],
  "request": {
    "currency": "EUR",
    "from": {
      "country": "NL"
    },
    "to": {
      "country": "DE"
    },
    "weight": 2.5,
    "weightUnit": "kilogram"
  }
}