QRForge

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_HERE

Generate 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.png

Request body

FieldTypeDescription
datastringrequired — payload to encode (URL, text, vCard, WiFi string, etc.)
formatsvg | png | jpeg | webpdefaults to png
sizeintegeroutput width in px (64–2048, default 512)
marginintegerquiet-zone margin in px (default 0)
errorCorrectionLevelL | M | Q | Hdefault H (recommended with logo)
dotsOptions.typestringsquare | dots | rounded | classy | classy-rounded | extra-rounded
dotsOptions.colorhexsolid body color
dotsOptions.gradientobjectlinear or radial gradient (overrides color)
backgroundOptions.colorhexbackground color
cornersSquareOptions.typestringsquare | dot | extra-rounded
cornersDotOptions.typestringsquare | dot
imagedata URL or URLlogo to overlay
imageOptions.imageSizenumber0.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"
  }
}