Shipping estimate

Market availability: US

The Shipping estimates API provides the cheapest rate to ship an order.

Endpoint

POST /v3/shipping/labels/shipping-estimates

Function

Use this API to estimate:

  • Standard shipping services
  • Services with add-on pricing
  • Cross-border shipping options

Request Samples

Request Sample 1

curl --request POST \ --url https://marketplace.walmartapis.com/v3/shipping/labels/shipping-estimates \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data '
{ "packageType": "CUSTOM_PACKAGE", "purchaseOrderId": "91088062299813853", "boxItems": [ { "lineNumber": "1", "sku": "sku-1NMeZnK1B1MNJdXde5771022", "quantity": 1 } ], "boxDimensions": { "boxWeightUnit": "LB", "boxWeight": 0.8, "boxLength": 6, "boxWidth": 6, "boxHeight": 6, "boxDimensionUnit": "IN" }, "shipByDate": "2023-06-05T08:00:00.611Z", "deliverByDate": "2023-06-07T23:00:00.611Z", "carriers": [ "FEDEX" ], "fromAddress": { "postalCode": "91776", "countryCode": "US", "addressLines": [ "311 E VALLEY BLVD STE 112 PMB 271as" ], "city": "SAN GABRIEL1as", "state": "CA" }, "toAddress": { "postalCode": "94085", "countryCode": "US", "addressLines": [ "748 N Mathilda Ave", "Room # 224" ], "city": "SUNNYVALE", "state": "CA" }, "includeServicesNotMeetingDeliveryPromise": true
}
'

Request Sample 2

curl --request POST \ --url https://marketplace.walmartapis.com/v3/shipping/labels/shipping-estimates \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data '
{ "packageType": "CUSTOM_PACKAGE", "purchaseOrderId": "91088062299813853", "boxItems": [ { "lineNumber": "1", "sku": "sku-1NMeZnK1B1MNJdXde5771022", "quantity": 1 } ], "boxDimensions": { "boxWeightUnit": "LB", "boxWeight": 0.8, "boxLength": 6, "boxWidth": 6, "boxHeight": 6, "boxDimensionUnit": "IN" }, "shipByDate": "2023-06-05T08:00:00.611Z", "deliverByDate": "2023-06-07T23:00:00.611Z", "carriers": [ "FEDEX" ], "fromAddress": { "postalCode": "91776", "countryCode": "US", "addressLines": [ "311 E VALLEY BLVD STE 112 PMB 271as" ], "city": "SAN GABRIEL1as", "state": "CA" }, "toAddress": { "postalCode": "94085", "countryCode": "US", "addressLines": [ "748 N Mathilda Ave", "Room # 224" ], "city": "SUNNYVALE", "state": "CA" }, "addOns": true, "includeServicesNotMeetingDeliveryPromise": true
}
'

Request Sample 3

curl --request POST \ --url https://marketplace.walmartapis.com/v3/shipping/labels/shipping-estimates \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data '
{ "packageType": "CUSTOM_PACKAGE", "purchaseOrderId": "91088062299813853", "boxItems": [ { "lineNumber": "1", "sku": "sku-1NMeZnK1B1MNJdXde5771022", "quantity": 1 } ], "boxDimensions": { "boxWeightUnit": "LB", "boxWeight": 0.8, "boxLength": 6, "boxWidth": 6, "boxHeight": 6, "boxDimensionUnit": "IN" }, "shipByDate": "2023-06-05T08:00:00.611Z", "deliverByDate": "2023-06-07T23:00:00.611Z", "carriers": [ "YANWEN" ], "fromAddress": { "postalCode": "510599", "countryCode": "CN", "addressLines": [ "GuSu District PingLong Road 251 Hao" ], "city": "guangZhouShi", "state": "GD" }, "toAddress": { "postalCode": "94085", "countryCode": "US", "addressLines": [ "748 N Mathilda Ave", "Room # 224" ], "city": "SUNNYVALE", "state": "CA" }, "hasBattery": false, "includeServicesNotMeetingDeliveryPromise": true
}
'

Modify Your Code

