What is ShipEngine?

Looking for a user-interface solution?

ShipStation might be the best fit for your business.

ShipEngine and ShipStation are part of the Auctane family of shipping solutions built for ecommerce brands, platforms, 3PLs and others. While ShipEngine is an API that you can integrate into your existing technology, ShipStation is a cloud-based application that provides a user-interface for users that need one.

Learn about ShipStation
curl -iX POST https://api.shipengine.com/v1/labels \
-H 'API-Key: __YOUR_API_KEY_HERE__' \
-H 'Content-Type: application/json' \
-d '{
  "shipment": {
    "service_code": "usps_priority_mail",
    "ship_to": {
      "name": "Amanda Miller",
      "phone": "555-555-5555",
      "address_line1": "525 S Winchester Blvd",
      "city_locality": "San Jose",
      "state_province": "CA",
      "postal_code": "95128",
      "country_code": "US",
      "address_residential_indicator": "yes"
    },
    "ship_from": {
      "name": "John Doe",
      "phone": "111-111-1111",
      "company_name": "Example Corp.",
      "address_line1": "4009 Marathon Blvd",
      "address_line2": "Suite 300",
      "city_locality": "Austin",
      "state_province": "TX",
      "postal_code": "78756",
      "country_code": "US",
      "address_residential_indicator": "no"
    },
    "packages": [
      {
        "weight": {
          "value": 20,
          "unit": "ounce"
        }
      }
    ]
  }
}'

 

POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "shipment": {
    "service_code": "usps_priority_mail",
    "ship_to": {
      "name": "Amanda Miller",
      "phone": "555-555-5555",
      "address_line1": "525 S Winchester Blvd",
      "city_locality": "San Jose",
      "state_province": "CA",
      "postal_code": "95128",
      "country_code": "US",
      "address_residential_indicator": "yes"
    },
    "ship_from": {
      "name": "John Doe",
      "phone": "111-111-1111",
      "company_name": "Example Corp.",
      "address_line1": "4009 Marathon Blvd",
      "address_line2": "Suite 300",
      "city_locality": "Austin",
      "state_province": "TX",
      "postal_code": "78756",
      "country_code": "US",
      "address_residential_indicator": "no"
    },
    "packages": [
      {
        "weight": {
          "value": 20,
          "unit": "ounce"
        }
      }
    ]
  }
}

}

 

import requests url = “https://api.shipengine.com/v1/labels” payload = “{\n \”shipment\”: {\n \”service_code\”: \”usps_priority_mail\”,\n \”ship_to\”: {\n \”name\”: \”Amanda Miller\”,\n \”phone\”: \”555-555-5555\”,\n \”address_line1\”: \”525 S Winchester Blvd\”,\n \”city_locality\”: \”San Jose\”,\n \”state_province\”: \”CA\”,\n \”postal_code\”: \”95128\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”yes\”\n },\n \”ship_from\”: {\n \”name\”: \”John Doe\”,\n \”phone\”: \”111-111-1111\”,\n \”company_name\”: \”Example Corp.\”,\n \”address_line1\”: \”4009 Marathon Blvd\”,\n \”address_line2\”: \”Suite 300\”,\n \”city_locality\”: \”Austin\”,\n \”state_province\”: \”TX\”,\n \”postal_code\”: \”78756\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”no\”\n },\n \”packages\”: [\n {\n \”weight\”: {\n \”value\”: 20,\n \”unit\”: \”ounce\”\n }\n }\n ]\n }\n}” headers = { ‘Host’: ‘api.shipengine.com’, ‘API-Key’: ‘__YOUR_API_KEY_HERE__’, ‘Content-Type’: ‘application/json’ } response = requests.request(“POST”, url, headers=headers, data = payload) print(response.text.encode(‘utf8’))

