ScanIQ documentation
Everything you can do with ScanIQ — from your first QR code to advanced routing and the REST API.
Quick start
Create your first dynamic QR code in under a minute:
- 1Create a free account — no card required.
- 2On your dashboard, pick a type (start with Website / Link) and paste your URL.
- 3Click Create. Your QR appears instantly — download it as PNG or SVG.
- 4Print it or share it anywhere. Every scan is tracked in your dashboard.
- 5Need to change where it points? Click Edit destination — the printed code stays the same.
Free vs Pro: Free includes 3 dynamic codes, editable destinations, and a total scan counter. Pro ($15/mo) unlocks unlimited codes, full analytics, branding, and every feature below.
QR code & link types
One dynamic code can be far more than a link. Pick the type when you create a code:
| Type | What it does |
|---|---|
| Website / Link | Redirects to any URL. Edit the destination anytime. |
| Business Card (vCard) | A hosted contact page with a one-tap “Save to contacts”. |
| Link-in-bio | Multiple links on one branded page — perfect for socials. |
| Opens a WhatsApp chat with your number and a pre-filled message. | |
| App Store routing | Sends iPhone users to the App Store, Android to Google Play. |
| Business Page | A mini profile: name, about, phone, hours, website. |
| Event | Event details with an “Add to calendar” (.ics) button. |
| Coupon | A redeemable coupon page with code and terms. |
| Smart Routing | One code, different destinations by device or country. |
| A/B Test | Split scans across destinations and compare performance. |
The free QR studio also makes static WiFi, email, SMS, phone and location codes — no sign-up needed.
Design & branding
Make codes that match your brand. In the QR studio (free) or per-code in the dashboard (Customize), you can set:
- Logo in the center (error-correction auto-bumps so it still scans).
- Colors — foreground and background.
- Dot & corner styles — rounded, dots, classy, extra-rounded, and more.
- Frames + call-to-action — add a “SCAN ME” banner around the code.
- Export — crisp 1024px PNG or scalable SVG, ready for print.
Tip: keep strong contrast (dark code on light background) and test the printed size with a phone before mass printing.
Editing after printing
Every dashboard code is dynamic: the QR encodes a short ScanIQ link, and you control where that link points. Change the destination as often as you like — the printed code never changes. Use Edit destination on any code, or Pause to temporarily disable it (scanners see a friendly “not active” page).
Analytics & export
Open any code → View analytics to see:
- Total scans and scans over the last 30 days.
- Breakdowns by country, device, browser and referrer.
- A recent-scans table with timestamps.
- Export scans to CSV for your own reporting (Pro).
Bot and preview traffic is filtered out so your numbers reflect real people.
Power features (Pro)
Open a code → Edit → Advanced settings:
- Password protection — scanners must enter a password to continue.
- Expiry date — the code stops working after a date you choose.
- Scan limit — the code stops after N scans (great for limited offers).
- Scan-notification email — get an email each time it’s scanned.
- Retargeting pixels — add a Meta Pixel ID and/or Google tag (GA4) so you can retarget people who scan with ads.
Smart routing
Create a Smart Routing code to send different people to different URLs from one QR. Add rules (top to bottom, first match wins):
- By device — value
mobile,desktoportablet. - By country — a 2-letter code like
US,AE,GB.
Set a Default URL for everyone who doesn’t match a rule. Example: route iPhone users to a demo video, everyone else to your homepage.
A/B testing
Create an A/B Test code with two or more variants, each a destination URL plus a weight (how often it’s shown). ScanIQ splits scans across the variants and records which one each scanner got. Open View analytics to see an A/B variant performance breakdown and find your winner.
Bulk generation
Need many codes at once (table tents, asset tags, mailers)? On the dashboard click Bulk import and paste up to 3,000 URLs — one per line, with an optional title after a comma:
https://example.com/table-1, Table 1 https://example.com/table-2, Table 2 https://example.com/table-3, Table 3
Each line becomes its own trackable code with its own QR and analytics.
Folders & campaigns
Give any code a Folder / campaign name when you create it (e.g. “Summer 2026”). Use the folder filter at the top of your links list to focus on one campaign at a time.
REST API (advanced)
Automate everything with the ScanIQ REST API. Available on Pro.
Authentication
Create a key in your dashboard under API access. Send it as a Bearer token. Keep it secret — it’s shown only once.
Authorization: Bearer sk_live_xxxxxxxxxxxx
Base URL
https://www.getscaniq.com/api/v1
Endpoints
| GET | /links | List your codes (with scan counts). |
| POST | /links | Create a code. Body: { type, destination | data, title, code?, folder? }. |
| GET | /links/:id | Fetch one code. |
| PATCH | /links/:id | Update destination / title / active / folder. |
| DELETE | /links/:id | Delete a code. |
| GET | /links/:id/analytics | Full analytics for a code. |
Example: create a code
curl https://www.getscaniq.com/api/v1/links \
-H "Authorization: Bearer YOUR_KEY" \
-H "content-type: application/json" \
-d '{
"type": "url",
"destination": "https://example.com/launch",
"title": "Spring launch",
"folder": "Q2 campaign"
}'Example: a digital business card
curl https://www.getscaniq.com/api/v1/links \
-H "Authorization: Bearer YOUR_KEY" \
-H "content-type: application/json" \
-d '{
"type": "vcard",
"data": { "first": "Ada", "last": "Lovelace", "phone": "+1...", "email": "ada@x.com" }
}'Scan webhooks
On any code, set a webhook URL (Advanced settings) and ScanIQ will POST a JSON payload to it on every scan — wire it into Zapier, Make, n8n or your own backend:
{
"event": "scan",
"code": "aB3xYz",
"type": "url",
"target": "https://example.com/launch",
"ts": "2026-06-30T12:00:00.000Z",
"country": "AE", "city": "Dubai",
"device": "mobile", "browser": "Safari", "os": "iOS",
"variant": null
}Troubleshooting
Ready to build your first code?
Start free →