Get WFS unpublished recommendations

Call this endpoint to retrieve a paginated list of unpublished items plus an insights summary. Results can be filtered and sorted, and include per-item publication reasons, inventory on hand, estimated storage fees, and inventory value. Use this endpoint to prioritize publication fixes, identify high-impact opportunities such as customer favorites, and to surface issue type which cause unpublished status for items.

This call helps you identify the estimated storage fees with Walmart for your unpublished WFS items. Key data attributes include:

  • unpublishedIssue: The reason your item is currently unpublished with Walmart.
  • estimatedStorageFee: The estimated storage costs associated with your unpublished WFS inventory.
  • totalunpublishedunitsstored: The total quantity of units in WFS fulfillment centers for unpublished items.

Use this data to identify the reason these items are unpublished and the estimated costs associated with these unpublished items. By default, these suggestions will only include items that are active with an Available to Sell (ATS) quantity of 0.

This page describes an example using only the required parameters and inputs for retrieving a list of unpublished items and insights summary. For a full list of customization options and additional capabilities, refer to the Walmart Recommendations API Reference.

Endpoint

GET https://marketplace.walmartapis.com/v3/wfs/recommendation/unpublished

Top 15 newest unpublished items

Sample request

Use this sample request to retrieve the 15 most recent unpublished items, including insights, sorted by created_date in descending order.

curl -X GET "https://marketplace.walmartapis.com/v3/wfs/recommendation/unpublished?showInsights=true&limit=15&offset=0&sort_order=DESC&sort_by=created_date" \ -H "WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6" \ -H "WM_MARKET: US" \ -H "WM_SVC.NAME: Walmart Marketplace" \ -H "WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM....." \ -H "WM_GLOBAL_VERSION: 3.1" \ -H "Accept: application/json" 
import requests url = "https://marketplace.walmartapis.com/v3/wfs/recommendation/unpublished"
params = { "showInsights": "true", "limit": "15", "offset": "0", "sort_order": "DESC", "sort_by": "created_date",
}
headers = { "WM_QOS.CORRELATION_ID": "b3261d2d-028a-4ef7-8602-633c23200af6", "WM_MARKET": "US", "WM_SVC.NAME": "Walmart Marketplace", "WM_SEC.ACCESS_TOKEN": "<ACCESS_TOKEN>", "WM_GLOBAL_VERSION": "3.1", "Accept": "application/json",
} response = requests.get(url, headers=headers, params=params, timeout=30)
response.raise_for_status()
print(response.json()) 

Sample response

{ "status": "OK", "payload": { "unpublishedItems": [ { "gtin": "00664181023748", "sku": "VIZA-VZSE90009Y-BLK/GR-8.5", "itemId": "910593375", "brand": "VIZARI", "itemName": "Vizari USA Stealth Firm Ground Soccer Cleats for Kids – Durable, Lightweight Athletic Shoes for Boys and Girls, Black/Green, 8.5", "itemCondition": "New", "unitsStored": 47, "publishingStatus": "UNPUBLISHED", "insights": { "unpublishedIssueType": "Listing Issue", "estimatedStorageFee": 10.4481, "inventoryValue": 1293.91, "customerFavorite": true } } ], "totalInsights": { "totalUnpublishedUnitsStored": 341, "totalEstimatedStorageFee": 41.3322, "totalInventoryValue": 6267.119 }, "totalRecords": 42 }
}

Modify your code

Replace all placeholder values with your actual shipment data before making the API request.

  • WM_QOS.CORRELATION_ID - Use a unique correlation UUID to track the request.
  • WM_SEC.ACCESS_TOKEN - Replace with your valid access token obtained through authentication.

Result

If successful, the API returns 200 OK with a JSON body containing status and payload.
The payload includes key fields such as itemId, gtin, vendorSku,, and offerPubStatus.

If the API returns 400 Bad Request, one or more inputs are invalid. For example, non-boolean values are present for isInDemand or the limit is out of range.

If you see a 500 Internal Server Error, retry after sometime.