Retrieve on-time delivery summary

Call this endpoint to retrieve on-time delivery summary performance metrics over a specified duration (14 days, 30 days, 60 days, 90 days). This API returns the overall and seller-accountable on-time delivery rates, trend indicators, impacted customer counts, driver breakdowns (accountable vs. non-accountable), risk level, and recommendations.

You can use this endpoint to understand if shipments are consistently delivered to customers on-time. This endpoint uses metrics like cumulative trends, shipping methods, and number of orders that were delivered on-time to calculate the on-time delivery metrics. For more details about performance standards, refer to Seller Performance Standards.

You can filter by shipping method and choose the duration (days) used to compute metrics. Designed for quick performance monitoring and remediation planning across TwoDay, OneDay, or all shipping methods.

This page describes an example using only the required parameters and inputs to retrieve on-time delivery summary. For a full list of customization options and additional capabilities, refer to the Marketplace Insights API Reference.

The cumulativeRateTrend response parameter uses the statuses in the table below to explain if a trend is a positive or negative change. Trend indicates how this metric has changed compared to the previous report duration ending the day before

ColorDescription
GREEN_UP
GREEN_DOWN
A positive change or an improved performance in the metric compared to the previous report duration ending the day before.
NEUTRALIndicates no change in the metric compared to the previous report duration ending the day before.
RED_UP
RED_DOWN
A negative change or decreased performance in the metric compared to the previous report duration ending the day before. It is urgent and needs to be resolved.

Endpoint

GET https://marketplace.walmartapis.com/v3/insights/performance/otd/summary

Sample request

This sample request demonstrates how to specify metrics summary for the percentage of orders that were delivered on-time during the specified report duration.

curl -X GET "https://marketplace.walmartapis.com/v3/insights/performance/otd/summary?reportDuration=30&shippingMethod=ALL_METHODS" \ -H "Authorization: Basic BASE64_CLIENTID_CLIENTSECRET" \ -H "WM_SEC.ACCESS_TOKEN: <ACCESS_TOKEN>" \ -H "WM_QOS.CORRELATION_ID: 1e1f2b4e-7f2b-4a0a-9f0f-2b5c1a2d3e4f" \ -H "WM_SVC.NAME: Walmart Marketplace" \ -H "Accept: application/json"
import requests url = "https://marketplace.walmartapis.com/v3/insights/performance/otd/summary"
params = {"reportDuration": "30", "shippingMethod": "ALL_METHODS"}
headers = { "Authorization": "Basic BASE64_CLIENTID_CLIENTSECRET", "WM_SEC.ACCESS_TOKEN": "<ACCESS_TOKEN>", "WM_QOS.CORRELATION_ID": "1e1f2b4e-7f2b-4a0a-9f0f-2b5c1a2d3e4f", "WM_SVC.NAME": "Walmart Marketplace", "Accept": "application/json",
} response = requests.get(url, headers=headers, params=params, timeout=30)
response.raise_for_status()
print(response.json())

Modify your code

  • Use a unique WM_QOS.CORRELATION_ID for each request.
  • Replace WM_SEC.ACCESS_TOKEN with your valid access token obtained through authentication.
  • Replace reportDuration with the number of days (14, 30, 60, 90) of order data that you want to include in metric calculations.

Sample response

This sample response details the payload, nonAccountableDrivers, and sellerAccountableDrivers maps containing the various metrics used to calculate the on-time delivery metrics.

  • nonAccountableVtrDrivers - Metrics that do not affect the Seller Performance Standards.
  • sellerAccountableVtrDrivers - Metrics that affect the Seller Performance Standards.
{ "payload": { "reportDuration": 30, "updatedTimestamp": "2025-02-02T19:49:56Z", "shippingMethod": "ALL_METHODS", "overallRate": 89, "overallTrend": "RED_DOWN", "sellerAccountableRate": 96, "sellerAccountableTrend": "GREEN_UP", "impactedCustomerCount": 4, "impactedCustomerTrend": "GREEN_UP", "standard": "above 90%", "performanceStandard": "90% or above", "riskLevel": "Monitor", "performanceRiskLevel": "Monitor", "sellerAccountableDrivers": { "lateShipmentRate": 2, "carrierEDDLaterThanEDDRate": 2, "lateHandoverToCarrierRate": 0, "noCarrierScanRate": 0, "carrierMethodMismatchRate": 0, "shipLocationMismatchRate": 0, "carrierDelaysRate": 0 }, "nonAccountableDrivers": { "weatherDelaysRate": 0, "carrierExceptionRate": 3, "miscellaneousRate": 0 }, "recommendations": [ { "recommendation": "Work with your carriers", "moreInfoLink": "https://sellerhelp.walmart.com/seller/s/guide?article=000009473&language=en_US" }, { "recommendation": "Don’t push your deadlines", "moreInfoLink": "https://sellerhelp.walmart.com/seller/s/guide?language=en_US&article=000007893" }, { "recommendation": "Let us handle fulfillment", "moreInfoLink": "https://seller.walmart.com/walmart-fulfillment" } ] }, "status": "OK"
}

Result

This call returns a summary object with payload (metrics) and status (request state). If successful, the API returns an HTTP status 200 OK with a JSON response. The metrics reflect the on-time delivery summary for orders in the specified duration.

Rate limits

If you submit too many feeds in a short period of time, you may exceed Walmart’s rate limits and receive HTTP 429 (Too Many Requests) responses. For more details on throttling and best practices, refer to the Rate Limiting Guide.