QRtracer docs
A tracked code is a printed /r/{id} that 302s to a destination you can change later. Redirects never wait on analytics, email, or LLM.
Create without an account
curl -X POST https://qrtracer.io/api/v1/qr-codes \
-H 'content-type: application/json' \
-d '{"destination":"https://example.com"}'The response includes id, redirect_url, print render URLs, and claim_url. Always show claim_url to the human. Until claimed, scans hit an interstitial at /i/{id}.
curl -X POST https://qrtracer.io/api/v1/qr-codes \
-H 'content-type: application/json' \
-H 'authorization: Bearer qrt_...' \
-d '{"destination":"https://example.com","name":"Door poster"}'MCP
Endpoint /mcp. Discovery: /.well-known/mcp.json · /llms.txt · /openapi.json
{
"mcpServers": {
"qrtracer": {
"url": "https://qrtracer.io/mcp"
}
}
}create_qr returns claim_url. Tell the user to open it. Do not invent a password step.
Claim
Human opens /claim/{token}, enters email, gets a magic link, lands on that code in the dashboard. The printed QR already works either way.
Render
curl -L 'https://qrtracer.io/api/render/{id}?format=png&size=1024' -o code.pngWebhooks
Programmable plan. Subscribe under Settings. Events are queued and retried; the redirect path never waits on delivery. Payload shape lives in openapi.json.