Analyze promotional activity in a category
Analyze promotional activity within a category - promo frequency, average and max discount depth - over a date range. Pivot the breakdown with aggregate_by: default brand ranks brands within the category; retailer ranks retailers (use together with brand=<name> to answer ‘which retailers run the deepest promos on Brand X in Category Y’). The response key mirrors the dimension: brands: [...] or retailers: [...].
Query Parameters
Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with category_id if you have a deterministic id from a prior call.
1Country (us or ca)
us, ca Optional brand filter — limit aggregation to products of this brand (case-insensitive)
1Group-by dimension. brand (default) ranks brands within the category. retailer ranks retailers — pair with brand to answer 'which retailers run the deepest promos on Brand X'.
brand, retailer Start date (ISO 8601, defaults to 30 days ago)
End date (ISO 8601, defaults to now)
Body
Query parameters as JSON (alternative to URL query string for agents that prefer body-based invocation).
Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with category_id if you have a deterministic id from a prior call.
1"electronics"
Country (us or ca)
us, ca "us"
Optional brand filter — limit aggregation to products of this brand (case-insensitive)
1"Apple"
Group-by dimension. brand (default) ranks brands within the category. retailer ranks retailers — pair with brand to answer 'which retailers run the deepest promos on Brand X'.
brand, retailer "retailer"
Start date (ISO 8601, defaults to 30 days ago)
"2026-04-01"
End date (ISO 8601, defaults to now)
"2026-05-01"
Response
Promo intelligence
The response is of type object.

