SnapQR API

Create and manage QR codes and short links programmatically. No API key, no signup — the token returned at creation is the credential for that link. Base URL: https://snapqr.link/api

Create a link / dynamic QR

POST /api/links
Content-Type: application/json

{
  "kind": "url",                  // url | appstore | vcard | page
  "target": "https://example.com/menu",
  "alias": "summer-menu",         // optional custom code
  "title": "Summer menu",         // optional
  "campaign": "summer",           // optional grouping tag
  "utm": {                        // optional, auto-appended on redirect
    "utm_source": "poster", "utm_medium": "qr", "utm_campaign": "summer2026"
  }
}

Response 201:

{
  "code": "summer-menu",
  "short_url": "https://snapqr.link/summer-menu",
  "qr_png": "https://snapqr.link/summer-menu/qr.png",
  "qr_svg": "https://snapqr.link/summer-menu/qr.svg",
  "manage_url": "https://snapqr.link/m/<token>",
  "token": "<token>"            // keep secret — grants edit + analytics access
}

For kind: "appstore" send ios, android, fallback URLs. For kind: "vcard" send firstName, lastName, org, jobTitle, phone, email, website. For kind: "page" send headline, description and a links array of {label, url}.

Manage & analytics

GET    /api/manage/{token}            # link details + totals
PUT    /api/manage/{token}            # update target/payload/utm/active/title
DELETE /api/manage/{token}            # delete link + analytics
GET    /api/manage/{token}/stats?days=30
GET    /api/manage/{token}/scans.csv  # raw scan export

/stats returns totals, unique visitors, a per-day series and top-10 breakdowns for device, OS, browser, country, city, referrer and QR-vs-link source.

Bulk creation

POST /api/bulk            # JSON array of link objects, or {"csv": "alias,target,title,campaign\n..."}
POST /api/bulk?format=csv  # same, responds with a CSV of created codes

Max 500 rows per request.

QR images

GET /api/qr?data=hello&size=1024&fg=%23000000&bg=%23ffffff&format=png|svg&ecl=M
GET /{code}/qr.png   GET /{code}/qr.svg    # QR for an existing short code

Custom domains

POST /api/domains  {"domain": "qr.yourbrand.com"}

Then point a CNAME for that hostname at snapqr.link. TLS certificates are issued automatically on first visit, and your short codes resolve on your own domain.

Limits

Fair-use rate limits apply per IP (60 links/hour, 10 bulk requests/hour, 300 QR images/hour). Destinations must be public http(s) URLs. Codes serving malware or phishing are removed.

Example: curl

curl -X POST https://snapqr.link/api/links \
  -H "Content-Type: application/json" \
  -d '{"kind":"url","target":"https://example.com","alias":"demo-123"}'

SnapQR haqqında

QR kod və qısa keçidlərin yaradılmasını pulsuz REST API ilə avtomatlaşdırın: dinamik kodlar, toplu yaratma, analitika ixracı, UTM etiketləmə və fərdi domenlər. API açarı lazım deyil — dəqiqələr ərzində inteqrasiyaya başlayın.

Tez-tez verilən suallar

SnapQR həqiqətən pulsuzdur? Gizli şərt nədir?

Bəli — QR kodlar, dinamik kodlar, qısa keçidlər və analitika yaratmaq 100% pulsuzdur, hesab tələb olunmur. Su nişanı yoxdur və kodların müddəti bitmir.

Statik və dinamik QR kod arasında fərq nədir?

Statik QR kod məzmununuzu birbaşa naxışda kodlaşdırır və heç vaxt dəyişdirilə bilməz. Dinamik QR kod sizin idarə etdiyiniz qısa yönləndirmə URL-ini kodlaşdırır, ona görə də çapdan sonra onun harada yönəldiyini dəyişə və hər skanı izləyə bilərsiniz.

QR kodlarımın müddəti bitirmi?

Xeyr. Statik kodlar dizaynına görə heç vaxt işləməyi dayandırmır, dinamik kodlar isə pulsuz aktiv qalır.

Çapdan sonra QR kodu necə redaktə edim?

Dinamik kod yaratdığınızda şəxsi idarəetmə URL-i alırsınız. Onu açın, yeni təyinatı daxil edin və saxlayın — hər çap edilmiş nüsxə dərhal yeni səhifəyə yönəlir.

QR koduna loqomu əlavə edə bilərəmmi?

Bəli. Dizayn panelində istənilən şəkli yükləyin — o, yüksək xəta düzəlişi ilə mərkəzə yerləşdirilir ki, kod hələ də etibarlı skan olunsun. Loqo tamamilə brauzerinizdə emal olunur.

Hansı analitikanı alıram?

Hər kod üçün: ümumi skanlar, unikal ziyarətçilər, zamana görə skanlar, cihaz növü, əməliyyat sistemi, brauzer, ölkə, şəhər və istinad mənbəyi — CSV ixracı ilə. IP ünvanları heç vaxt saxlanmır.

Hansı fayl formatlarını yükləyə bilərəm?

4096 px-ə qədər PNG (300 DPI-də təxminən 13 düym) və sonsuz miqyaslana bilən SVG vektor — hər ikisi peşəkar çap üçün uyğundur.

Qısa keçidlər üçün öz domenimi istifadə edə bilərəmmi?

Bəli — CNAME-i snapqr.link-ə yönəldin və domeni API-mizlə qeydiyyatdan keçirin. HTTPS sertifikatları avtomatik verilir.