QR code generator API: SVG QR codes for any text or URL
Generate a QR code for a URL or any text (UTF-8, up to 1,000 characters) as a scalable SVG plus a ready-to-embed data URL, at error correction L, M (default), Q or H. Use to put a link, Wi-Fi string or payment request on a page, label or ticket.
When to use it
- Turn a link, Wi-Fi string or payment request into a QR code an agent can embed
- Get a scalable SVG plus a ready-to-use data URL in one call
- Pick error correction L, M, Q or H for print or screens
Inputs
| Name | Type | Description |
|---|---|---|
text (required) | string | The text or URL to encode |
ecc | string | Error correction: L, M (default), Q or H |
size | integer | Pixels per module, 1-20 (default 4) |
margin | integer | Quiet zone in modules, 0-10 (default 4) |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/qr?text=https%3A%2F%2Fagent-data-tools.revmesh2074.workers.dev"
Or one of your 25 free calls, no key:
curl "https://agent-data-tools.revmesh2074.workers.dev/qr?text=https%3A%2F%2Fagent-data-tools.revmesh2074.workers.dev&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.
Example result
{
"text": "https://agent-data-tools.revmesh2074.workers.dev",
"ecc": "M",
"version": 4,
"modules": 33,
"svg": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" …</svg>",
"dataUrl": "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9u…"
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is qr, and the first 25 successful calls are free:
https://agent-data-tools.revmesh2074.workers.dev/mcp
Questions
Which characters work?
Any UTF-8 text up to 1,000 characters; very long text at error correction H is refused with a 400, uncharged.
What format comes back?
An SVG string and the same SVG as a base64 data URL.
How do I pay?
Each successful call costs $0.01; failed calls are not charged. The first 25 calls are free. Then pay with card credits (from $5) or per call in USDC over x402 or MPP. No account or API key is needed.