curl --request POST \
--url https://{globale_api_domain}/ShippingDetails/GetShippingDetails \
--header 'Content-Type: application/json' \
--data '
{
"destinationCountry": "USA",
"amount": 50,
"currencyCode": "USD",
"productCodes": []
}
'import requests
url = "https://{globale_api_domain}/ShippingDetails/GetShippingDetails"
payload = {
"destinationCountry": "USA",
"amount": 50,
"currencyCode": "USD",
"productCodes": []
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({destinationCountry: 'USA', amount: 50, currencyCode: 'USD', productCodes: []})
};
fetch('https://{globale_api_domain}/ShippingDetails/GetShippingDetails', 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://{globale_api_domain}/ShippingDetails/GetShippingDetails",
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([
'destinationCountry' => 'USA',
'amount' => 50,
'currencyCode' => 'USD',
'productCodes' => [
]
]),
CURLOPT_HTTPHEADER => [
"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://{globale_api_domain}/ShippingDetails/GetShippingDetails"
payload := strings.NewReader("{\n \"destinationCountry\": \"USA\",\n \"amount\": 50,\n \"currencyCode\": \"USD\",\n \"productCodes\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
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://{globale_api_domain}/ShippingDetails/GetShippingDetails")
.header("Content-Type", "application/json")
.body("{\n \"destinationCountry\": \"USA\",\n \"amount\": 50,\n \"currencyCode\": \"USD\",\n \"productCodes\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{globale_api_domain}/ShippingDetails/GetShippingDetails")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"destinationCountry\": \"USA\",\n \"amount\": 50,\n \"currencyCode\": \"USD\",\n \"productCodes\": []\n}"
response = http.request(request)
puts response.read_body[
{
"destinationCountry": "USA",
"status": "active",
"shippingRates": [
{
"minOrderSubtotal": 0,
"maxOrderSubtotal": 100,
"shippingCost": 15,
"shippingCostCurrency": "USD",
"shippingPriority": "Express Courier (Air)",
"estimatedDeliveryDays": "1-3",
"specialOfferExpiryDate": null
},
{
"minOrderSubtotal": 100,
"maxOrderSubtotal": 9999999,
"shippingCost": 5,
"shippingCostCurrency": "USD",
"shippingPriority": "Express Courier (Air)",
"estimatedDeliveryDays": "1-3",
"specialOfferExpiryDate": null
}
]
}
]{
"Code": "400",
"Error": "Invalid country code",
"Description": "Country with code UT not found"
}{
"Code": "401",
"Error": "Parameter merchantGUID is not a valid GUID. Provided value C064DA15-65E6-42B7-B705-3554FC631. MerchantId=",
"Description": "Please provide the valid merchantGUID as supplied to you during initial setup"
}{
"Code": "500",
"Error": "Error occurred, Please contact Global‑e",
"Description": "Please send valid authentication token/userName in HTTP headers (Authorization/UserName)"
}Get shipping details (Merchant to Global-e)
Retrieves the cheapest estimated shipping cost and the free-shipping threshold range per destination, for a cart, mini cart, or product page.
curl --request POST \
--url https://{globale_api_domain}/ShippingDetails/GetShippingDetails \
--header 'Content-Type: application/json' \
--data '
{
"destinationCountry": "USA",
"amount": 50,
"currencyCode": "USD",
"productCodes": []
}
'import requests
url = "https://{globale_api_domain}/ShippingDetails/GetShippingDetails"
payload = {
"destinationCountry": "USA",
"amount": 50,
"currencyCode": "USD",
"productCodes": []
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({destinationCountry: 'USA', amount: 50, currencyCode: 'USD', productCodes: []})
};
fetch('https://{globale_api_domain}/ShippingDetails/GetShippingDetails', 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://{globale_api_domain}/ShippingDetails/GetShippingDetails",
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([
'destinationCountry' => 'USA',
'amount' => 50,
'currencyCode' => 'USD',
'productCodes' => [
]
]),
CURLOPT_HTTPHEADER => [
"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://{globale_api_domain}/ShippingDetails/GetShippingDetails"
payload := strings.NewReader("{\n \"destinationCountry\": \"USA\",\n \"amount\": 50,\n \"currencyCode\": \"USD\",\n \"productCodes\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
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://{globale_api_domain}/ShippingDetails/GetShippingDetails")
.header("Content-Type", "application/json")
.body("{\n \"destinationCountry\": \"USA\",\n \"amount\": 50,\n \"currencyCode\": \"USD\",\n \"productCodes\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{globale_api_domain}/ShippingDetails/GetShippingDetails")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"destinationCountry\": \"USA\",\n \"amount\": 50,\n \"currencyCode\": \"USD\",\n \"productCodes\": []\n}"
response = http.request(request)
puts response.read_body[
{
"destinationCountry": "USA",
"status": "active",
"shippingRates": [
{
"minOrderSubtotal": 0,
"maxOrderSubtotal": 100,
"shippingCost": 15,
"shippingCostCurrency": "USD",
"shippingPriority": "Express Courier (Air)",
"estimatedDeliveryDays": "1-3",
"specialOfferExpiryDate": null
},
{
"minOrderSubtotal": 100,
"maxOrderSubtotal": 9999999,
"shippingCost": 5,
"shippingCostCurrency": "USD",
"shippingPriority": "Express Courier (Air)",
"estimatedDeliveryDays": "1-3",
"specialOfferExpiryDate": null
}
]
}
]{
"Code": "400",
"Error": "Invalid country code",
"Description": "Country with code UT not found"
}{
"Code": "401",
"Error": "Parameter merchantGUID is not a valid GUID. Provided value C064DA15-65E6-42B7-B705-3554FC631. MerchantId=",
"Description": "Please provide the valid merchantGUID as supplied to you during initial setup"
}{
"Code": "500",
"Error": "Error occurred, Please contact Global‑e",
"Description": "Please send valid authentication token/userName in HTTP headers (Authorization/UserName)"
}Headers
The token retrieved via the GetAuthenticationToken API using merchant-specific credentials (provided to you by Global‑e). See the Authentication section under Global-e Environments.
The API UserName, provided to you by Global‑e.
Query Parameters
Unique Merchant Identifier and API token. The Merchant Identifier is different for test and live environments. Instead implement JWT authentication. (Not required if the JWT implementation is used, since it is provided in the Authorization and UserName headers.)
Body
The country's currency code. Length: 3 letters. Example: CAD, USD, ILS, EUR.
The shipping cost. This number can contain up to two digits after the decimal point. Example: 50.30.
The destination country. Length: 2-3 letters (both ISO-2 and ISO-3 are supported). If empty, the API returns a list of shipping rates for all countries configured in the Global‑e System. Example: US or USA for the United States.
The unique product reference (SKU, EAN, Barcode, and more). Example: ["product123","productABC"].
Response
An array of per-destination objects. Each contains the destination, the shipping-methods availability status, and up to two shipping-rate objects.
The destination country's ISO code. Length: 2/3-letter ISO country code based on the request value. Example: ISR, IL, USA, US.
Shipping methods availability. active: shipping methods were found for this destination. noShippingMethodsAvailable: no active shipping methods were found — shipments to the selected destination are currently not supported.
active, noShippingMethodsAvailable Contains up to two shipping-service objects, per the Shipping Details API logic. If the cheapest shipping service is the first to be subject to free shipping, only one shippingRates object is returned.
Show child attributes
Show child attributes

