Shipping Cost Estimate
Estimate PostNord, DHL and UPS shipping costs by origin, destination, weight and service level.
Pay by wallet (x402)
shipping-cost-estimate Example
Example answer
{
"zone": "domestic",
"notes": "Estimates based on published rate guides. Get exact quotes from carrier websites. Prices in EUR, actual currency may vary by carrier and route.",
"origin": "TE",
"fastest": {
"carrier": "DHL",
"service": "express",
"delivery_days": "1"
},
"cheapest": {
"price": 5,
"carrier": "DHL",
"service": "economy"
},
"estimates": [
{
"price": 5,
"carrier": "DHL",
"service": "economy",
"currency": "EUR",
"delivery_days": "3-5"
},
{
"price": 8,
"carrier": "DHL",
"service": "standard",
"currency": "EUR",
"delivery_days": "2-3"
},
{
"price": 15,
"carrier": "DHL",
"service": "express",
"currency": "EUR",
"delivery_days": "1"
},
{
"price": 6,
"carrier": "UPS",
"service": "economy",
"currency": "EUR",
"delivery_days": "3-5"
},
{
"price": 9,
"carrier": "UPS",
"service": "standard",
"currency": "EUR",
"delivery_days": "2-3"
},
{
"price": 16,
"carrier": "UPS",
"service": "express",
"currency": "EUR",
"delivery_days": "1"
}
],
"weight_kg": 1,
"destination": "TE"
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
service | string | No | — |
weight_kg | number | Yes | — |
origin_country | string | Yes | — |
destination_country | string | Yes | — |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
fastest | object | Always (present in every successful answer) |
cheapest | object | Always (present in every successful answer) |
estimates | array | Always (present in every successful answer) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "shipping-cost-estimate",
"inputs": {
"weight_kg": 1,
"origin_country": "test_value",
"destination_country": "test_value"
},
"max_price_cents": 15
}' {
"tool": "strale_execute",
"arguments": {
"slug": "shipping-cost-estimate",
"inputs": {
"weight_kg": 1,
"origin_country": "test_value",
"destination_country": "test_value"
},
"max_price_cents": 15
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "shipping-cost-estimate",
inputs: {
"weight_kg": 1,
"origin_country": "test_value",
"destination_country": "test_value"
},
max_price_cents: 15,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="shipping-cost-estimate",
inputs={
"weight_kg": 1,
"origin_country": "test_value",
"destination_country": "test_value",
},
max_price_cents=15,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i 'https://api.strale.io/x402/v2/shipping-cost-estimate?weight_kg=1&origin_country=test_value&destination_country=test_value' Limitations
Actual shipping rates can differ from estimates
AI-generated estimates based on general carrier pricing — actual costs depend on account-specific rates, surcharges, and seasonal adjustments
What to do instead: Use as an order-of-magnitude estimate and request actual quotes from your contracted carriers for budgeting
Related tools
- Address Geocoding €0.02
- Barcode Lookup €0.05
- Container Tracking €0.05
- Country Lookup €0.02
- Country Tax Rates €0.02
- Country Trade Data €0.20