CIRCULATEQR
DEVELOPER PLATFORM

QR Code API for Builders.

Create, update and track dynamic QR codes from your own product, or generate unique codes for a print run in batches of up to 1,000.

create-qr.ts
// Create a dynamic QR code (Stealth plan API key)
const res = await fetch("https://www.circulateqr.com/api/v1/qr/create", {
  method: "POST",
  headers: {
    Authorization: "Bearer cqr_live_...",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    destination: "https://menu.restaurant.com",
    rules: {
      ios: "https://apps.apple.com/...",
      android: "https://play.google.com/..."
    }
  })
});

const qr = await res.json();
console.log(qr.shortUrl);
// → https://www.circulateqr.com/go/abc123
API Capabilities

Everything You Need to Build

REST API

Simple, predictable RESTful endpoints. JSON in, JSON out. Generate a QR code in one API call.

Webhooks

A signed (HMAC-SHA256) POST to your endpoint each time one of your codes is scanned.

Batch Operations

Create up to 1,000 dynamic QR codes in one request (Stealth plan). Useful for print runs and product labels.

Analytics API

Pull scan totals, daily trends, devices, browsers, countries and cities for any of your codes.

Secure by Default

Hashed API keys you can revoke any time, per-plan rate limits and monthly quotas, and HMAC-signed webhooks.

Fast Redirects

Each scan is one server-side redirect. Analytics are logged after the response is sent, so tracking never slows a scan.

REST API

Works With Any Language

Plain HTTPS and JSON: call it from any language with fetch, curl or your HTTP client of choice.

# List your codes
curl https://www.circulateqr.com/api/v1/qr/list \
  -H "Authorization: Bearer cqr_live_..."
Use Cases

What Will You Build?

📦

Smart Packaging

Dynamic context routing. Scan a product to unlock regional content, games, or manufacturing specs.

🏷️

Platform Integration

Create and manage codes from your own CMS, CRM or ERP, and receive scan events by webhook.

🎫

Ticketing & Events

One-time codes that stop working after the first scan, plus free registration tickets with door check-in.

🍔

Restaurant & Retail

Digital menus that update instantly. Time-based specials. Multi-language support.

🏭

Manufacturing

Create unique codes in batches of up to 1,000 per call for product labels, serials and print runs.

📊

Marketing Campaigns

A/B test destinations, tag visits with UTM campaigns, and forward scans to Meta, GA4 or TikTok server-side.

API Limits

Generous Rate Limits

TIER
REQUESTS/MIN
BATCH SIZE
WEBHOOKS
Standard / Studio
—
—
—
Artisan (read-only)POPULAR
1,000
—
—
Stealth (read & write)
10,000
1,000
100

API access comes with Artisan (read: 10,000 requests/month) and Stealth (read and write: 100,000 requests/month). Scan webhooks can also be added in Settings on every plan (Standard 1, Studio 5, Artisan 25, Stealth 100 endpoints). Need more? Talk to us

Start Building Today

Create an account, choose Artisan or Stealth, and generate an API key in Settings.

Get an API KeyView Documentation

API keys are available on the Artisan and Stealth plans