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

ساخت کد QR و پیوند کوتاه را با یک REST API رایگان خودکار کنید: کدهای پویا، تولید انبوه، خروجی تحلیل، برچسب‌گذاری UTM و دامنه‌های سفارشی. بدون نیاز به کلید API — در چند دقیقه یکپارچه‌سازی را آغاز کنید.

پرسش‌های متداول

آیا SnapQR واقعاً رایگان است؟ نکته پنهانش چیست؟

بله — ساخت کدهای QR، کدهای پویا، پیوندهای کوتاه و تحلیل‌ها کاملاً رایگان و بدون نیاز به حساب کاربری است. هیچ واترمارکی وجود ندارد و کدها منقضی نمی‌شوند.

تفاوت بین کد QR ثابت و پویا چیست؟

یک کد QR ثابت محتوای شما را مستقیماً در الگو رمزگذاری می‌کند و هرگز قابل تغییر نیست. یک کد QR پویا یک URL هدایت کوتاه که شما آن را کنترل می‌کنید رمزگذاری می‌کند، بنابراین می‌توانید مقصد آن را پس از چاپ تغییر دهید و هر اسکن را ردیابی کنید.

آیا کدهای QR من منقضی می‌شوند؟

خیر. کدهای ثابت طبق طراحی هرگز از کار نمی‌افتند و کدهای پویا به‌صورت رایگان فعال باقی می‌مانند.

چگونه یک کد QR را پس از چاپ ویرایش کنم؟

هنگامی که یک کد پویا می‌سازید، یک URL مدیریت خصوصی دریافت می‌کنید. آن را باز کنید، مقصد جدید را وارد کنید و ذخیره کنید — هر نسخه چاپ‌شده فوراً به صفحه جدید اشاره می‌کند.

آیا می‌توانم لوگوی خود را به یک کد QR اضافه کنم؟

بله. هر تصویری را در پنل طراحی بارگذاری کنید — با تصحیح خطای بالا در مرکز جاسازی می‌شود تا کد همچنان به‌طور قابل‌اعتماد اسکن شود. لوگو کاملاً در مرورگر شما پردازش می‌شود.

چه تحلیل‌هایی دریافت می‌کنم؟

برای هر کد: کل اسکن‌ها، بازدیدکنندگان یکتا، اسکن‌ها در طول زمان، نوع دستگاه، سیستم‌عامل، مرورگر، کشور، شهر و ارجاع‌دهنده — با خروجی CSV. آدرس‌های IP هرگز ذخیره نمی‌شوند.

چه فرمت‌های فایلی را می‌توانم دانلود کنم؟

PNG تا ۴۰۹۶ px (حدود ۱۳ اینچ در ۳۰۰ DPI) و بردار SVG با مقیاس‌پذیری نامحدود — هر دو برای چاپ حرفه‌ای مناسب‌اند.

آیا می‌توانم از دامنه خودم برای پیوندهای کوتاه استفاده کنم؟

بله — یک CNAME را به snapqr.link اشاره دهید و دامنه را از طریق API ما ثبت کنید. گواهی‌های HTTPS به‌صورت خودکار صادر می‌شوند.