WE’VE TURNED LOGISTICS PROBLEMS INTO SOLUTIONS FOR BRANDS LIKE

What is ShipEngine?

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 on disconnected tools and maintaining networks.

Only use the unique functions you need, and leverage our local, regional, national, and international carrier relationships. Put your focus back on the business you love.

Our Products View Documentation

ShipEngine Elements

Transform your 
ecommerce workflow

Quickly launch world-class shipping features within your platform using embeddable web components and optimize your user experience.

Explore ShipEngine Elements

REMARKABLY SIMPLE INTEGRATION

Quickly integrate with over 100 carriers and order sources around the world.

View Carrier Integrations

Learn more about how ShipEngine helps your business solve shipping.

Talk to a Shipping Expert
About Us Image

THE #1 SHIPPING API POWERING YOUR UNIQUE SOLUTION

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

About Us Image

Comprehensive 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.

Dynamic Integrations

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.