REST API

Qode API

Generate QR codes programmatically. One endpoint, JSON in, base64 PNG or SVG out.

Authentication

All requests require an API key, sent as a bearer token. Create and manage keys in your dashboard.

Authorization: Bearer qrc_your_api_key

Rate limits

10,000 requests / day per API key.

Responses include X-RateLimit-Remaining and X-RateLimit-Reset headers. Exceeding the limit returns 429.

POST/api/v1/generate

Body fields: type (required), content (required, shape depends on type), format (png default, or svg), and an optional style object.

Example request

curl -X POST https://your-domain.com/api/v1/generate \
  -H "Authorization: Bearer qrc_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "url",
    "format": "png",
    "content": { "url": "https://example.com" },
    "style": {
      "fgColor": "#111827",
      "bgColor": "#ffffff",
      "errorLevel": "M",
      "size": 512
    }
  }'

Example response

{
  "format": "png",
  "contentType": "image/png",
  "data": "data:image/png;base64,iVBORw0KGgoAAA..."
}

Content payloads by type

// content shape per type
url      { "url": "https://example.com" }
text     { "text": "Hello world" }
phone    { "phone": "+15550100" }
email    { "to": "a@b.com", "subject": "Hi", "body": "..." }
sms      { "phone": "+15550100", "message": "..." }
wifi     { "ssid": "Net", "password": "pw", "encryption": "WPA" }
vcard    { "firstName": "Ada", "lastName": "Lovelace", "email": "a@b.com" }
location { "mode": "coords", "latitude": 37.77, "longitude": -122.41 }
event    { "title": "Launch", "start": "2026-06-01T10:00", "end": "2026-06-01T11:00" }

Style options

fgColor, bgColor (hex), transparentBg (bool), errorLevel (L/M/Q/H), size (200–2000), margin. Custom dot shapes and embedded logos are available in the browser editor only.

Ready to start?

Create an API key from your dashboard.