Skip to main content
Answers questions like “which of my products are agents and consumers scanning most?” Backed by Closient’s scan analytics, which record every GS1 Digital Link resolution keyed by product, organization, country (derived from IP), and device class. Pre-aggregated daily so date-range queries are fast.

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 scope brands: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 / regionScanEvent.city / ScanEvent.region / ScanEvent.geo are populated for any scan arriving through Cloudflare (CLOUDFLARE_HEADERS_TRUSTED=True in production), and rolled up into ScanDailySummary.by_city / by_region for 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-footprint when the brand asks “why are my scans lower than expected?” — distribution gaps explain most of it.
  • brand-search-demand — geographic intent at metro/city level
  • brand-retail-footprint — where your products are actually sold