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

ብዛዕባ SnapQR

ብናጻ REST API ምፍጣር ኮድ QRን ሓጺር መላግቦን ኣውቶማቲክ ግበር፦ ተለዋዋጢ ኮዳት፣ ብብዝሒ ምፍጣር፣ ምውጻእ ትንተና፣ ምልክታ UTM ከምኡውን ብሕታዊ ዶመይናት። ናይ API መፍትሕ ኣየድልን — ኣብ ውሽጢ ደቓይቕ ምውህሃድ ጀምር።

ብተደጋጋሚ ዝሕተቱ ሕቶታት

SnapQR ብሓቂ ብናጻ ድዩ? እንታይ እዩ ተንኮሉ?

እወ — ምፍጣር ኮዳት QR፣ ተለዋዋጢ ኮዳት፣ ሓጸርቲ መላግቦታትን ትንተናን ኣካውንት ብዘየድሊ 100% ብናጻ እዩ። ማይ-ምልክት የብሉን፣ ኮዳት እውን ግዜኦም ኣይውድእን።

ኣብ መንጎ ስታቲክን ተለዋዋጢን ኮድ QR ዘሎ ፍልልይ እንታይ እዩ?

ስታቲክ ኮድ QR ትሕዝቶኻ ብቐጥታ ኣብቲ ንድፊ የመስጥሮ ከምኡውን ፈጺሙ ክቕየር ኣይክእልን። ተለዋዋጢ ኮድ QR ንስኻ እትቆጻጸሮ ሓጺር ናይ መዘውሪ URL የመስጥሮ፣ ስለዚ ድሕሪ ምሕታም ናበይ ከም ዘመልክት ክትቅይርን ነፍሲ ወከፍ ስካን ክትከታተልን ትኽእል።

ኮዳት QR ናተይ ግዜኦም ይውድእ ድዩ?

ኣይፋሉን። ስታቲክ ኮዳት ብንድፎም ፈጺሞም ምስራሕ ኣይገድፉን፣ ተለዋዋጢ ኮዳት እውን ብናጻ ንጡፋት ኮይኖም ይቕጽሉ።

ድሕሪ ምሕታም ኮድ QR ብኸመይ የ እርሞ?

ተለዋዋጢ ኮድ ክትፈጥር ከለኻ ብሕታዊ መመሓደሪ URL ትረክብ። ክፈቶ፣ ሓድሽ መዕረፊ ኣእቱ ከምኡውን ኣቐምጥ — ነፍሲ ወከፍ ዝተሓትመ ቅዳሕ ብቕጽበት ናብቲ ሓድሽ ገጽ የመልክት።

ኣብ ኮድ QR ሎጎይ ክውስኽ እኽእል ድየ?

እወ። ኣብ ፓነል ንድፊ ዝኾነ ስእሊ ስቐል — ኮድ ብዘተኣማምን መገዲ ንኽስካን ብልዑል ናይ ጌጋ ምእራም ኣብ ማእከል ይጠቓለል። ሎጎ ምሉእ ብምሉእ ኣብ ብራውዘርካ ይስራሕ።

እንታይ ዓይነት ትንተና እየ ዝረክብ?

ንነፍሲ ወከፍ ኮድ፦ ጠቕላላ ስካናት፣ ፍሉያት በጻሕቲ፣ ስካናት ኣብ ግዜ፣ ዓይነት መሳርሒ፣ ኦፐረቲንግ ሲስተም፣ ብራውዘር፣ ሃገር፣ ከተማን ኣቕራቢን — ምስ ናይ CSV ምውጻእ። ኣድራሻታት IP ፈጺሙ ኣይዕቆርን።

እንታይ ዓይነት ፋይል ፎርማት ከውርድ እኽእል?

PNG ክሳብ 4096 px (ኣብ 300 DPI ኣስታት 13 ኢንች) ከምኡውን ደረት ብዘይብሉ ዝስፋሕ ቬክተር SVG — ክልቲኦም ንሞያዊ ሕትመት ዝሰማምዑ።

ንሓጸርቲ መላግቦታት ናተይ ዶመይን ክጥቀም እኽእል ድየ?

እወ — CNAME ናብ snapqr.link ኣመልክት ከምኡውን ዶመይን ብመንገዲ API ናትና ኣመዝግብ። ናይ HTTPS ምስክር ወረቓቕቲ ኣውቶማቲክ ይወሃቡ።