API Access
API access requires Pro or Agency tier
Upgrade your subscription to generate API keys and access the developer API. Each API call costs 1 credit.
View pricing plans →API Key
Use your API key to generate QR codes programmatically. Each API call costs 1 credit. You can only have one active key at a time — generating a new key replaces the old one.
Quick Start
curl -X POST https://qr.vu/api/v1/qr/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"qr_type": "static",
"content_type": "url",
"destination": "https://example.com"
}'Structured payloads
For vCard, Wi-Fi, Email, etc. send a payload object instead of destination.
Cost
1 credit per API call. Returns 402 if insufficient credits.
API Reference
Endpoint
POST /api/v1/qr/generateContent Types
url, text, vcard, wifi, email, sms, phone, location, event, pdf, image, video, social, app, barcode
Rate Limit
60 requests per minute per API key
Output Formats
PNG and SVG URLs included in every response
Error Codes
401 (invalid key), 402 (no credits), 429 (rate limit), 400 (bad request)
Python Example
import requests
response = requests.post(
"https://qr.vu/api/v1/qr/generate",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"qr_type": "static",
"content_type": "url",
"destination": "https://example.com",
"title": "My QR Code",
},
)
if response.status_code == 201:
qr = response.json()
print(f"PNG: {qr['image_url']}")
print(f"SVG: {qr['image_svg_url']}")JavaScript Example
const response = await fetch(
"https://qr.vu/api/v1/qr/generate",
{
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
qr_type: "static",
content_type: "url",
destination: "https://example.com",
title: "My QR Code",
}),
}
);
if (response.status === 201) {
const qr = await response.json();
console.log("PNG:", qr.image_url);
console.log("SVG:", qr.image_svg_url);
}vCard Payload Example
{
"qr_type": "static",
"content_type": "vcard",
"title": "Jane Smith",
"payload": {
"first_name": "Jane",
"last_name": "Smith",
"organization": "Acme Corp",
"email": "jane@acme.com",
"phone": "+1-555-0123",
"website": "https://acme.com"
}
}Wi-Fi Payload Example
{
"qr_type": "static",
"content_type": "wifi",
"title": "Office Wi-Fi",
"payload": {
"ssid": "OfficeNetwork",
"password": "guestpass123",
"encryption": "WPA"
}
}