Rate Multiple Shipments

Info

Rate a Single Shipment

If you need to just rate a single shipment, see the Get Shipping Rates Quickstart.

With ShipEngine you're able to request rates for multiple shipments at once. Unlike in the Get Shipping Rates section, this process is asynchronous. If you subscribe to webhooks, you will receive a notification when the operation is complete.

You can then retrieve the rates and create a label using the rate_id.

Example Request

POST /v1/rates/bulk

This example requests rates for shipments that were previously created by passing the shipment_ids property.

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

{
  "shipment_ids": [
    "se-2127226",
    "se-2127227"
  ],
  "rate_options": {
    "carrier_ids": [
      "se-123890",
      "se-121861"
    ]
  }
}

This example includes the shipment information directly in the rate request rather than referencing an existing shipment. In this case, ShipEngine will create a shipment for you and include a shipment_id with the each rate when you retrieve the rates.

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

{
  "rate_options": {
    "carrier_ids": [
      "se-123890",
      "se-123890"
    ]
  },
  "shipments": [{
      "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"
      },
      "confirmation": "none",
      "packages": [{
        "package_code": "package",
        "weight": {
          "value": 12,
          "unit": "ounce"
        }
      }]
    },
    {
      "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"
      },
      "confirmation": "none",
      "packages": [{
        "package_code": "package",
        "weight": {
          "value": 1,
          "unit": "pound"
        }
      }]
    },
    {
      "ship_to": {
        "name": "Waffle HQ",
        "company_name": "Waffle House",
        "address_line1": "5986 Financial Drive",
        "address_line2": null,
        "address_line3": null,
        "city_locality": "Norcross",
        "state_province": "GA",
        "postal_code": "30071",
        "country_code": "US",
        "phone": "111-111-1111"
      },
      "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"
      },
      "confirmation": "none",
      "packages": [{
        "package_code": "package",
        "weight": {
          "value": 1,
          "unit": "ounce"
        }
      }]
    },
    {
      "ship_to": {
        "name": "Jony Ive",
        "company_name": "Apple",
        "address_line1": "1 Infinite Loop",
        "address_line2": null,
        "address_line3": null,
        "city_locality": "Cupertino",
        "state_province": "CA",
        "postal_code": "95014",
        "country_code": "US",
        "phone": "408-996-1010"
      },
      "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"
      },
      "confirmation": "none",
      "packages": [{
        "package_code": "package",
        "weight": {
          "value": 1,
          "unit": "ounce"
        }
      }]
    },
    {
      "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"
      },
      "confirmation": "none",
      "packages": [{
        "package_code": "package",
        "weight": {
          "value": 1,
          "unit": "ounce"
        }
      }]
    }
  ]
}

Example Response

[
  {
    "rate_request_id": 501846,
    "shipment_id": "se-2127226",
    "status": "working",
    "created_at": "2019-07-25T15:24:46.657Z"
  },
  {
    "rate_request_id": 501847,
    "shipment_id": "se-2127227",
    "status": "working",
    "created_at": "2019-07-25T15:24:46.657Z"
  }
]

As we've done before in other examples, we have truncated the response to only show a single rate. When you run this command, you will notice that there are many more rates that exist.