Dynamic QR Code API

Create QR codes with editable destination URLs. Update where your QR codes point to anytime—even after they've been printed. Track every scan with built-in analytics.

Static vs Dynamic QR Codes

Static QR Codes

  • URL is encoded directly in QR
  • Cannot be changed after creation
  • No scan tracking
  • Free tier includes 100/month

How Dynamic QR Codes Work

Instead of encoding your URL directly, dynamic QR codes point to a short redirect URL (e.g., qrcodeapi.io/r/abc123). When scanned:

  1. User scans the QR code
  2. Our server logs the scan (device, location, time)
  3. User is instantly redirected to your destination URL
  4. You can change the destination URL anytime via API

Create a Dynamic Link

# Create a new dynamic link
curl -X POST "https://qrcodeapi.io/api/links" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destination_url": "https://example.com/landing",
    "title": "Summer Campaign"
  }'

# Response
{
  "id": "uuid-here",
  "short_code": "abc123",
  "short_url": "https://qrcodeapi.io/r/abc123",
  "destination_url": "https://example.com/landing",
  "scan_count": 0
}

Update the Destination

# Update where the QR code points to
curl -X PUT "https://qrcodeapi.io/api/links/LINK_ID" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destination_url": "https://example.com/new-landing"
  }'

Get Scan Analytics

# Get analytics for a link
curl "https://qrcodeapi.io/api/analytics/LINK_ID?days=30" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Response
{
  "total_scans": 1234,
  "daily_scans": [...],
  "devices": { "mobile": 800, "desktop": 400, "tablet": 34 },
  "countries": { "US": 600, "UK": 300, "DE": 200, ... },
  "top_referers": [...]
}

Use Cases for Dynamic QR Codes

Start Creating Dynamic QR Codes

Free tier includes 5 dynamic links. Upgrade for more.

Get Started Free