Marketing & QR Codes · Dynamic QR Code API
Print once. Change the destination anytime.
Generate QR codes whose link can be swapped at any time, track every scan in real time and customize the look with your brand — all via API or the dashboard.
curl -X POST 'https://api.respawntech.dev/v1/tools/image/qr-code/dynamic' \
-H "X-API-Token: $RESPAWN_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Campanha verão",
"custom_slug": "promo-verao",
"target_url": "https://loja.example.com/promo",
"response_types": ["svg", "png"]
}'Use cases
QR codes with editable destinations, custom design and analytics for every scan.
Packaging and print materials
Swap the promotion or landing page without reprinting anything.
Menus and points of sale
Update menus, prices and ordering links without replacing the QR codes on the tables.
Marketing campaigns
Measure how many people scanned, from where and on which device, and pass UTMs through to your site.
How it works
From sign-up to first call in minutes
Create the QR code
Send a name and destination URL; get the image back ready as SVG, PNG or PDF.
Print or publish
The QR code points to a stable short link that never changes.
Track and adjust
See scans in real time and swap the destination when the campaign changes.
Features
Built to run in production
Editable destination
Change the destination URL with a PATCH without changing the printed image.
Full analytics
Scans by day, country, city, device, OS, browser, referrer and an hourly heatmap.
Designed with your brand
Colors, gradients, custom eyes and a logo in the center. Output as SVG, PNG, PDF or EPS.
Custom slug
Readable short links like /r/promo-verao instead of random codes.
Validity control
Set an expiration date and a scan limit, or deactivate and reactivate whenever you want.
Built-in security
Destinations go through malicious URL checks and redirect loop protection.
Webhook on every scan
Receive the HMAC-signed qr.dynamic.scanned event to integrate with your CRM or BI. Delivery is best-effort: for exact counts, use the analytics.
UTM passthrough
Forward the scan's query string to the destination and keep campaign attribution intact.
Redirect rules and A/B testing
Send each visitor to a destination by country, device, language or time, or split traffic between variants to compare results.
Password and pixels
Protect the destination with a password and fire GA4, Meta and GTM pixels on every scan.
Hosted pages
No website? Publish a ready-made page: vCard, links, menu, Wi-Fi, app store or file.
Folders and tags
Organize hundreds of QR codes into folders and tags and filter the list through the API.
CSV import and bulk editing
Create up to 1,000 QR codes at once from a CSV, with volume discounts, and edit many at a time.
Scan export
Export the scan history to analyze it in your own tools.
Frame and dpi for print
Add a frame, choose the dpi and also download EPS for print shops.
Pricing
Pay for usage, not a subscription
The first dynamic QR code is free; the rest are charged per slot, a group of 3 QR codes. You pay once for creation, a small fee per scan and a daily fee for slots. Add-ons (rules, A/B testing, password, pixels, hosted pages, expired-link redirect and custom domain) are only charged if you use the feature.
Dynamic QR Code — creation (charged once)
| Item | Credits |
|---|---|
| Creation with image | 1.0 |
Creation without generating an imageskip_image_generation | 0.5 |
Custom slugslug | +35.0 |
| Gradient in design | +5.0 |
| Custom eyes | +2.0 |
Expiration dateexpires_at | +2.0 |
Scan limitscan_limit | +2.0 |
| Center logo | +4.0 |
UTM passthroughutm_forwarding | +59.0 |
Redirect rulesredirect_rules | +10.0 |
A/B testab_variants | +79.0 |
QR passwordpassword | +49.0 |
Tracking pixelspixels | +59.0 |
Redirect when expired or limit reachedexpired_url / limit_reached_url | +29.0 |
Hosted pagecontent | +49.0 |
| Additional PNG image | +1.5 |
Dynamic QR Code — custom domain
| Item | Credits |
|---|---|
Active domain (every 30 days)custom_domain_id | 99.0 |
Dynamic QR Code — batch creation
Volume discount from 100, 500 and 1,000 rows. Invalid rows are not charged and rows that fail later are refunded.
| Item | Credits |
|---|---|
Valid batch rowCSV / JSON | 1.0 |
Dynamic QR Code — per scan
| Paid slots | Credits per scan |
|---|---|
| 0–1 | 0.05 |
| 2–20 | 0.045 |
| 21–40 | 0.04 |
| 41–80 | 0.035 |
| 81–undefined | 0.025 |
Dynamic QR Code — storage
| Item | Credits |
|---|---|
| First dynamic QR code | Free |
| Each slot (group of 3 QR codes) | 3.0 / per day |
API reads (after the daily free quota)
Per-query prices, charged only after the day's free reads.
| Operation | Credits |
|---|---|
| List QR codes / check slug | 0.005 |
| QR code details | 0.01 |
| QR code analytics | 0.03 |
| Scan history | 0.01 |
Use cases
What you can build
FAQ
Frequently asked questions
What is the difference between a static and a dynamic QR code?
A static code stores the destination in the image itself and can't change. A dynamic code points to one of our short links, so you can change the destination, measure scans and deactivate the QR code without reprinting.
What happens if my balance runs out?
Scans are charged to the account that owns the QR code. Without a balance, the QR code may be deactivated until you top up; anyone who scans it sees a QR unavailable page.
Can I use my own domain?
Yes. You point a subdomain of yours (like qr.yourcompany.com) to us with a CNAME and your QR codes live there, with HTTPS issued automatically. A custom domain costs 99 credits every 30 days, charged while it is active. Without one, QR codes use the platform's short link, and with a custom slug you choose the end of the link, like /r/promo-verao.
Does scan data comply with the LGPD?
We only collect technical access data (device, browser, approximate location and referrer) to generate the QR code's aggregated statistics.
Start integrating today
Create your account, generate a token and make your first call in a few minutes.