Retrieve Shipment Rates

When you rate shipments, ShipEngine returns a list of rates with information about each one, such as the costs and the estimated delivery date. Each of these rates is specific to the shipment information provided in the rate request.

This shipment information is stored by ShipEngine as a shipment object, and each rate is associated with a shipment_id. You can then retrieve the rates later using this shipment_id.

Example Request

GET /v1/shipments/:shipment_id/rates

This example retrieves the rates for shipment se-2102034

GET /v1/shipments/se-2102034/rates HTTP/1.1

Example Response

The response includes a list of rates for shipment se-2102034. Each rate includes a rate_id that you can use to create a label.

    "shipment_id": "se-2102034",
    "status": "completed",
    "created_at": "2019-07-25T15:24:46.657Z",
    "rates": [
        "rate_id": "se-11744390",
        "rate_type": "shipment",
        "carrier_id": "se-123890",
        "shipping_amount": {
          "currency": "usd",
          "amount": 9.37
        "insurance_amount": {
          "currency": "usd",
          "amount": 0.00
        "confirmation_amount": {
          "currency": "usd",
          "amount": 0.00
        "other_amount": {
          "currency": "usd",
          "amount": 0.00
        "delivery_days": 3,
        "guaranteed_service": false,
        "delivery_date": "2019-07-25T05:00:00.000Z",
        "carrier_delivery_days": "Friday by 11:00 PM",
        "ship_date": "2019-07-25T05:00:00.000ZPlus3$",
        "negotiated_rate": false,
        "service_type": "UPS® Ground",
        "service_code": "ups_ground",
        "trackable": true,
        "validation_status": "valid",
        "warning_messages": [],
        "error_messages": [],
        "carrier_code": "ups",
        "carrier_nickname": "UPS-28A1R9",
        "carrier_friendly_name": "UPS"
    "invalid_rates": [],
    "errors": null

Similar to before, we're only displaying a single rate, even though many more were returned.