require “uri” require “net/http” url = URI(“https://api.shipengine.com/v1/labels”) https = Net::HTTP.new(url.host, url.port); https.use_ssl = true request = Net::HTTP::Post.new(url) request[“Host”] = “api.shipengine.com” request[“API-Key”] = “__YOUR_API_KEY_HERE__” request[“Content-Type”] = “application/json” request.body = “{\n \”shipment\”: {\n \”service_code\”: \”usps_priority_mail\”,\n \”ship_to\”: {\n \”name\”: \”Amanda Miller\”,\n \”phone\”: \”555-555-5555\”,\n \”address_line1\”: \”525 S Winchester Blvd\”,\n \”city_locality\”: \”San Jose\”,\n \”state_province\”: \”CA\”,\n \”postal_code\”: \”95128\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”yes\”\n },\n \”ship_from\”: {\n \”name\”: \”John Doe\”,\n \”phone\”: \”111-111-1111\”,\n \”company_name\”: \”Example Corp.\”,\n \”address_line1\”: \”4009 Marathon Blvd\”,\n \”address_line2\”: \”Suite 300\”,\n \”city_locality\”: \”Austin\”,\n \”state_province\”: \”TX\”,\n \”postal_code\”: \”78756\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”no\”\n },\n \”packages\”: [\n {\n \”weight\”: {\n \”value\”: 20,\n \”unit\”: \”ounce\”\n }\n }\n ]\n }\n}” response = https.request(request) puts response.read_body

var client = new RestClient(“https://api.shipengine.com/v1/labels”); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader(“Host”, “api.shipengine.com”); request.AddHeader(“API-Key”, “__YOUR_API_KEY_HERE__”); request.AddHeader(“Content-Type”, “application/json”); request.AddParameter(“application/json”, “{\n \”shipment\”: {\n \”service_code\”: \”usps_priority_mail\”,\n \”ship_to\”: {\n \”name\”: \”Amanda Miller\”,\n \”phone\”: \”555-555-5555\”,\n \”address_line1\”: \”525 S Winchester Blvd\”,\n \”city_locality\”: \”San Jose\”,\n \”state_province\”: \”CA\”,\n \”postal_code\”: \”95128\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”yes\”\n },\n \”ship_from\”: {\n \”name\”: \”John Doe\”,\n \”phone\”: \”111-111-1111\”,\n \”company_name\”: \”Example Corp.\”,\n \”address_line1\”: \”4009 Marathon Blvd\”,\n \”address_line2\”: \”Suite 300\”,\n \”city_locality\”: \”Austin\”,\n \”state_province\”: \”TX\”,\n \”postal_code\”: \”78756\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”no\”\n },\n \”packages\”: [\n {\n \”weight\”: {\n \”value\”: 20,\n \”unit\”: \”ounce\”\n }\n }\n ]\n }\n}”, ParameterType.RequestBody); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content);

curl -iX POST https://api.shipengine.com/v1/rates \
-H 'API-Key: __YOUR_API_KEY_HERE__' \
-H 'Content-Type: application/json' \
-d '{
  "rate_options": {
    "carrier_ids": [
      "se-123890"
    ]
  },
  "shipment": {
    "validate_address": "no_validation",
    "ship_to": {
      "name": "Amanda Miller",
      "phone": "555-555-5555",
      "address_line1": "525 S Winchester Blvd",
      "city_locality": "San Jose",
      "state_province": "CA",
      "postal_code": "95128",
      "country_code": "US",
      "address_residential_indicator": "yes"
    },
    "ship_from": {
      "company_name": "Example Corp.",
      "name": "John Doe",
      "phone": "111-111-1111",
      "address_line1": "4009 Marathon Blvd",
      "address_line2": "Suite 300",
      "city_locality": "Austin",
      "state_province": "TX",
      "postal_code": "78756",
      "country_code": "US",
      "address_residential_indicator": "no"
    },
    "packages": [
      {
        "weight": {
          "value": 1.0,
          "unit": "ounce"
        }
      }
    ]
  }
}'
POST /v1/rates HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "rate_options": {
    "carrier_ids": [
      "se-123890"
    ]
  },
  "shipment": {
    "validate_address": "no_validation",
    "ship_to": {
      "name": "Amanda Miller",
      "phone": "555-555-5555",
      "address_line1": "525 S Winchester Blvd",
      "city_locality": "San Jose",
      "state_province": "CA",
      "postal_code": "95128",
      "country_code": "US",
      "address_residential_indicator": "yes"
    },
    "ship_from": {
      "company_name": "Example Corp.",
      "name": "John Doe",
      "phone": "111-111-1111",
      "address_line1": "4009 Marathon Blvd",
      "address_line2": "Suite 300",
      "city_locality": "Austin",
      "state_province": "TX",
      "postal_code": "78756",
      "country_code": "US",
      "address_residential_indicator": "no"
    },
    "packages": [
      {
        "weight": {
          "value": 1.0,
          "unit": "ounce"
        }
      }
    ]
  }
}

