API Documentation
Create and list QR codes programmatically. You need an API key — generate one from the API keys page.
Authentication
Send the key in the Authorization header:
Authorization: Bearer sqr_your_keyAll requests start from:
https://smart-qr-code.com/api/v1Limits
- The API is included in the Pro and Business plans (and during the free trial).
- Pro: 1 key, 10 requests per minute, 1,000 requests per month.
- Business: 3 keys, 60 requests per minute per key, 25,000 requests per month.
- Monthly quotas are per account and reset on the 1st of each month (UTC).
- The total number of QR codes is that of your plan (same as in the app).
Create a QR code
POST /api/v1/qrcodes
curl -X POST https://smart-qr-code.com/api/v1/qrcodes \
-H "Authorization: Bearer sqr_your_key" \
-H "Content-Type: application/json" \
-d '{
"type": "URL",
"name": "Company website",
"data": { "url": "https://example.com" }
}'Response (201):
{
"qrCode": {
"id": "clx...",
"type": "URL",
"name": "Company website",
"shortUrl": "aB3xY9zK",
"isDynamic": true,
"dynamicUrl": "https://smart-qr-code.com/api/redirect/aB3xY9zK",
"createdAt": "2026-07-11T10:00:00.000Z"
}
}The data field depends on type (e.g. WIFI requires ssid/password, VCARD requires firstName/lastName, etc.), just like the form in the app.
List QR codes
GET /api/v1/qrcodes
curl https://smart-qr-code.com/api/v1/qrcodes \
-H "Authorization: Bearer sqr_your_key"Response (200):
{
"qrCodes": [
{
"id": "clx...",
"type": "URL",
"name": "Company website",
"shortUrl": "aB3xY9zK",
"isDynamic": true,
"scans": 128,
"dynamicUrl": "https://smart-qr-code.com/api/redirect/aB3xY9zK",
"createdAt": "2026-07-11T10:00:00.000Z"
}
]
}scans is the same lifetime total you see in the app. It includes scans imported from another platform, and scans older than 24 months, which we delete while keeping only their count (see our Privacy Policy). It never goes down.
Error codes
401— missing, invalid or revoked key.403— plan does not allow it (no API on your plan, trial expired or QR code limit reached).400— invalid data.429— you exceeded the per-minute limit or the monthly quota.