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

Tentang SnapQR

Otomatiskan pembuatan kode QR dan tautan pendek dengan REST API gratis: kode dinamis, pembuatan massal, ekspor analitik, penandaan UTM, dan domain khusus. Tanpa perlu kunci API — mulai integrasi dalam hitungan menit.

Pertanyaan yang sering diajukan

Apakah SnapQR benar-benar gratis? Apa jebakannya?

Ya — membuat kode QR, kode dinamis, tautan pendek, dan analitik 100% gratis tanpa perlu akun. Tidak ada watermark dan kode tidak kedaluwarsa.

Apa perbedaan antara kode QR statis dan dinamis?

Kode QR statis menyandikan konten Anda langsung di dalam polanya dan tidak pernah bisa diubah. Kode QR dinamis menyandikan URL pengalihan pendek yang Anda kendalikan, sehingga Anda dapat mengubah tujuannya setelah dicetak dan melacak setiap pemindaian.

Apakah kode QR saya kedaluwarsa?

Tidak. Kode statis dirancang untuk tidak pernah berhenti berfungsi, dan kode dinamis tetap aktif secara gratis.

Bagaimana cara mengedit kode QR setelah dicetak?

Saat Anda membuat kode dinamis, Anda mendapatkan URL kelola pribadi. Buka, masukkan tujuan baru, dan simpan — setiap salinan cetak langsung mengarah ke halaman baru.

Bisakah saya menambahkan logo ke kode QR?

Ya. Unggah gambar apa pun di panel Desain — gambar ditanamkan di tengah dengan koreksi kesalahan tinggi sehingga kode tetap terpindai dengan andal. Logo diproses sepenuhnya di browser Anda.

Analitik apa yang saya dapatkan?

Per kode: total pemindaian, pengunjung unik, pemindaian dari waktu ke waktu, jenis perangkat, sistem operasi, browser, negara, kota, dan perujuk — dengan ekspor CSV. Alamat IP tidak pernah disimpan.

Format file apa yang bisa saya unduh?

PNG hingga 4096 px (sekitar 13 inci pada 300 DPI) dan vektor SVG yang dapat diskalakan tanpa batas — keduanya cocok untuk pencetakan profesional.

Bisakah saya menggunakan domain sendiri untuk tautan pendek?

Ya — arahkan CNAME ke snapqr.link dan daftarkan domain melalui API kami. Sertifikat HTTPS diterbitkan secara otomatis.