curl --request POST \
--url https://app.smartsend.io/api/v2/team/{team}/rates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"currency": "EUR",
"parties": {
"receiver": {
"address": {
"address_lines": [
"3200 Whitehaven St. NW",
"Building A, Floor 2"
],
"postal_code": "20008",
"city": "Washington",
"country": "US",
"administrative_area": "DC"
}
}
},
"parcels": [
{
"gross_weight": 1,
"length": 1,
"width": 1,
"height": 1,
"items": [
{
"quantity": 1,
"net_weight": 1,
"tariff_code": "<string>",
"country_of_origin": "CN",
"dangerous_goods": [
{
"un_number": "<string>",
"class": "<string>",
"un_packing_group": "<string>",
"net_weight": 1,
"quantity": 1,
"environmentally_hazardous": true
}
]
}
]
}
]
}
'import requests
url = "https://app.smartsend.io/api/v2/team/{team}/rates"
payload = {
"currency": "EUR",
"parties": { "receiver": { "address": {
"address_lines": ["3200 Whitehaven St. NW", "Building A, Floor 2"],
"postal_code": "20008",
"city": "Washington",
"country": "US",
"administrative_area": "DC"
} } },
"parcels": [
{
"gross_weight": 1,
"length": 1,
"width": 1,
"height": 1,
"items": [
{
"quantity": 1,
"net_weight": 1,
"tariff_code": "<string>",
"country_of_origin": "CN",
"dangerous_goods": [
{
"un_number": "<string>",
"class": "<string>",
"un_packing_group": "<string>",
"net_weight": 1,
"quantity": 1,
"environmentally_hazardous": True
}
]
}
]
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
currency: 'EUR',
parties: {
receiver: {
address: {
address_lines: ['3200 Whitehaven St. NW', 'Building A, Floor 2'],
postal_code: '20008',
city: 'Washington',
country: 'US',
administrative_area: 'DC'
}
}
},
parcels: [
{
gross_weight: 1,
length: 1,
width: 1,
height: 1,
items: [
{
quantity: 1,
net_weight: 1,
tariff_code: '<string>',
country_of_origin: 'CN',
dangerous_goods: [
{
un_number: '<string>',
class: '<string>',
un_packing_group: '<string>',
net_weight: 1,
quantity: 1,
environmentally_hazardous: true
}
]
}
]
}
]
})
};
fetch('https://app.smartsend.io/api/v2/team/{team}/rates', 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://app.smartsend.io/api/v2/team/{team}/rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'currency' => 'EUR',
'parties' => [
'receiver' => [
'address' => [
'address_lines' => [
'3200 Whitehaven St. NW',
'Building A, Floor 2'
],
'postal_code' => '20008',
'city' => 'Washington',
'country' => 'US',
'administrative_area' => 'DC'
]
]
],
'parcels' => [
[
'gross_weight' => 1,
'length' => 1,
'width' => 1,
'height' => 1,
'items' => [
[
'quantity' => 1,
'net_weight' => 1,
'tariff_code' => '<string>',
'country_of_origin' => 'CN',
'dangerous_goods' => [
[
'un_number' => '<string>',
'class' => '<string>',
'un_packing_group' => '<string>',
'net_weight' => 1,
'quantity' => 1,
'environmentally_hazardous' => true
]
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.smartsend.io/api/v2/team/{team}/rates"
payload := strings.NewReader("{\n \"currency\": \"EUR\",\n \"parties\": {\n \"receiver\": {\n \"address\": {\n \"address_lines\": [\n \"3200 Whitehaven St. NW\",\n \"Building A, Floor 2\"\n ],\n \"postal_code\": \"20008\",\n \"city\": \"Washington\",\n \"country\": \"US\",\n \"administrative_area\": \"DC\"\n }\n }\n },\n \"parcels\": [\n {\n \"gross_weight\": 1,\n \"length\": 1,\n \"width\": 1,\n \"height\": 1,\n \"items\": [\n {\n \"quantity\": 1,\n \"net_weight\": 1,\n \"tariff_code\": \"<string>\",\n \"country_of_origin\": \"CN\",\n \"dangerous_goods\": [\n {\n \"un_number\": \"<string>\",\n \"class\": \"<string>\",\n \"un_packing_group\": \"<string>\",\n \"net_weight\": 1,\n \"quantity\": 1,\n \"environmentally_hazardous\": true\n }\n ]\n }\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.smartsend.io/api/v2/team/{team}/rates")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"EUR\",\n \"parties\": {\n \"receiver\": {\n \"address\": {\n \"address_lines\": [\n \"3200 Whitehaven St. NW\",\n \"Building A, Floor 2\"\n ],\n \"postal_code\": \"20008\",\n \"city\": \"Washington\",\n \"country\": \"US\",\n \"administrative_area\": \"DC\"\n }\n }\n },\n \"parcels\": [\n {\n \"gross_weight\": 1,\n \"length\": 1,\n \"width\": 1,\n \"height\": 1,\n \"items\": [\n {\n \"quantity\": 1,\n \"net_weight\": 1,\n \"tariff_code\": \"<string>\",\n \"country_of_origin\": \"CN\",\n \"dangerous_goods\": [\n {\n \"un_number\": \"<string>\",\n \"class\": \"<string>\",\n \"un_packing_group\": \"<string>\",\n \"net_weight\": 1,\n \"quantity\": 1,\n \"environmentally_hazardous\": true\n }\n ]\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.smartsend.io/api/v2/team/{team}/rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"currency\": \"EUR\",\n \"parties\": {\n \"receiver\": {\n \"address\": {\n \"address_lines\": [\n \"3200 Whitehaven St. NW\",\n \"Building A, Floor 2\"\n ],\n \"postal_code\": \"20008\",\n \"city\": \"Washington\",\n \"country\": \"US\",\n \"administrative_area\": \"DC\"\n }\n }\n },\n \"parcels\": [\n {\n \"gross_weight\": 1,\n \"length\": 1,\n \"width\": 1,\n \"height\": 1,\n \"items\": [\n {\n \"quantity\": 1,\n \"net_weight\": 1,\n \"tariff_code\": \"<string>\",\n \"country_of_origin\": \"CN\",\n \"dangerous_goods\": [\n {\n \"un_number\": \"<string>\",\n \"class\": \"<string>\",\n \"un_packing_group\": \"<string>\",\n \"net_weight\": 1,\n \"quantity\": 1,\n \"environmentally_hazardous\": true\n }\n ]\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"available": true,
"delivery": {
"carrier_code": "postnord",
"carrier_name": "PostNord",
"carrier_logo_url": "<string>",
"carrier_icon_url": "<string>",
"service_code": "postnord_agent",
"service_name": "Pickup Point",
"is_pickup": true,
"is_return": true,
"addons": [
{
"code": "SIGNATURE",
"name": "Signature"
}
]
},
"cost_price": {
"amount": 123
},
"delivery_window": {
"earliest": "2025-01-02T00:00:00Z",
"latest": "2025-01-04T23:59:59Z"
},
"cutoff": "2023-11-07T05:31:56Z",
"addons": [
{
"code": "SIGNATURE",
"name": "Signature",
"cost_price": {
"amount": 123
}
}
]
}
]
}{
"message": "Something unexpected happened."
}{
"message": "Something unexpected happened."
}{
"message": "Something unexpected happened."
}{
"message": "The given data was invalid.",
"errors": {
"field_name": [
"The field name is required."
]
}
}{
"message": "<string>"
}{
"message": "Something unexpected happened."
}{
"message": "Something unexpected happened."
}Get shipping rates
Returns available shipping rates for a specific shipment, including estimated delivery windows and cost prices. Only shows rates available for the authenticated team based on their carrier accounts. Cost prices may be null when unknown. Sender address is automatically taken from the authenticated team’s settings.
curl --request POST \
--url https://app.smartsend.io/api/v2/team/{team}/rates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"currency": "EUR",
"parties": {
"receiver": {
"address": {
"address_lines": [
"3200 Whitehaven St. NW",
"Building A, Floor 2"
],
"postal_code": "20008",
"city": "Washington",
"country": "US",
"administrative_area": "DC"
}
}
},
"parcels": [
{
"gross_weight": 1,
"length": 1,
"width": 1,
"height": 1,
"items": [
{
"quantity": 1,
"net_weight": 1,
"tariff_code": "<string>",
"country_of_origin": "CN",
"dangerous_goods": [
{
"un_number": "<string>",
"class": "<string>",
"un_packing_group": "<string>",
"net_weight": 1,
"quantity": 1,
"environmentally_hazardous": true
}
]
}
]
}
]
}
'import requests
url = "https://app.smartsend.io/api/v2/team/{team}/rates"
payload = {
"currency": "EUR",
"parties": { "receiver": { "address": {
"address_lines": ["3200 Whitehaven St. NW", "Building A, Floor 2"],
"postal_code": "20008",
"city": "Washington",
"country": "US",
"administrative_area": "DC"
} } },
"parcels": [
{
"gross_weight": 1,
"length": 1,
"width": 1,
"height": 1,
"items": [
{
"quantity": 1,
"net_weight": 1,
"tariff_code": "<string>",
"country_of_origin": "CN",
"dangerous_goods": [
{
"un_number": "<string>",
"class": "<string>",
"un_packing_group": "<string>",
"net_weight": 1,
"quantity": 1,
"environmentally_hazardous": True
}
]
}
]
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
currency: 'EUR',
parties: {
receiver: {
address: {
address_lines: ['3200 Whitehaven St. NW', 'Building A, Floor 2'],
postal_code: '20008',
city: 'Washington',
country: 'US',
administrative_area: 'DC'
}
}
},
parcels: [
{
gross_weight: 1,
length: 1,
width: 1,
height: 1,
items: [
{
quantity: 1,
net_weight: 1,
tariff_code: '<string>',
country_of_origin: 'CN',
dangerous_goods: [
{
un_number: '<string>',
class: '<string>',
un_packing_group: '<string>',
net_weight: 1,
quantity: 1,
environmentally_hazardous: true
}
]
}
]
}
]
})
};
fetch('https://app.smartsend.io/api/v2/team/{team}/rates', 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://app.smartsend.io/api/v2/team/{team}/rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'currency' => 'EUR',
'parties' => [
'receiver' => [
'address' => [
'address_lines' => [
'3200 Whitehaven St. NW',
'Building A, Floor 2'
],
'postal_code' => '20008',
'city' => 'Washington',
'country' => 'US',
'administrative_area' => 'DC'
]
]
],
'parcels' => [
[
'gross_weight' => 1,
'length' => 1,
'width' => 1,
'height' => 1,
'items' => [
[
'quantity' => 1,
'net_weight' => 1,
'tariff_code' => '<string>',
'country_of_origin' => 'CN',
'dangerous_goods' => [
[
'un_number' => '<string>',
'class' => '<string>',
'un_packing_group' => '<string>',
'net_weight' => 1,
'quantity' => 1,
'environmentally_hazardous' => true
]
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.smartsend.io/api/v2/team/{team}/rates"
payload := strings.NewReader("{\n \"currency\": \"EUR\",\n \"parties\": {\n \"receiver\": {\n \"address\": {\n \"address_lines\": [\n \"3200 Whitehaven St. NW\",\n \"Building A, Floor 2\"\n ],\n \"postal_code\": \"20008\",\n \"city\": \"Washington\",\n \"country\": \"US\",\n \"administrative_area\": \"DC\"\n }\n }\n },\n \"parcels\": [\n {\n \"gross_weight\": 1,\n \"length\": 1,\n \"width\": 1,\n \"height\": 1,\n \"items\": [\n {\n \"quantity\": 1,\n \"net_weight\": 1,\n \"tariff_code\": \"<string>\",\n \"country_of_origin\": \"CN\",\n \"dangerous_goods\": [\n {\n \"un_number\": \"<string>\",\n \"class\": \"<string>\",\n \"un_packing_group\": \"<string>\",\n \"net_weight\": 1,\n \"quantity\": 1,\n \"environmentally_hazardous\": true\n }\n ]\n }\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.smartsend.io/api/v2/team/{team}/rates")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"EUR\",\n \"parties\": {\n \"receiver\": {\n \"address\": {\n \"address_lines\": [\n \"3200 Whitehaven St. NW\",\n \"Building A, Floor 2\"\n ],\n \"postal_code\": \"20008\",\n \"city\": \"Washington\",\n \"country\": \"US\",\n \"administrative_area\": \"DC\"\n }\n }\n },\n \"parcels\": [\n {\n \"gross_weight\": 1,\n \"length\": 1,\n \"width\": 1,\n \"height\": 1,\n \"items\": [\n {\n \"quantity\": 1,\n \"net_weight\": 1,\n \"tariff_code\": \"<string>\",\n \"country_of_origin\": \"CN\",\n \"dangerous_goods\": [\n {\n \"un_number\": \"<string>\",\n \"class\": \"<string>\",\n \"un_packing_group\": \"<string>\",\n \"net_weight\": 1,\n \"quantity\": 1,\n \"environmentally_hazardous\": true\n }\n ]\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.smartsend.io/api/v2/team/{team}/rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"currency\": \"EUR\",\n \"parties\": {\n \"receiver\": {\n \"address\": {\n \"address_lines\": [\n \"3200 Whitehaven St. NW\",\n \"Building A, Floor 2\"\n ],\n \"postal_code\": \"20008\",\n \"city\": \"Washington\",\n \"country\": \"US\",\n \"administrative_area\": \"DC\"\n }\n }\n },\n \"parcels\": [\n {\n \"gross_weight\": 1,\n \"length\": 1,\n \"width\": 1,\n \"height\": 1,\n \"items\": [\n {\n \"quantity\": 1,\n \"net_weight\": 1,\n \"tariff_code\": \"<string>\",\n \"country_of_origin\": \"CN\",\n \"dangerous_goods\": [\n {\n \"un_number\": \"<string>\",\n \"class\": \"<string>\",\n \"un_packing_group\": \"<string>\",\n \"net_weight\": 1,\n \"quantity\": 1,\n \"environmentally_hazardous\": true\n }\n ]\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"available": true,
"delivery": {
"carrier_code": "postnord",
"carrier_name": "PostNord",
"carrier_logo_url": "<string>",
"carrier_icon_url": "<string>",
"service_code": "postnord_agent",
"service_name": "Pickup Point",
"is_pickup": true,
"is_return": true,
"addons": [
{
"code": "SIGNATURE",
"name": "Signature"
}
]
},
"cost_price": {
"amount": 123
},
"delivery_window": {
"earliest": "2025-01-02T00:00:00Z",
"latest": "2025-01-04T23:59:59Z"
},
"cutoff": "2023-11-07T05:31:56Z",
"addons": [
{
"code": "SIGNATURE",
"name": "Signature",
"cost_price": {
"amount": 123
}
}
]
}
]
}{
"message": "Something unexpected happened."
}{
"message": "Something unexpected happened."
}{
"message": "Something unexpected happened."
}{
"message": "The given data was invalid.",
"errors": {
"field_name": [
"The field name is required."
]
}
}{
"message": "<string>"
}{
"message": "Something unexpected happened."
}{
"message": "Something unexpected happened."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Preferred language(s) for translatable content using BCP 47 language tags. Supports quality values (q-factors) for priority ordering. The API negotiates the best available language based on this header, the team's configured language, and available translations. If omitted, the team's default language is used.
"da-DK, da;q=0.9, en;q=0.8"
Any value passed in this request will be returned in the same header. This can be used to correlate requests between client and server.
1 - 128^[A-Za-z0-9._-]{1,128}$Optional key that makes a write request idempotent so it can be safely retried. Reusing the key with an identical payload within 24 hours returns the original response without re-executing the operation (with an Idempotency-Replayed: true response header); reusing it with a different payload returns 422, and retrying while the original is still processing returns 409 with a Retry-After header. Use a client-generated, case-sensitive string of 16–128 characters (letters, digits, ., _, -). Deriving it deterministically from the request — for example the order ID combined with a hash of the payload — lets retries reuse the same key without storing it. See https://docs.smartsend.io/api-reference/idempotency.
16 - 128^[A-Za-z0-9._-]{16,128}$Path Parameters
Team identifier. All resources are scoped to this team.
1"ad9546c1-393e-49a5-9a72-5cc146c9bec5"
Query Parameters
Only include rates from these carriers (e.g., postnord, gls)
Filter by return services (true) or outbound services (false)
Body
Response
Rates retrieved successfully
Show child attributes
Show child attributes
Was this page helpful?