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
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
| type | required params |
|---|---|
| url | data |
| text | data |
| wifi | ssid (+ password, encryption, hidden) |
| email (+ subject, body) | |
| sms | phone (+ message) |
| phone | phone |
| vcard | firstName/lastName (+ org, title, phone, email, url) |
| geo | lat, 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.