SMLLR REST API for Developers: A Straight Answer on What It Does
An honest technical manual for developers. Learn what SMLLR's REST API actually covers — reporting and analytics access — and how it fits into a QR-heavy application.
Set Expectations First: This Is a Reporting API, Not a Generation API
If you're evaluating SMLLR for a SaaS platform, e-commerce company, or logistics firm that needs to generate thousands of unique dynamic codes programmatically, it's worth knowing upfront: SMLLR's public API does not create or edit QR codes. It's a read-only reporting API — built for pulling scan analytics for your account, individual QR codes, campaigns, and clients into your own systems. QR code creation and destination-URL editing happen through the SMLLR dashboard. This guide covers exactly what the API does cover, so you can decide if it fits your integration before you build against it.
Authentication: A Single API Key, Not OAuth
Authentication is a static, high-entropy API key (format smllr_live_...), generated from Settings → API in the dashboard — available on the Premium plan only, with no free or lower-tier access. Send it as the x-api-key header, or as a Bearer token in Authorization. There's no OAuth2 flow, no scoped/restricted keys, and no token expiry to manage — if a key is compromised, regenerate it from Settings and the old one stops working immediately.
The Endpoints: Account, QR, Campaign, and Client Analytics
Every endpoint is a GET request returning a { success, data } JSON envelope, with period (7d/30d/90d/all) accepted where relevant. List endpoints (/qrs, /campaigns, /clients) are cursor-paginated rather than offset-paginated.
- GET /summary — account-wide scan totals for the period
- GET /qrs and GET /qr/:id — list your QR codes, or pull full analytics for one
- GET /campaigns and GET /campaign/:id — campaign-level aggregated analytics
- GET /clients and GET /client/:id — for agencies, per-client aggregated analytics
- List responses include built-in 'insights' (e.g. QR codes with zero lifetime scans, campaigns ending soon) unless you pass `?insights=false`
What's Not in the API: Creation and Bulk Batch
To be direct about the gaps, since these are the features developers most often ask for: there is no endpoint to create or update a QR code's destination URL — that's dashboard-only. There is no bulk/batch creation endpoint on any current self-serve plan (a CSV bulk-create feature exists only for a small number of grandfathered legacy accounts, not for new customers on any current tier). If real-time reaction to a scan is what you need, that's not the REST API's job — use Webhooks (Pro plan and above) instead: register a URL or a Slack channel and SMLLR pushes a signed payload the instant it happens, no polling required.
Rate Limits and Working Within Them
The API is rate-limited to 60 requests per minute per API key — a flat limit, not something that scales up on higher plans. It's tracked per key, so it isn't shared with unrelated traffic from the same office network or NAT'd infrastructure. For a scheduled sync (e.g. refreshing a BI dashboard every few minutes) this is generous; for anything approaching real-time polling, you'll want to space out requests and back off on a 429 rather than retry immediately.
What This API Is Actually Good For
Despite the gaps above, the reporting API covers a genuinely useful set of real-world integrations: feeding QR/campaign/client scan data into an internal BI tool or Pandas pipeline, building a lightweight custom client-reporting view for an agency (as an alternative to SMLLR's own hosted client dashboard), or scheduling a periodic export into a data warehouse. If your need is 'get scan data out of SMLLR programmatically,' it fits well. If your need is 'create and manage QR codes without touching the dashboard,' it doesn't cover that today.
Related Reading
Frequently Asked Questions
Is there an API for generating QR codes?
No. SMLLR's public API is read-only reporting — it returns scan analytics, not QR creation or editing. QR codes are created and edited through the SMLLR dashboard.
Does the API support webhooks for real-time scan events?
The REST API itself is pull-only, but SMLLR has a separate Webhooks feature (Pro plan and above) for exactly this — register a URL or a Slack channel and get a signed payload pushed the instant a scan or QR event happens, instead of polling.
Can I bulk-create QR codes via the API?
Not on any current self-serve plan. A CSV bulk-create feature exists only for a small number of grandfathered legacy accounts; it isn't available to new Starter, Basic, Pro, or Premium customers.
How do I track scans via the API?
Use the reporting endpoints — GET /summary for account-wide totals, GET /qr/:id for a single code, GET /campaign/:id and GET /client/:id for aggregated views. All return JSON scan analytics.
What is the rate limit for the API?
60 requests per minute per API key — a flat limit that doesn't increase on higher plans. It's tracked per key, so it isn't shared with unrelated integrations on the same network.