When to use
- Brand owner asks about engagement with their catalog.
- “What’s trending in my catalog this month?”
- Triage: “which products deserve better data / images / descriptions?”
Auth
Brand-scoped. The caller must hold an OAuth token with scopebrands:read
and membership in the Organization that owns the brand(s) in question.
Requests without an organization resolve the caller’s default organization.
Endpoint
Response
Dimensions available today
- Time — daily rollups via
ScanDailySummary - Country — derived from scan IP
- City / region —
ScanEvent.city/ScanEvent.region/ScanEvent.geoare populated for any scan arriving through Cloudflare (CLOUDFLARE_HEADERS_TRUSTED=Truein production), and rolled up intoScanDailySummary.by_city/by_regionfor date-range queries. - Device class — mobile / desktop / tablet / bot
- Billable vs bot — bot classifier separates automated traffic
Not yet available
- Per-hour rollups — tracked in the raw event stream but not yet exposed via the analytics API.
Guidance for agents
- Default the window to the last 30 days unless asked otherwise. Longer windows are fine but require the user to be explicit (“since January”).
- Surface both billable and total — high bot_scans on a product can indicate scraper interest worth investigating.
- Pair with
brand-retail-footprintwhen the brand asks “why are my scans lower than expected?” — distribution gaps explain most of it.
Related skills
brand-search-demand— geographic intent at metro/city levelbrand-retail-footprint— where your products are actually sold