QRForge API
Generate branded QR codes programmatically. SVG, PNG, JPEG, WebP.
Authentication
All requests must include your API key in the Authorization header.
Authorization: Bearer qrf_YOUR_KEY_HEREGenerate a QR code
POST /api/v1/qr
curl -X POST https://qrforge.meta-mind-lab.com/api/v1/qr \
-H "Authorization: Bearer qrf_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": "https://example.com",
"format": "png",
"size": 512,
"dotsOptions": { "type": "rounded", "color": "#111111" },
"backgroundOptions": { "color": "#ffffff" },
"cornersSquareOptions": { "type": "extra-rounded", "color": "#111111" },
"cornersDotOptions": { "type": "dot", "color": "#111111" }
}' --output qr.pngRequest body
| Field | Type | Description |
|---|---|---|
| data | string | required — payload to encode (URL, text, vCard, WiFi string, etc.) |
| format | svg | png | jpeg | webp | defaults to png |
| size | integer | output width in px (64–2048, default 512) |
| margin | integer | quiet-zone margin in px (default 0) |
| errorCorrectionLevel | L | M | Q | H | default H (recommended with logo) |
| dotsOptions.type | string | square | dots | rounded | classy | classy-rounded | extra-rounded |
| dotsOptions.color | hex | solid body color |
| dotsOptions.gradient | object | linear or radial gradient (overrides color) |
| backgroundOptions.color | hex | background color |
| cornersSquareOptions.type | string | square | dot | extra-rounded |
| cornersDotOptions.type | string | square | dot |
| image | data URL or URL | logo to overlay |
| imageOptions.imageSize | number | 0.1–0.5 (relative) |
Rate limits
Each response includes x-ratelimit-limit, x-ratelimit-remaining, and x-ratelimit-reset headers. Exceeding the limit returns 429.
Errors
{
"error": {
"code": "invalid_api_key",
"message": "API key is invalid or revoked"
}
}