Overview
The Digital Shelf Intelligence API gives brands and advertisers programmatic access to weekly aggregated performance data for products sold through supported retailers. It enables automated retrieval of:- Sales performance data — units sold, sales, and listing prices at brand or SKU level
- Visibility and ranking data — PDP views and category-level sales rank
- Competitive benchmark indices — relative performance vs. category benchmarks for consideration and sales conversion
- Brand-level — metrics grouped across all SKUs belonging to a brand (portfolio tracking, brand vs. category benchmarking, retailer comparisons)
- SKU-level — metrics reported per individual product (performance diagnostics, assortment optimization, PDP traffic and conversion analysis)
You can find the Digital Shelf Intelligence endpoints in the API Reference under Insights.
Regional availabilityCurrently available for the following countries: United States (US), Canada (CA), and United Kingdom (UK).
Endpoints
Dimensions
Dimensions describe how report data is grouped. The dimension set is fixed byaggregationLevel — clients do not provide a custom dimensions list.
Time dimensions
Retailer dimensions
Product & taxonomy dimensions
Metrics
Metrics represent performance, sales, and visibility indicators. Availability varies by aggregation level.Commercial performance
Visibility & ranking
Performance indices
Endpoint: Submit report request
Submit a Digital Shelf Intelligence report job. The API is asynchronous — this call returns areportId to poll for results.
Request attributes
startDate must not be after endDate, and the requested interval must be 100 days or less.Filters object
Filters behavior
filtersis optional. Omit it entirely and the report runs with no filters — identical to omitting all four fields before.- Each field inside
filterskeeps its own default (empty array). Supply only the filters you need, e.g."filters": { "brandIds": ["2001"] }. - Validation is unchanged and still enforced. Invalid IDs inside
filters(e.g. a non-numericbrandIdsvalue) are still rejected with400 Bad Request. - Omit the
filtersobject entirely rather than passingnull—"filters": nullis rejected with400 Bad Request. - The
skuIds+ brand-aggregation rule is unchanged: whenaggregationLevelisbrand,filters.skuIdsis ignored and the response carries a warning.
Sample request
Sample response
Endpoint: Poll report status
Check whether a submitted report job has completed. Returnsstatus: "Pending" while processing, or HTTP 410 if the report failed, expired, or was invalidated.
Sample request
Sample response
Endpoint: Retrieve report output
Download the results of a completed report. Only succeeds when report status isSuccess. Returns HTTP 400 with code insight-not-ready if the report is still Pending.