Quick Start

Before you begin

You will need:

  • A ShipRateAPI account with at least one store created
  • An API key — generated from the ShipRateAPI admin portal under Settings → API Keys
  • At least one carrier configured and enabled in the portal
Step 1 — Choose your integration method

All platforms use a single endpoint. The platform is passed in the X-Platform request header so ShipRateAPI can attribute requests to the correct integration for logging and analytics. The first-party plugins set this header automatically.

POST /api/v1/quotes
x-api-key: YOUR_API_KEY
X-Platform: magento2 | shopify | bigcommerce | custom

If you are using one of the first-party plugins, the endpoint is configured in the plugin settings and called automatically. See the Magento 2, Shopify, or BigCommerce guides for plugin-specific setup.

Step 2 — Make your first rate request

Send a POST request with a JSON body describing the shipment destination and items. All requests must include your API key in the x-api-key header.

curl -X POST https://api.shiprateapi.com/api/v1/quotes \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "dest_country_id": "GB",
    "dest_region_code": "ENG",
    "dest_postcode": "SW1A 1AA",
    "dest_city": "London",
    "package_weight": 2.5,
    "package_value": 49.99,
    "items": [
      {
        "sku": "WIDGET-001",
        "name": "Blue Widget",
        "qty": 2,
        "price": 24.99,
        "weight": 1.25,
        "tags": []
      }
    ]
  }'

See the API Reference for a full description of every field.

Step 3 — Read the response

A successful response is an array of rate objects. Only rates where available: true should be presented to the customer.

[
  {
    "available": true,
    "carrier_title": "Royal Mail",
    "method_code": "RM_tracked_48",
    "method_title": "Tracked 48",
    "amount": 3.99,
    "base_amount": 3.99
  },
  {
    "available": true,
    "carrier_title": "DPD",
    "method_code": "DPD_next_day",
    "method_title": "Next Day",
    "amount": 7.99,
    "base_amount": 7.99
  }
]
  • amount — the price to display to the customer (after any markups)
  • base_amount — the raw carrier cost before markup rules are applied
  • method_code — a stable identifier for the rate method, safe to store against an order
Next steps