Skip to main content

Display a delivery date on a product detail page, cart, and checkout

Show customers exactly when their order will arrive, before they buy. Displaying an expected delivery date at every step of the shopping journey reduces uncertainty, builds purchase confidence, and cuts down on “Where’s my order?” support tickets. Shippo Estimate returns an ML-powered estimated_delivery_date_utc for each service level, so you can surface a real calendar date, not a vague transit window, wherever your customer sees shipping options.

How it works

The Estimate API is a standalone POST /v2/estimates endpoint. It returns ML-powered predicted delivery dates across carriers and service levels. It does not return pricing. For use cases that require both delivery dates and rates, call POST /v2/estimates and POST /shipments separately and join the results on servicelevel.token. Call POST /v2/estimates with the origin ZIP, destination ZIP, parcel dimensions, and the planned ship date. The response includes a predictions array with one entry per service level, sorted fastest first. Each entry contains estimated_delivery_date_utc, which you convert to the destination’s local timezone before displaying. You can call this endpoint at multiple points in the shopping flow:
  • Product detail page Use the customer’s saved or estimated destination ZIP to show an expected delivery range next to each service option.
  • Cart Re-call the endpoint when the customer confirms their shipping address to refresh the dates.
  • Checkout Display the selected service level’s predicted delivery date in the order summary before the customer confirms payment.

Request

Create an Estimate with the origin zip and the customer’s destination zip. The estimate object is returned.

Response

The predictions array returns one entry per supported service level, sorted fastest first.

Display example

estimated_delivery_date_utc is in UTC. Always convert to the destination timezone before displaying.
Timezone caution: A UTC value of 2026-05-03T03:00:00Z is May 2nd in America/Los_Angeles. Do not read the date directly from the UTC string — always convert first.
The Estimate API does not return pricing. To display rates alongside delivery dates, call POST /shipmentsseparately and join on servicelevel.token. See Power rate shopping decisions for a combined flow example.
Last modified on October 23, 2026