import requests url = “https://api.shipengine.com/v1/rates” payload = “{\n \”rate_options\”: {\n \”carrier_ids\”: [\n \”se-123890\”\n ]\n },\n \”shipment\”: {\n \”validate_address\”: \”no_validation\”,\n \”ship_to\”: {\n \”name\”: \”Amanda Miller\”,\n \”phone\”: \”555-555-5555\”,\n \”address_line1\”: \”525 S Winchester Blvd\”,\n \”city_locality\”: \”San Jose\”,\n \”state_province\”: \”CA\”,\n \”postal_code\”: \”95128\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”yes\”\n },\n \”ship_from\”: {\n \”company_name\”: \”Example Corp.\”,\n \”name\”: \”John Doe\”,\n \”phone\”: \”111-111-1111\”,\n \”address_line1\”: \”4009 Marathon Blvd\”,\n \”address_line2\”: \”Suite 300\”,\n \”city_locality\”: \”Austin\”,\n \”state_province\”: \”TX\”,\n \”postal_code\”: \”78756\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”no\”\n },\n \”packages\”: [\n {\n \”weight\”: {\n \”value\”: 1.0,\n \”unit\”: \”ounce\”\n }\n }\n ]\n }\n}” headers = { ‘Host’: ‘api.shipengine.com’, ‘API-Key’: ‘__YOUR_API_KEY_HERE__’, ‘Content-Type’: ‘application/json’ } response = requests.request(“POST”, url, headers=headers, data = payload) print(response.text.encode(‘utf8’))

