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

Despre SnapQR

Automatizează crearea de coduri QR și linkuri scurte cu un API REST gratuit: coduri dinamice, generare în masă, export de analize, etichetare UTM și domenii personalizate. Fără cheie API necesară — începe integrarea în câteva minute.

Întrebări frecvente

SnapQR este chiar gratuit? Care e șmecheria?

Da — crearea de coduri QR, coduri dinamice, linkuri scurte și analize sunt 100% gratuite, fără cont necesar. Nu există filigran, iar codurile nu expiră.

Care este diferența dintre un cod QR static și unul dinamic?

Un cod QR static codifică conținutul direct în model și nu poate fi schimbat niciodată. Un cod QR dinamic codifică un URL scurt de redirecționare pe care îl controlezi, așa că poți schimba destinația după tipărire și poți urmări fiecare scanare.

Expiră codurile mele QR?

Nu. Codurile statice nu se opresc niciodată din funcționare, prin concepție, iar codurile dinamice rămân active gratuit.

Cum editez un cod QR după tipărire?

Când creezi un cod dinamic, primești un URL privat de administrare. Deschide-l, introdu noua destinație și salvează — fiecare copie tipărită trimite instant către noua pagină.

Pot adăuga logo-ul meu la un cod QR?

Da. Încarcă orice imagine în panoul de Design — este integrată în centru cu corecție de eroare ridicată, astfel încât codul se scanează în continuare fiabil. Logo-ul este procesat în întregime în browserul tău.

Ce analize primesc?

Pentru fiecare cod: scanări totale, vizitatori unici, scanări în timp, tipul dispozitivului, sistemul de operare, browserul, țara, orașul și sursa de trimitere — cu export CSV. Adresele IP nu sunt niciodată stocate.

Ce formate de fișier pot descărca?

PNG până la 4096 px (aproximativ 13 inci la 300 DPI) și SVG vectorial infinit scalabil — ambele potrivite pentru tipărire profesională.

Pot folosi propriul domeniu pentru linkurile scurte?

Da — direcționează un CNAME către snapqr.link și înregistrează domeniul prin API-ul nostru. Certificatele HTTPS sunt emise automat.