Skip to main content
POST
QR analytics

Description

This endpoint provides comprehensive analytics for one or more QR codes in your account.
You can query by:
  • QR IDs (specific QR codes), or
  • Tags (group of QR codes with the same tag).
It supports a variety of analytics types — such as scans by date, device, browser, geography, and more — allowing you to build dashboards and reports programmatically.

Query Parameters

Supported type Values

Request Body

Examples

Get QR Code Analytics by QR ID

Get Analytics by Tags

Get Multiple QR Codes Analytics

Get All Analytics Types

Exclude Bot Scans

Response Structure

Success Response (200 OK)

The response structure varies based on the type query parameter. Response keys depend on the requested analytics types.

Complete Analytics Response (all types requested)

Count Analytics Only

Device, OS, and Browser Analytics

Analytics with Bot Scans Excluded (exclude_bot_scan=true)

When exclude_bot_scan=true is passed, all aggregations reflect human traffic only and the response includes a bot_scans summary:

Response Schema

Each analytics type returns a separate structure.

Use Cases

  • 📈 Build custom QR code analytics dashboards
  • 🗺️ Analyze user scan geography and device trends
  • ⏰ Study time-based scan activity
  • 🧭 Track campaign performance by tags or QR IDs
  • 🧮 Export scan data summaries for internal BI systems

Integration Examples

JavaScript - Get QR Code Analytics

Python - Get QR Code Analytics

PHP - Get QR Code Analytics

Analytics data is available for the last 2 years. For longer historical data, use the export endpoint to download data for offline analysis.
Large date ranges may result in slower response times. Consider breaking down requests into smaller date ranges for better performance.

Authorizations

Authorization
string
header
required

Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. management.scanova.io) — the same key sent to the regular API host will not authenticate.

Query Parameters

from
string<date>
required
to
string<date>
required
type
string
required

Comma-separated metric types, e.g. qr.

group
string
default:date

Grouping for time-series metric types, e.g. date/week/month.

exclude_bot_scan
boolean
default:false
overview
boolean

Bypasses the volume cap; used by dashboard overview widgets.

Body

application/json
q
string[]
required

Query data — a list of identifiers of the type named in filter_by.

filter_by
enum<string>
default:qrid
Available options:
qrid,
tags,
id,
folder

Response

200 - application/json

Analytics data, grouped by the requested type(s). A qr_meta name->{qrid, category, category_slug} map is attached whenever qr is among the requested types.