require “uri” require “net/http” url = URI(“https://api.shipengine.com/v1/rates”) https = Net::HTTP.new(url.host, url.port); https.use_ssl = true request = Net::HTTP::Post.new(url) request[“Host”] = “api.shipengine.com” request[“API-Key”] = “__YOUR_API_KEY_HERE__” request[“Content-Type”] = “application/json” request.body = “{\n \”rate_options\”: {\n \”carrier_ids\”: [\n \”se-123890\”\n ]\n },\n \”shipment\”: {\n \”validate_address\”: \”no_validation\”,\n \”ship_to\”: {\n \”name\”: \”Amanda Miller\”,\n \”phone\”: \”555-555-5555\”,\n \”address_line1\”: \”525 S Winchester Blvd\”,\n \”city_locality\”: \”San Jose\”,\n \”state_province\”: \”CA\”,\n \”postal_code\”: \”95128\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”yes\”\n },\n \”ship_from\”: {\n \”company_name\”: \”Example Corp.\”,\n \”name\”: \”John Doe\”,\n \”phone\”: \”111-111-1111\”,\n \”address_line1\”: \”4009 Marathon Blvd\”,\n \”address_line2\”: \”Suite 300\”,\n \”city_locality\”: \”Austin\”,\n \”state_province\”: \”TX\”,\n \”postal_code\”: \”78756\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”no\”\n },\n \”packages\”: [\n {\n \”weight\”: {\n \”value\”: 1.0,\n \”unit\”: \”ounce\”\n }\n }\n ]\n }\n}” response = https.request(request) puts response.read_body

var client = new RestClient(“https://api.shipengine.com/v1/rates”); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader(“Host”, “api.shipengine.com”); request.AddHeader(“API-Key”, “__YOUR_API_KEY_HERE__”); request.AddHeader(“Content-Type”, “application/json”); request.AddParameter(“application/json”, “{\n \”rate_options\”: {\n \”carrier_ids\”: [\n \”se-123890\”\n ]\n },\n \”shipment\”: {\n \”validate_address\”: \”no_validation\”,\n \”ship_to\”: {\n \”name\”: \”Amanda Miller\”,\n \”phone\”: \”555-555-5555\”,\n \”address_line1\”: \”525 S Winchester Blvd\”,\n \”city_locality\”: \”San Jose\”,\n \”state_province\”: \”CA\”,\n \”postal_code\”: \”95128\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”yes\”\n },\n \”ship_from\”: {\n \”company_name\”: \”Example Corp.\”,\n \”name\”: \”John Doe\”,\n \”phone\”: \”111-111-1111\”,\n \”address_line1\”: \”4009 Marathon Blvd\”,\n \”address_line2\”: \”Suite 300\”,\n \”city_locality\”: \”Austin\”,\n \”state_province\”: \”TX\”,\n \”postal_code\”: \”78756\”,\n \”country_code\”: \”US\”,\n \”address_residential_indicator\”: \”no\”\n },\n \”packages\”: [\n {\n \”weight\”: {\n \”value\”: 1.0,\n \”unit\”: \”ounce\”\n }\n }\n ]\n }\n}”, ParameterType.RequestBody); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content);

curl -iX GET 'https://api.shipengine.com/v1/tracking?carrier_code=stamps_com&tracking_number=9405511899223197428490' \
-H 'API-Key: __YOUR_API_KEY_HERE__' \
GET /v1/tracking?carrier_code=stamps_com&tracking_number=9405511899223197428490 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__

 

import requests url = “https://api.shipengine.com/v1/tracking?carrier_code=stamps_com&tracking_number=9405511899223197428490” payload = {} headers = { ‘Host’: ‘api.shipengine.com’, ‘API-Key’: ‘__YOUR_API_KEY_HERE__’ } response = requests.request(“GET”, url, headers=headers, data = payload) print(response.text.encode(‘utf8’))

require “uri” require “net/http” url = URI(“https://api.shipengine.com/v1/tracking?carrier_code=stamps_com&tracking_number=9405511899223197428490”) https = Net::HTTP.new(url.host, url.port); https.use_ssl = true request = Net::HTTP::Get.new(url) request[“Host”] = “api.shipengine.com” request[“API-Key”] = “__YOUR_API_KEY_HERE__” response = https.request(request) puts response.read_body

var client = new RestClient(“https://api.shipengine.com/v1/tracking?carrier_code=stamps_com&tracking_number=9405511899223197428490”); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader(“Host”, “api.shipengine.com”); request.AddHeader(“API-Key”, “__YOUR_API_KEY_HERE__”); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content);

Time is Money: Get Yours Back

Stop wasting time, money, and manpower cobbling together disconnected tools and maintaining networks.

Use only the unique functions you need. Leverage our local, regional, national, and international carrier relationships. Get back to the business you love.

Our Products View Documentation

Remarkably Simple Integrations

You don't have to be a shipping expert. Quickly integrate with hundreds of carriers across 200+ countries. Integrate once and never worry again.

See Carrier Integrations See Order Source Integrations

The #1 Shipping API Powering Your Unique Solution

Our modern, highly performant Rest APIs and handcrafted SDKs support your custom workflows. Because we’re available via an API, you can choose the specific functions you need and embed them discreetly into your existing stack. Use ShipEngine to design and implement the shipping experience of your dreams.

Insane Documentation

It’s why developers love us. Our documentation is easily accessed and always up-to-date. Find what you need, and if you can’t we have the best support team around to help.

True Partnership

Our IpaaS, ShipEngine Connect, rapidly scales integrations to bypass common constraints. Access the same platform and tools we use across our family of brands and services.

Deploy Your Way

From hosted models and pre-built apps to special Partner APIs, we offer it all. Check out our developer sandbox to see for yourself. Need something else? We’ll build it with you.

We're Everywhere

We have your entire chain covered: horizontally and vertically. Access hundreds of carriers across hundreds of countries. Wherever you need to go, we can go there with you.