QR Code API

Generate any QR code with one request. The free endpoint returns SVG, a PNG data-URL, or JSON. A paid endpoint adds batch generation and high-resolution PNG output for agents and production apps.

Try it

Get this QR from the API (developers)
curl "https://qr.wrapper-agency.com/api/v1/qr?type=url&data=https%3A%2F%2Fexample.com&format=svg"

Free QR API — no key during beta. Returns SVG, PNG data-URL or JSON.

Free endpoint (live, no key during beta)

GET https://qr.wrapper-agency.com/api/v1/qr?type=url&data=https://example.com&format=svg
# -> returns image/svg+xml

GET https://qr.wrapper-agency.com/api/v1/qr?type=url&data=https://example.com&format=json
{
  "type": "url",
  "payload": "https://example.com",
  "svg": "<svg ...>",
  "dataURL": "data:image/png;base64,..."
}

format is one of svg (default), png (PNG bytes), or json (svg + PNG data-URL). WiFi, vCard, email, SMS, phone and geo use their own params (see below). CORS is open. OpenAPI spec.

Parameters by type

typerequired params
urldata
textdata
wifissid (+ password, encryption, hidden)
emailemail (+ subject, body)
smsphone (+ message)
phonephone
vcardfirstName/lastName (+ org, title, phone, email, url)
geolat, lng

Common options: size (px), margin, dark/light (hex), ecLevel (L/M/Q/H).

Paid endpoint (x402 — batch & high-res)

POST https://qr.wrapper-agency.com/api/v1/pro/qr
Content-Type: application/json

{
  "items": [
    { "type": "url",  "data": "https://example.com" },
    { "type": "wifi", "ssid": "Cafe", "password": "x", "encryption": "WPA" }
  ],
  "format": "png",
  "size": 2048
}
# -> per-call USDC on Base (x402). Returns high-res PNG(s), no attribution.

The paid POST is metered with x402 micro-payments (USDC on Base). It accepts a single object or an items array for batch, and supports high-resolution output. Free GET stays available for everyday single-code use.

Why QRForge

Every QR type
URL, text, WiFi, vCard, email, SMS, phone and geo — one API.
Clean output
Crisp SVG for print, PNG for screens, JSON for pipelines.
Agent-ready
Free GET for humans, x402-paid POST for batch and high-res.

New to QR codes in code? Read the developer guide.