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

Apie SnapQR

Automatizuokite QR kodų ir trumpų nuorodų kūrimą su nemokama REST API: dinaminiai kodai, masinis generavimas, analitikos eksportas, UTM žymėjimas ir pasirinktiniai domenai. API rakto nereikia — pradėkite integruoti per kelias minutes.

Dažniausiai užduodami klausimai

Ar SnapQR tikrai nemokamas? Kur čia gudrybė?

Taip — QR kodų, dinaminių kodų, trumpų nuorodų ir analitikos kūrimas yra 100 % nemokamas be paskyros. Nėra vandens ženklo, o kodai negalioja iki tam tikros datos.

Kuo skiriasi statinis ir dinaminis QR kodas?

Statinis QR kodas užkoduoja jūsų turinį tiesiogiai raštu ir jo niekada negalima pakeisti. Dinaminis QR kodas užkoduoja jūsų valdomą trumpą peradresavimo URL, todėl galite pakeisti, kur jis nukreipia, po spausdinimo ir sekti kiekvieną nuskaitymą.

Ar mano QR kodai nustoja galioti?

Ne. Statiniai kodai pagal savo prigimtį niekada nenustoja veikti, o dinaminiai kodai lieka aktyvūs nemokamai.

Kaip redaguoti QR kodą po spausdinimo?

Kai sukuriate dinaminį kodą, gaunate privatų valdymo URL. Atidarykite jį, įveskite naują paskirties vietą ir išsaugokite — kiekviena atspausdinta kopija iškart nukreips į naują puslapį.

Ar galiu pridėti savo logotipą prie QR kodo?

Taip. Įkelkite bet kokį vaizdą dizaino skydelyje — jis įterpiamas centre su aukšta klaidų taisymo funkcija, kad kodas vis tiek būtų patikimai nuskaitomas. Logotipas apdorojamas visiškai jūsų naršyklėje.

Kokią analitiką gaunu?

Kiekvienam kodui: bendras nuskaitymų skaičius, unikalūs lankytojai, nuskaitymai laikui bėgant, įrenginio tipas, operacinė sistema, naršyklė, šalis, miestas ir šaltinis — su CSV eksportu. IP adresai niekada nesaugomi.

Kokius failų formatus galiu atsisiųsti?

PNG iki 4096 px (apie 13 colių esant 300 DPI) ir be galo keičiamo dydžio SVG vektorius — abu tinka profesionaliam spausdinimui.

Ar galiu naudoti savo domeną trumpoms nuorodoms?

Taip — nukreipkite CNAME į snapqr.link ir užregistruokite domeną per mūsų API. HTTPS sertifikatai išduodami automatiškai.