Before submitting a request, you can replace sample values in the real shipment data with:

  • purchaseOrderId : The purchase order ID of the shipment.
  • boxItems: The number of items in the box of an order.
  • real line number: Is the order line number on the PO
  • sku: Stands for stock keeping unit. This is a seller-defined product identifier of items in your catalog or order and fulfillment flows.
  • quantity: The number of items.
  • boxDimensions: The weight and size of the package
  • shipByDate: The date the order will be shipped.
  • deliverByDate : The date the order will be delivered.
  • carriers: Name of your carrier or carriers
  • fromAddress The address the order will be shipped from.
  • toAddress:The address the order will be shipped to.
  • addOns:: Additional services you can add such as INSURANCE or SIGNATURE.
  • hasBattery: If an order has a batter that requires battery-specific shipping handling.
  • includeServicesNotMeetingDeliveryPromise: When the Shipping estimates API should show you shipping services even if they cannot meet the requested delivery date.

Response Samples

Response 200 Sample 1

{ "data": { "estimates": [ { "name": "PRIORITY_MAIL", "displayName": "USPS Priority Mail", "deliveryDate": "2023-10-02T23:59:00.000Z", "estimatedRate": { "amount": 7.2, "currency": "USD" }, "serviceTypeGroupName": "USPS_DEFAULT", "serviceTypeGroupDisplayName": "Default", "isDeliveryPromiseFulfilled": false, "carrierName": "USPS", "carrierDisplayName": "USPS" }, { "name": "FEDEX_GROUND", "displayName": "FedEx US Ground", "deliveryDate": "2023-09-29T23:59:00.000Z", "estimatedRate": { "amount": 11.87, "currency": "USD" }, "serviceTypeGroupName": "FEDEX_GROUND", "serviceTypeGroupDisplayName": "FedEx Ground", "isDeliveryPromiseFulfilled": false, "carrierName": "FedEx", "carrierDisplayName": "FedEx" } ], "alertMessage": "We are unable to find a shipping service that would meet this delivery date. You may choose one of the other delivery options below but note that you may be responsible for any late deliveries." }
}

Response 200 Sample 2

{ "data": { "estimates": [ { "name": "PRIORITY_MAIL", "displayName": "USPS Priority Mail", "deliveryDate": "2023-10-02T23:59:00.000Z", "estimatedRate": { "amount": 7.2, "currency": "USD" }, "serviceTypeGroupName": "USPS_DEFAULT", "serviceTypeGroupDisplayName": "Default", "isDeliveryPromiseFulfilled": false, "carrierName": "USPS", "carrierDisplayName": "USPS", "addOns": [ { "name": "INSURANCE", "charge": { "amount": 0.33, "currency": "USD" }, "declaredValue": { "amount": 40, "currency": "USD" } } ] }, { "name": "FEDEX_GROUND", "displayName": "FedEx US Ground", "deliveryDate": "2023-09-29T23:59:00.000Z", "estimatedRate": { "amount": 11.87, "currency": "USD" }, "serviceTypeGroupName": "FEDEX_GROUND", "serviceTypeGroupDisplayName": "FedEx Ground", "isDeliveryPromiseFulfilled": false, "carrierName": "FedEx", "carrierDisplayName": "FedEx", "addOns": [ { "name": "INSURANCE", "charge": { "amount": 0.33, "currency": "USD" }, "declaredValue": { "amount": 40, "currency": "USD" } }, { "name": "SIGNATURE", "charge": { "amount": 6.35, "currency": "USD" } } ] } ], "alertMessage": "We are unable to find a shipping service that would meet this delivery date. You may choose one of the other delivery options below but note that you may be responsible for any late deliveries." }
}

Result

A successful response returns an array of shipping estimates in data.estimates. Each estimate can include the service name, display name, estimated delivery date, estimated rate, service grouping, carrier details, and whether the service fulfills the delivery promise.

Next Steps

The Create label API lets you buy labels from Walmart to ship orders.

The Shipping estimates API provides the cheapest rate to ship an order.

The Default max ship-on-date API provides recommendations for the default and maximum ship-on-date for orders.

The Labels detail by purchase order ID API retrieves shipping label information for orders, label generation, formatting, and tracking information for shipping as well as order management.

The Supported carriers API gives you a list of approved Walmart carriers to ship orders.

The Download label API brings up the carrier label when searching by carrier and tracking number.

The Discard label API removes shipping labels.

The Supported carrier package types API provides the package types a carrier offers.

Refer to the Walmart Claims Guide on how to get protection for your shipments.


Did this page help you?