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"}'

Kuhusu SnapQR

Fanya kiotomatiki uundaji wa misimbo ya QR na viungo vifupi kwa REST API ya bila malipo: misimbo inayobadilika, uzalishaji wa wingi, usafirishaji wa uchambuzi, uwekaji wa UTM na vikoa maalum. Hakuna ufunguo wa API unaohitajika — anza kuunganisha kwa dakika chache.

Maswali yanayoulizwa mara kwa mara

Je, SnapQR ni bila malipo kweli? Kuna nini nyuma?

Ndiyo — kutengeneza misimbo ya QR, misimbo inayobadilika, viungo vifupi na uchambuzi ni bila malipo kwa asilimia 100 bila akaunti inayohitajika. Hakuna alama ya maji na misimbo haiishi muda.

Kuna tofauti gani kati ya msimbo wa QR uliotuama na unaobadilika?

Msimbo wa QR uliotuama husimba maudhui yako moja kwa moja kwenye muundo na hauwezi kubadilishwa kamwe. Msimbo wa QR unaobadilika husimba URL fupi ya uelekezaji unayoidhibiti, kwa hivyo unaweza kubadilisha unakoelekeza baada ya kuchapisha na kufuatilia kila uchanganuzi.

Je, misimbo yangu ya QR huisha muda?

Hapana. Misimbo iliyotuama haiachi kufanya kazi kamwe kwa muundo wake, na misimbo inayobadilika hubaki hai bila malipo.

Ninawezaje kuhariri msimbo wa QR baada ya kuchapisha?

Unapotengeneza msimbo unaobadilika unapata URL ya faragha ya usimamizi. Ifungue, weka lengo jipya na uhifadhi — kila nakala iliyochapishwa huelekeza papo hapo kwenye ukurasa mpya.

Je, ninaweza kuongeza nembo yangu kwenye msimbo wa QR?

Ndiyo. Pakia picha yoyote kwenye paneli ya Muundo — huingizwa katikati kwa urekebishaji wa juu wa makosa ili msimbo bado uchanganuliwe kwa uhakika. Nembo huchakatwa kabisa kwenye kivinjari chako.

Ninapata uchambuzi gani?

Kwa kila msimbo: jumla ya uchanganuzi, wageni wa kipekee, uchanganuzi kwa muda, aina ya kifaa, mfumo wa uendeshaji, kivinjari, nchi, mji na chanzo cha rufaa — pamoja na usafirishaji wa CSV. Anwani za IP hazihifadhiwi kamwe.

Naweza kupakua fomati gani za faili?

PNG hadi 4096 px (takribani inchi 13 kwa 300 DPI) na vekta ya SVG inayoweza kupanuliwa bila kikomo — zote zinafaa kwa uchapishaji wa kitaalamu.

Je, ninaweza kutumia kikoa changu kwa viungo vifupi?

Ndiyo — elekeza CNAME kwenye snapqr.link na usajili kikoa kupitia API yetu. Vyeti vya HTTPS hutolewa kiotomatiki.