Integrate QR code generation into your applications. Generate static codes, manage dynamic codes, and bulk-generate from CSV.
All API requests (except static QR generation) require authentication via a cookie-based JWT token. To obtain a token:
POST /api/signup or POST /api/loginqr_token cookiecurl -c cookies.txt -X POST https://qr.wolfenterprises.cloud/api/login \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "yourpassword"}'Generate a static QR code. No authentication required.
data | string, required | The content to encode |
qr_type | string | url, text, wifi, vcard, email, phone (default: url) |
size | integer | Image size in px, 100-2000 (default: 300) |
fg_color | string | Foreground hex color (default: #000000) |
bg_color | string | Background hex color (default: #FFFFFF) |
error_correction | string | L, M, Q, H (default: M) |
output_format | string | png or svg (default: png) |
logo | string | Base64-encoded logo image (PNG/JPG, max 500KB, PNG format only) |
curl -X POST https://qr.wolfenterprises.cloud/api/generate \
-H "Content-Type: application/json" \
-d '{"data": "https://example.com", "size": 400}' \
--output qrcode.pngimport requests
resp = requests.post("https://qr.wolfenterprises.cloud/api/generate", json={
"data": "https://example.com",
"size": 400,
"fg_color": "#1a1a2e",
"bg_color": "#ffffff"
})
with open("qrcode.png", "wb") as f:
f.write(resp.content)Response: PNG image binary (Content-Type: image/png) or SVG (Content-Type: image/svg+xml)
Create a new dynamic QR code. Requires authentication.
destination_url | string, required | URL to redirect to (http:// or https://) |
label | string | Optional label |
curl -b cookies.txt -X POST https://qr.wolfenterprises.cloud/api/dynamic \
-H "Content-Type: application/json" \
-d '{"destination_url": "https://example.com", "label": "Homepage"}'Response: {"ok": true, "short_code": "abc1234", "qr_url": "...", "destination": "..."}
List all your dynamic QR codes. Requires authentication.
curl -b cookies.txt https://qr.wolfenterprises.cloud/api/dynamicResponse: {"codes": [{"short_code": "...", "destination_url": "...", "label": "...", "scan_count": 42}]}
Update the destination URL. Requires authentication.
id | path param | The short_code |
destination_url | string, required | New destination URL |
curl -b cookies.txt -X PUT https://qr.wolfenterprises.cloud/api/dynamic/abc1234 \
-H "Content-Type: application/json" \
-d '{"destination_url": "https://new-url.com"}'Delete a dynamic QR code and its scan data. Requires authentication.
curl -b cookies.txt -X DELETE https://qr.wolfenterprises.cloud/api/dynamic/abc1234Get scan analytics for a dynamic code. Requires authentication.
curl -b cookies.txt https://qr.wolfenterprises.cloud/api/dynamic/abc1234/statsResponse: {"short_code": "...", "total_scans": 42, "daily_scans": [...], "recent_scans": [...]}
Bulk-generate QR codes from CSV. Returns a ZIP archive. Requires authentication.
curl -b cookies.txt -X POST https://qr.wolfenterprises.cloud/api/bulk \
-F "file=@codes.csv" \
--output qr_codes.zipimport requests
session = requests.Session()
session.post("https://qr.wolfenterprises.cloud/api/login", json={
"email": "you@example.com", "password": "yourpassword"
})
with open("codes.csv", "rb") as f:
resp = session.post("https://qr.wolfenterprises.cloud/api/bulk",
files={"file": ("codes.csv", f, "text/csv")})
with open("qr_codes.zip", "wb") as f:
f.write(resp.content)Response: ZIP file containing PNG images named by label or row number.
| General API endpoints | 60 requests / minute |
| Auth endpoints (login/signup) | 5 requests / minute |
| Bulk generation (Free plan) | 50 codes per batch |
| Bulk generation (Pro plan) | 500 codes per batch |
Rate limits are per IP address. Exceeding a limit returns 429 Too Many Requests.