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
- Device class — mobile / desktop / tablet / bot
- Billable vs bot — bot classifier separates automated traffic
Not yet available
- City-level geo (e.g. “most scanned in Austin TX”) — raw ScanEvent
records only country_code. A city/metro dimension requires either (a)
storing lat/lon at scan time or (b) blending with
brand-search-demandwhich does have lat/lon via SearchEvent. Usebrand-search-demandas a proxy for metro-level intent today. - 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