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

Acerca de SnapQR

Automatiza la creación de códigos QR y enlaces cortos con una API REST gratuita: códigos dinámicos, generación masiva, exportación de analítica, etiquetado UTM y dominios personalizados. Sin clave de API: empieza a integrar en minutos.

Preguntas frecuentes

¿SnapQR es realmente gratis? ¿Cuál es el truco?

Sí: crear códigos QR, códigos dinámicos, enlaces cortos y la analítica son 100% gratis y sin necesidad de cuenta. No hay marca de agua y los códigos no caducan.

¿Cuál es la diferencia entre un código QR estático y uno dinámico?

Un código QR estático codifica tu contenido directamente en el patrón y nunca se puede cambiar. Un código QR dinámico codifica una URL de redirección corta que tú controlas, así que puedes cambiar a dónde apunta después de imprimir y medir cada escaneo.

¿Caducan mis códigos QR?

No. Los códigos estáticos nunca dejan de funcionar por diseño, y los códigos dinámicos siguen activos gratis.

¿Cómo edito un código QR después de imprimir?

Cuando creas un código dinámico obtienes una URL de gestión privada. Ábrela, introduce el nuevo destino y guarda: cada copia impresa apunta al instante a la nueva página.

¿Puedo añadir mi logo a un código QR?

Sí. Sube cualquier imagen en el panel de Diseño: se incrusta en el centro con alta corrección de errores para que el código siga escaneándose de forma fiable. El logo se procesa por completo en tu navegador.

¿Qué analítica obtengo?

Por código: escaneos totales y únicos, escaneos a lo largo del tiempo, tipo de dispositivo, sistema operativo, navegador, país, ciudad y referente, con exportación a CSV. Las direcciones IP nunca se almacenan.

¿Qué formatos de archivo puedo descargar?

PNG de hasta 4096 px (unos 13 pulgadas a 300 DPI) y SVG vectorial infinitamente escalable, ambos aptos para impresión profesional.

¿Puedo usar mi propio dominio para los enlaces cortos?

Sí: apunta un CNAME a snapqr.link y registra el dominio mediante nuestra API. Los certificados HTTPS se emiten automáticamente.