Use report filters
Learn how to refine report requests with filters. Filters help you limit results to the specific data you need, reducing file size and improving performance.
Available filter types
Reports may support different filters, such as:
Row filters
Row filters enable you to limit the rows returned in a report request. To use a row filter, specify the columns to filter and provide the filter criteria.
Types of row filters
| Filter Type | Description |
|---|---|
| Enum filter | Filters columns with an Enum data type. |
| Range filter | Filters columns with numeric or date/time data types. Specify both the starting (from) and ending (to) values. |
| Multi-value filter | Filters columns with a string data type based on an exact match. When multiple values are provided, the filter uses OR logic. |
Exclude column filter
Exclude specific columns from the report output. You must specify which columns to exclude.
Check the report types page for which filters each report supports.
Date range filters
Customize the lookback period for reports that aggregate historical data by specifying a start and end date. For example, you can request data from the past 30 days or the past year.
Check the report types page for which filters each report supports.
Default behavior
If you do not pass filters:
- The API returns the full data set for the report type.
- Large reports may take longer to generate and may be split into multiple files.
- Some reports require at least one filter (for example, a date range). If omitted, the request fails with a validation error.
Validation rules
- Filters must match supported fields for the report type. Unknown keys are rejected.
- Date filters require ISO 8601 format (
YYYY-MM-DDorYYYY-MM-DDThh:mm:ssZ). - Lists (for example, SKUs) must not exceed 500 values per request.
- Invalid combinations return a
400 Bad Requesterror.
Example: valid filter usage
POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=ITEM&reportVersion=v1 \
accept: application/json \
content-type: application/json \
WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6 \
WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM..... \
WM_SVC.NAME: Walmart Service Name\ { "rowFilters": [ { "type": "rangeFilter", "columnName": "Offer Start Date", "from": "2024-09-16", "to": "2024-10-16" }, { "type": "rangeFilter", "columnName": "Price", "from": "10", "to": "100" }, { "type": "enumFilter", "columnName": "Publish Status", "values": [ "PUBLISHED" ] }, { "type": "multiValueFilter", "columnName": "brand", "values": [ "FELIX LECHEF", "ANEZUS" ] } ], "excludeColumns": [ "Average Rating", "Shelf Name" ], "dataStartTime": "2025-08-10T20:11:24.000Z", "dataEndTime": "2026-01-10T20:11:24.000Z"
}Example: invalid filter usage
POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=SEM_PERFORMANCE&reportVersion=v1 \
accept: application/jso \
content-type: application/json \
WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6 \
WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM..... \
WM_SVC.NAME: Walmart Service Name \ { "rowFilters": [ { "type": "SomeOtherFilterType", "columnName": "DATE", "from": "2024-09-16", "to": "2024-10-16" } ], "excludeColumns": [ "Average Rating", "Shelf Name" ], "dataStartTime": "2025-08-10T20:11:24.000Z", "dataEndTime": "2026-01-10T20:11:24.000Z"
}Response
{ "errors": [ { "code": "INVALID_REQUEST_CONTENT", "field": "Request Body", "description": "The request body is incorrect. Make sure the request body is in proper JSON format as per the schema. To get latest schema, see https://developer.walmart.com/api/us/mp/onrequestreports#operation/generateReport", "severity": "ERROR", "category": "DATA" } ]
}
