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

Ngeunaan SnapQR

Otomatiskeun nyieun kode QR sareng tautan pondok ku REST API gratis: kode dinamis, pembangkitan masal, ékspor analitik, panandaan UTM, sareng domain khusus. Teu peryogi konci API — mimitian ngahijikeun dina sababaraha menit.

Patarosan anu sering ditaroskeun

Naha SnapQR leres-leres gratis? Naon jebakannana?

Leres — nyieun kode QR, kode dinamis, tautan pondok, sareng analitik 100% gratis tanpa peryogi akun. Teu aya cap cai sareng kode teu kadaluwarsa.

Naon bédana antara kode QR statis sareng dinamis?

Kode QR statis ngodékeun eusi anjeun langsung dina pola sareng teu tiasa dirobih. Kode QR dinamis ngodékeun URL alihan pondok anu anjeun kontrol, ku kituna anjeun tiasa ngarobih tujuanna saatos dicitak sareng ngalacak unggal pindaian.

Naha kode QR abdi kadaluwarsa?

Henteu. Kode statis teu kantos eureun jalan sacara alami, sareng kode dinamis tetep aktif gratis.

Kumaha carana ngédit kode QR saatos dicitak?

Nalika anjeun nyieun kode dinamis, anjeun kéngingkeun URL kelola pribadi. Buka éta, lebetkeun tujuan anyar, teras simpen — unggal salinan anu dicitak langsung nunjuk ka kaca anyar.

Naha abdi tiasa nambihkeun logo kana kode QR?

Leres. Unggah gambar naon waé dina panél Desain — éta dilebetkeun di tengah kalayan koreksi kasalahan luhur ku kituna kode tetep dipindai kalayan andal. Logo diolah lengkep dina panyungsi anjeun.

Analitik naon anu abdi kéngingkeun?

Per kode: total pindaian, sémah unik, pindaian sapanjang waktu, jinis alat, sistem operasi, panyungsi, nagara, kota, sareng perujuk — kalayan ékspor CSV. Alamat IP teu kantos disimpen.

Format berkas naon anu tiasa diunduh?

PNG nepi ka 4096 px (sakitar 13 inci dina 300 DPI) sareng véktor SVG anu tiasa diskala teu terbatas — duanana cocog pikeun percetakan profésional.

Naha abdi tiasa nganggo domain sorangan pikeun tautan pondok?

Leres — arahkeun CNAME ka snapqr.link sareng daptarkeun domain via API kami. Sertifikat HTTPS dikaluarkeun sacara otomatis.