latestOpenAPI 3.0.02026-08-105585620.8 KB

18e2f2e178dd

Shipping Rate API

Calculate shipping rates

Returns available shipping options and rates for the given list of products.

Recipient Address Requirements:

  • Only country_code is required in the recipient object
  • state_code is only required for United States (US), Australia (AU), and Canada (CA)
  • All other recipient fields are optional

Note: Providing more address information may produce more precise results and more shipping options. While only the country code is required, including additional details like city, postal code, and state/province can help return more accurate shipping rates and additional delivery options.

Important: Shipping rates returned by this endpoint may differ from those returned by /orders/estimate-costs if your store has store shipping settings configured.

The /orders/estimate-costs endpoint automatically applies your store's shipping settings (including shipping markup), while this endpoint applies them only if the store shipping settings are enabled. To ensure consistent results between both endpoints, make sure your store shipping settings are enabled and properly configured in your Printful Dashboard.

post/shipping/rates

Headers

X-PF-Store-Idstring

Use this to specify which store you want to use (required only for account level token).

The store IDs can be retrieved with the Get basic information about stores endpoint.

Request body

currencystring

3 letter currency code (optional), required if the rates need to be converted to another currency instead of store default currency

localestring

Locale in which shipping rate names will be returned. Available options: en_US (default), es_ES

Example request

{
  "recipient": {
    "address1": "19749 Dearborn St",
    "address2": "Apt 2B",
    "city": "Chatsworth",
    "state_code": "CA",
    "country_code": "US",
    "zip": "91311",
    "phone": "+1234567890"
  },
  "items": [
    {
      "variant_id": "202",
      "external_variant_id": "1001",
      "warehouse_product_variant_id": "2",
      "quantity": 10,
      "value": "2.99"
    }
  ],
  "currency": "USD",
  "locale": "en_US"
}

Response

OK

codeinteger

Response status code 200

Example response

{
  "code": 200,
  "result": [
    {
      "id": "STANDARD",
      "name": "Flat Rate (Estimated delivery: May 19–24) ",
      "rate": "13.60",
      "currency": "EUR",
      "minDeliveryDays": 4,
      "maxDeliveryDays": 7
    }
  ]
}