OpenQR

QR codes API & MCP

Generate QR images, create editable (dynamic) codes you can repoint anytime, and read scan stats — over a REST API or an MCP server for AI agents. Free, with a key tied to your account.

Get a free API key

Enter your email — we'll send a magic link. No password. Then come back to run live examples here.

Generate a QR image

Tweak the controls — the preview updates live, the code stays in sync, and you can run it against the real API.

curl -X POST https://openqr.uk/v1/qr \
  -H "Authorization: Bearer oqr_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data":"https://openqr.uk","format":"png","size":512,"dark":"#232E3A","light":"#FFFFFF"}' \
  --output qr.png

Live preview — exactly what the API returns.

Authentication

Every request needs your API key as a Bearer token. Create, name and rotate keys in your dashboard.

Authorization: Bearer oqr_YOUR_API_KEY

Dynamic codes

A dynamic code is a short URL on oqr.to you can repoint forever — the printed QR never changes. Create one, then update its destination or read its scans.

POST/v1/dynamic

Create a dynamic code.

curl -X POST https://openqr.uk/v1/dynamic \
  -H "Authorization: Bearer oqr_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destination":"https://example.com","label":"Spring flyer"}'

# → { "id": "...", "slug": "Ab3xKp", "short_url": "https://oqr.to/Ab3xKp", ... }

PATCH/v1/dynamic/{id}

Repoint a code — the printed QR keeps working.

curl -X PATCH https://openqr.uk/v1/dynamic/{id} \
  -H "Authorization: Bearer oqr_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destination":"https://example.com/new"}'

GET/v1/dynamic/{id}/scans

Scan statistics.

curl https://openqr.uk/v1/dynamic/{id}/scans \
  -H "Authorization: Bearer oqr_YOUR_API_KEY"

# → { "scans": { "total": 42, "last7": 9, "topCountry": "GB", "topDevice": "mobile" }, ... }

DELETE/v1/dynamic/{id}

Delete a code.

curl -X DELETE https://openqr.uk/v1/dynamic/{id} \
  -H "Authorization: Bearer oqr_YOUR_API_KEY"

MCP server

Point any MCP-capable agent (Claude, Cursor, …) at https://openqr.uk/mcp with your key. Tools: generate_qr, create_dynamic_qr, update_dynamic_qr, get_scans.

{
  "mcpServers": {
    "openqr": {
      "type": "http",
      "url": "https://openqr.uk/mcp",
      "headers": { "Authorization": "Bearer oqr_YOUR_API_KEY" }
    }
  }
}

Keep learning

Free with generous rate limits. Keys are tied to your account so we can keep abuse off the network — the tool itself stays free and no-signup.