Request an item listing quality report
Use this report to review listing quality scores, score drivers, issues, and recommended actions for all your published listings. The report provides a daily snapshot of Listing Quality data and is intended to help sellers identify opportunities to improve item performance, discoverability, and conversion potential on Walmart.com.
Note: Listing Quality scores are calculated daily. Report data is accurate as of the previous day and may differ from real-time data displayed in Seller Center.
Requesting an item listing quality report is available for the following endpoints:
- GET | Get All Report Requests
- POST | Create Report Request
- GET | Report Request Status
- GET | Download Report URL
- POST | Create Report Schedule
- GET | Get All Report Schedules
- GET | Get Single Report Schedules
Endpoint
POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=LISTING_QUALITY&reportVersion=v1The request body is optional. When the request is accepted, the API returns a requestId that you can use to track report status and download the completed report.
Sample request
The following example creates a Listing Quality report request. The request body is optional. When the request is accepted, the API returns a requestId that you can use to check the report status and download the completed report.
POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType={reportType}&reportVersion=v1
Authorization: Bearer <access_token>
WM_QOS.CORRELATION_ID: <guid>
WM_SVC.NAME: Walmart Marketplace
Accept: application/json
Content-Type: application/json {}cURL
Use the following cURL example to submit the report request from a command line or script. Replace the placeholder values with your own credentials and request information.
curl --location --request POST 'https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=LISTING_QUALITY&reportVersion=v1' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'WM_SEC.ACCESS_TOKEN: <ACCESS TOKEN>' \
--header 'WM_QOS.CORRELATION_ID: <CORRELATION_ID>' \
--header 'WM_SVC.NAME: WALMART MARKETPLACE' \Modify your code
- Use a new GUID for each request. Save the returned
requestIdto check status and download the report.
Track and download
- Check report status. Poll the report status endpoint until the report is ready.
GET https://marketplace.walmartapis.com/v3/reports/reportRequests/{requestId}Status values: RECEIVED, INPROGRESS, READY, ERROR.
- Download the report after the report status changes to
READY.
GET https://marketplace.walmartapis.com/v3/reports/downloadReport?requestId={requestId}If you prefer not to poll for status updates, subscribe to Report Status Notifications and receive a callback when the report is available.
Request filters
Filters are optional. If no filters are specified, the report returns data for all the listings in your catalog, with each row containing data for a unique listing (i.e. OfferID).
You can combine multiple filters in a single request. When multiple filters are provided, the report returns only records that satisfy all specified filters.
Supported filter types
| Filter type | Description | Supported values |
|---|---|---|
| Date filter | Returns data for a specific report snapshot. | Up to the previous 2 years. Today's date is not supported because scores have not yet been calculated. |
| Range filter | Filters numeric values within a specified range. | Listing Quality Score: 0–100 Ratings & Reviews Score: 0–100 Price Competitiveness Score: 0–100 Content Quality Score: 0–100 Published and In Stock Score: 0–100 Shipping Score: 0–100 Average Customer Rating: 0–5 |
| Enum filter | Filters discrete values. | Customer Favorite, WFS, Fast and Free Shipping, Latest Inventory Status, Issue Priority |
Date filter
Use the snapshotDate field to request data from a specific reporting date.
{ "additionalInfo": { "assortmentAdditionalMetaData": { "snapshotDate": "YYYY-MM-DD" } }
}Range filter
Use a range filter to return records whose values fall within a minimum and maximum range.
{ "rowFilters": [ { "type": "rangeFilter", "columnName": "LISTING_QUALITY_SCORE", "from": "0", "to": "100", "rowFilterType": "rangeFilter" } ]
}Enum filter
Use an enum filter to return records that match one or more predefined values.
{ "rowFilters": [ { "type": "enumFilter", "columnName": "ISSUE_PRIORITY", "values": [ "HIGH" ] } ]
}Combine multiple filter types
You can combine date, range, and enum filters in a single request.
{ "additionalInfo": { "assortmentAdditionalMetaData": { "snapshotDate": "YYYY-MM-DD" } }, "rowFilters": [ { "type": "rangeFilter", "columnName": "CUSTOMER_FAVORITE", "values": [ "TRUE" ] }, { "type": "enumFilter", "columnName": "FAST_AND_FREE_SHIPPING", "values": [ "TRUE" ] }, { "type": "enumFilter", "columnName": "ISSUE_PRIORITY", "values": [ "LOW", "MEDIUM" ] }, { "type": "rangeFilter", "columnName": "LISTING_QUALITY_SCORE", "from": "0", "to": "100", "rowFilterType": "rangeFilter" }, { "type": "rangeFilter", "columnName": "SHIPPING_SCORE", "from": "0", "to": "100", "rowFilterType": "rangeFilter" } ]
}Supported filter fields
| Filter | Type | Allowed values |
|---|---|---|
snapshotDate | Date | Previous 2 years (today not supported) |
CUSTOMER_FAVORITE | Enum | TRUE or FALSE |
LISTING_QUALITY_SCORE | Range | 0–100 |
RATINGS_REVIEWS_SCORE | Range | 0–100 |
PRICE_COMPETITIVENESS_SCORE | Range | 0–100 |
CONTENT_QUALITY_SCORE | Range | 0–100 |
PUBLISHED_IN_STOCK_SCORE | Range | 0–100 |
SHIPPING_SCORE | Range | 0–100 |
FAST_AND_FREE_SHIPPING | Enum | TRUE or FALSE |
WFS_FLAG | Enum | TRUEor FALSE |
RATING_VALUE | Range | 0–5 |
LATEST_INVENTORY_STATUS | Enum | INSTOCK or OUTOFSTOCK |
ISSUE_PRIORITY | Enum | LOW, MEDIUM, HIGH, or ZERO |
After downloading the report, use your preferred CSV tool to filter data by SKU or report columns.
Report fields
The report contains one row for each Item ID and GTIN combination.
| Header | Description |
|---|---|
seller_id | Seller identifier |
offer_id | Offer identifier |
item_id | Walmart item ID on Walmart.com |
product_id | Product ID on Walmart.com |
sku_id | Stock Keeping Unit (SKU) of item |
product_name | Name of the item as it appears on Walmart.com |
CUSTOMER_FAVORITE * | Indicates whether the item is a customer favorite or trending item. This can have two values: TRUE or FALSE. |
condition_name | Condition of the item. This can have two values: NEW or USED. |
LISTING_QUALITY_SCORE* | Overall listing quality score of the item |
RATINGS_REVIEWS_SCORE* | Rating and reviews component score of the item |
PRICE_COMPETITIVENESS_SCORE* | Price competitiveness component score of the item |
CONTENT_QUALITY_SCORE* | Content quality component score of the item |
PUBLISHED_IN_STOCK_SCORE* | Publish and transactability score of the item |
SHIPPING_SCORE* | Shipping component score |
rating_review_score_impact | Impact of the rating review score on the item. This can have four values: LOW, MEDIUM, HIGH, or ZERO. |
price_competitiveness_score_impact | Impact of the price competitiveness score on the item. This can have four values: LOW, MEDIUM, HIGH, or ZERO. |
content_quality_score_impact | Impact of the content quality score on the item. This can have four values: LOW, MEDIUM, HIGH, or ZERO. |
published_instock_score_impact | Impact of the published impact score on the item. This can have four values: LOW, MEDIUM, HIGH, or ZERO. |
shipping_score_impact | Impact of the shipping score on the item. This can have four values: LOW, MEDIUM, HIGH, or ZERO. |
walmart_price | Walmart item price, excluding incentives |
walmart_shipping_price | Walmart shipping price |
competitor_price | Competitor item price |
competitor_shipping_price | Competitor shipping price |
competitor_name | Name of competitor |
FAST_AND_FREE_SHIPPING* | Indicates whether the item qualifies as fast and free. This can have two values: TRUE or FALSE. |
WFS_FLAG* | Indicates whether the item is enrolled in Walmart Fulfillment Services (WFS). This can have two values: TRUE or FALSE. |
manual_shipping_template | Indicates whether the seller is enrolled in manual shipping template. This can have two values: TRUE or FALSE. |
RATING_VALUE* | Rating for the item |
rating_count | Amount of ratings for the item |
orders_30days | Number of orders in the last 30 days |
last_30days_conversionrate | Conversion rate based on the last 30 days |
gmv_30days | Gross Merchandise Value (GMV) of the item for the previous 30 days |
pageviews_30days | Number of page views during the last 30 days |
LATEST_INVENTORY_STATUS* | Current inventory status. This can have two values: INSTOCK or OUTOFSTOCK. |
ISSUE_PRIORITY* | Priority assigned to the listing issue. This can have four values: LOW, MEDIUM, or HIGH. |
ratings_issue | Indicates whether the item has insufficient reviews, low ratings, or no issue |
rating_suggested_action | Recommended actions to improve ratings and reviews |
published_instock_issue | Indicates unpublished or out-of-stock conditions |
published_instock_suggested_action | Recommended actions to improve publish and inventory health |
shipping_issue | Indicates shipping speed or coverage issues |
shipping_issue_suggested_action | Recommended actions to improve shipping performance |
days_published_last_7days | Number of days the item has been on Walmart.com in the last 7 days |
days_instock_last_7days | Number of days the item has been in stock on Walmart.com in the last 7 days |
post_purchase_issues | Number of reported issues with the item after purchase |
score_update_timestamp | Timestamp of when scores were last calculated |
* This report field is a supported filter type.
Error handling
Common failures when requesting or downloading reports:
| HTTP | Code | When it happens | How to fix |
|---|---|---|---|
| 400 | MISSING_REQUEST_PARAM | Required parameter missing, such as reportType | Add the missing parameter and retry |
| 400 | INVALID_REQUEST | Unsupported report type or invalid request format | Verify reportType, reportVersion, and request format |
| 401 | UNAUTHORIZED | Missing or invalid OAuth token | Refresh the token and retry |
| 404 | CONTENT_NOT_FOUND | Unknown or expired requestId | Verify the request ID and report retention period |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests | Retry using exponential backoff and jitter |
| 500 | INTERNAL_ERROR | Unexpected server error | Retry GET requests and contact support if the issue persists |
Updated about 3 hours ago

