Request a promotions report

Use this report to view all active and upcoming promotions within a timeframe. It lists promotional prices with start and end dates so you can validate setup, track coverage, and measure impact.

Endpoint

POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=PROMOTIONS&reportVersion=v1

The request body is optional. When the request is accepted, the API returns a requestId you can use to track status and download the file.

Sample request

POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=PROMOTIONS&reportVersion=v1
Authorization: Bearer <access_token>
WM_QOS.CORRELATION_ID: <guid>
WM_SVC.NAME: Walmart Marketplace
Accept: application/json
Content-Type: application/json {}

Sample request with filters

Use rowFilters to scope the file to a date window or specific promotions.

POST https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=PROMOTIONS&reportVersion=v1
Authorization: Bearer <access_token>
WM_QOS.CORRELATION_ID: <guid>
WM_SVC.NAME: Walmart Marketplace
Accept: application/json
Content-Type: application/json { "format": "CSV", "rowFilters": { "promoEffectiveDate": { "from": "2025-12-01", "to": "2026-01-15" }, "promoId": ["PR-1001", "PR-2002"], "sku": ["SKU-123", "SKU-456"] }
}

cURL

curl -X POST \ 'https://marketplace.walmartapis.com/v3/reports/reportRequests?reportType=PROMOTIONS&reportVersion=v1' \ -H 'Authorization: Bearer <access_token>' \ -H 'WM_QOS.CORRELATION_ID: <guid>' \ -H 'WM_SVC.NAME: Walmart Marketplace' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "format": "CSV", "rowFilters": { "promoEffectiveDate": { "from": "2025-12-01", "to": "2026-01-15" }, "promoId": ["PR-1001"], "sku": ["SKU-123"] } }'

Use a new GUID for each call. Keep the requestId to track status and download the report.

Track and download

  1. Check status until the report is ready.

    GET https://marketplace.walmartapis.com/v3/reports/reportRequests/{requestId}
    

    Status values: RECEIVED, INPROGRESS, READY, ERROR.

  2. Download once status is READY.

    GET https://marketplace.walmartapis.com/v3/reports/downloadReport?requestId={requestId}
    

If you prefer not to poll, subscribe to Report status notifications and receive a callback when the file is ready.

CSV fields

The downloaded ZIP contains a CSV with the following information. Headers are case sensitive and appear exactly as shown.

FieldDescriptionOrigin
SKUUnique ID of the product.Seller
Item IDNumeric identifier that uniquely identifies the item.Walmart
Product NameName of the product.Seller
Product CategoryCategory of the product.Walmart
Promo IDUnique ID of the promotion.Walmart
Promo Effective DateDate the promotion begins.Seller
Promo Expiration DateDate the promotion ends.Seller
Current PricePromotion price of the product.Seller
Current Price CurrencyCurrency of the promotion price (for example, USD).Seller
Comparison PriceBase price of the product without the promotion.Seller
Comparison Price CurrencyCurrency of the base price.Seller
Promotion TypeOne of Clearance, Reduced, or Base.Seller
Promotion StatusOne of Created, Updated, Activated, or Deactivated.Walmart

Error handling

Common failures when requesting or downloading reports:

HTTPCode (example)When it happensHow to fix
400MISSING_REQUEST_PARAMRequired parameter missing (for example, reportType).Add the missing parameter and retry.
400INVALID_REQUESTUnsupported reportType or invalid filter shape.Check reportType, reportVersion, and filter format.
401UNAUTHORIZEDInvalid or missing OAuth token.Refresh your token and retry.
404CONTENT_NOT_FOUNDUnknown or expired requestId.Verify the requestId and retention.
429RATE_LIMIT_EXCEEDEDToo many requests.Back off and retry with jitter.
500INTERNAL_ERRORUnexpected error.Retry GET calls; contact support.

See also