QR. for developers
Mint, print, route, and observe dynamic QR codes. Change the destination anytime — without reprinting.
Free · 20 dynamic QRs / month · unlimited scans · full API
Edge network redirects · Official clients on npm, PyPI & Go
No reprint
Change the destination with a PATCH
Print once. Point scanners somewhere new whenever the product, campaign, or store listing changes — without touching the physical code.
PATCH /v1/qr/qr_...
{ "targetUrl": "https://new.example.com" }Edge rules
One QR code. Many destinations at the edge.
Scans resolve at the edge by device, country, time, or weighted A/B (weights sum to 100) — first match wins, then your default destination. Any plan can add a password gate before the redirect. Change rules anytime without reprinting.
Order: device → country → time → A/B → destination.
POST /v1/qr
{
"targetUrl": "https://example.com",
"rules": {
"device": {
"ios": "https://apps.apple.com/…",
"android": "https://play.google.com/…"
}
}
}iPhone in India · 10:00
App Store
Matched: Device · iOS
- device.ios → apps.apple.com/…
- device.android → play.google.com/…
- targetUrl → example.com (fallback)
One API spine for most dynamic QR jobs
Compose mint through brand in code — instead of bolting a generator to a redirect service and hoping it holds.
- POST /v1/qr
Mint
Create codes over HTTP with metadata, UTM, batch, and lifecycle (expire / max scans).
- Images + assets
Print
Export PNG, SVG, or print-ready PDF — with style and logo when you need them.
- Edge rules
Route
Edge short links on go.qrdot.dev — device, country, time, password gate, or Pro+ A/B.
- Webhooks + analytics
Observe
Signed webhooks and analytics REST — scans never block the redirect.
- Domains + logo
Brand
Custom domains and logos so codes look like your product, not ours.
Why not just use node-qrcode?
Generating a PNG is easy. Owning mint, print, live links, routing, and scan events at scale is the real product — that is what QR. ships as an API.
| DIY | QR. | |
|---|---|---|
| Redirects | Your region, your uptime | Edge network redirects on go.qrdot.dev |
| Change destination | Rebuild + reprint, or own a redirect hack | PATCH the short link — code stays printed |
| Exports | PNG from canvas; SVG/PDF is your problem | PNG, SVG, and print-ready PDF |
| Routing & events | Custom geo/device code + queues | Device, geo, time, A/B, password gate + webhooks |
Minutes, not weeks
SDKs for the stack you already ship
Grab an API key, install an official client (Node, Python, Go, PHP, Ruby) or call REST from any language (C#, Java, .NET, …), and create your first dynamic QR before standup ends. CLI for scripts — OpenAPI when you need a generated client.
Browse libraries →@qrdot/sdkNode / TSpip install qrdotPythonqrdot-clients/goGointuitix/qrdot-phpPHPgem install qrdotRubynpx @qrdot/cliCLI
Get your API key in under two minutes
Start on Free, then upgrade when volume or custom domains matter.
