Enterprise-grade REST API for generating QR codes. Fast, reliable, scalable. Integrate in minutes.
Authorization: Bearer YOUR_API_KEY
POST /api/v1/generate
Content-Type: application/json
{
"data": "https://example.com",
"size": 300,
"errorCorrectionLevel": "H",
"format": "png"
}
{
"success": true,
"qrCode": "https://cdn.qrcodegeneratorjp.com/qr/abc123.png",
"id": "qr_abc123",
"createdAt": "2026-06-03T10:30:00Z",
"expiresAt": "2026-12-03T10:30:00Z"
}
POST /api/v1/generate
{
"data": "https://example.com",
"size": 500,
"errorCorrectionLevel": "H",
"format": "svg",
"colors": {
"dark": "#185FA5",
"light": "#FFFFFF"
},
"margin": 2
}
curl -X POST https://api.qrcodegeneratorjp.com/v1/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": "https://example.com",
"size": 300
}'
curl -X POST https://api.qrcodegeneratorjp.com/v1/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"data":"https://example.com"}' \
-o qrcode.png
import requests
import json
API_KEY = "your_api_key_here"
API_URL = "https://api.qrcodegeneratorjp.com/v1/generate"
def generate_qr(data, size=300):
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
payload = {
"data": data,
"size": size,
"errorCorrectionLevel": "H"
}
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
# Generate QR code
qr = generate_qr("https://example.com")
print(f"QR Code: {qr['qrCode']}")
const axios = require('axios');
const API_KEY = process.env.QR_API_KEY;
const API_URL = 'https://api.qrcodegeneratorjp.com/v1/generate';
async function generateQR(data, options = {}) {
try {
const response = await axios.post(API_URL, {
data,
size: options.size || 300,
errorCorrectionLevel: options.errorCorrectionLevel || 'H',
format: options.format || 'png'
}, {
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
}
});
return response.data;
} catch (error) {
console.error('QR Generation failed:', error.message);
throw error;
}
}
// Usage
generateQR('https://example.com').then(qr => {
console.log('Generated:', qr.qrCode);
});
| Plan | Requests/Month | Cost | Support |
|---|---|---|---|
| Free | 1,000 | $0 | Community |
| Pro | 100,000 | $29/mo | |
| Enterprise | Unlimited | Custom | Phone + Slack |
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 985
X-RateLimit-Reset: 1686063600
POST /api/v1/batch-generate
{
"requests": [
{"data": "https://example.com/1"},
{"data": "https://example.com/2"},
{"data": "https://example.com/3"}
]
}
Response:
{
"success": true,
"qrCodes": [
{"id": "qr_1", "qrCode": "...png"},
{"id": "qr_2", "qrCode": "...png"},
{"id": "qr_3", "qrCode": "...png"}
]
}
POST /api/v1/dynamic-generate
{
"data": "https://example.com/1",
"dynamicUpdateUrl": true,
"expiresIn": 86400
}
Response:
{
"qrCode": "https://qr.example.com/d/abc123",
"updateUrl": "https://api.qrcodegeneratorjp.com/v1/update/abc123"
}
// Invalid data
{
"error": "Invalid data",
"message": "Data must be between 1 and 2953 characters",
"code": "INVALID_DATA"
}
// Rate limit exceeded
{
"error": "Rate limit exceeded",
"message": "You've reached your monthly limit",
"code": "RATE_LIMIT_EXCEEDED"
}
// Invalid API key
{
"error": "Unauthorized",
"message": "Invalid or expired API key",
"code": "INVALID_API_KEY"
}