Request a content quality report
Use this report to identify content quality issues at the product attribute level. The report helps you find attributes that are reducing Content Quality scores and provides issue descriptions so you can correct content and improve item discoverability.
Requesting a content 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=CONTENT_QUALITY&reportVersion=v1The request body is optional. When the request is accepted, the API returns a requestId that you can use to track status and download the report.
Sample request
POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CONTENT_QUALITY&reportVersion=v1
Authorization: Bearer <access_token>
WM_QOS.CORRELATION_ID: <guid>
WM_SVC.NAME: Walmart Marketplace
Accept: application/json
Content-Type: application/json {}cURL
curl -X POST \
'https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=CONTENT_QUALITY&reportVersion=v1' \
-H 'WM_SEC.ACCESS_TOKEN: <access_token>' \
-H 'WM_QOS.CORRELATION_ID: <guid>' \
-H 'WM_SVC.NAME: Walmart Marketplace' \
-H 'WM_MARKET: us' \
-H 'WM_GLOBAL_VERSION: 3.1' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{}'Modify your code
- Use a new GUID for each call. Save the returned
requestIdto track report 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.
After downloading the report, use your preferred CSV tool to filter data by SKU or report columns.
Enum filter
Use an enum filter to return records that match one or more predefined values.
{ "rowFilters": [ { "type": "enumFilter", "columnName": "CUSTOMER_FAVORITE", "values": [ "FALSE" ] } ]
}Report fields
The report is designed to surface attribute-level Content Quality issues, and contains one row for each Item ID and GTIN combination.
| Header | Description |
|---|---|
seller_id | Seller identifier |
item_id | Walmart item ID on Walmart.com |
product_id | Product ID on Walmart.com |
GTIN | Global Trade Item Number |
condition_type_code | Code for the condition of the item |
condition_type_name | Condition of the item. This can have two values: NEW or USED. |
sku_id | Stock Keeping Unit (SKU) of item |
CUSTOMER_FAVORITE | Indicates whether the item is a customer favorite or trending item. This can have two values: TRUE or FALSE. |
product_attribute_name | Name of the product attribute |
product_attribute_value | Current value of the attribute |
product_attribute_score | Content Quality score for the attribute |
attribute_issue_title | Title of item issue |
attribute_issue_description | List of issues associated with the attribute |
Sample response
[ { "issueTitle": "TITLE_FORMULA_VIOLATION", "issueDescription": "Product Name should contain attributes as defined in Walmart style guides." }, { "issueTitle": "TITLE_ORDER_VIOLATION", "issueDescription": "Product Name attributes are not in the expected order." }
]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 1 hour ago

