Skip to main content
qrlama
  • Home
    • Website
    • Text
    • Wi-Fi
    • Email
    • Phone
    • SMS
    • Contact card
    • Location
    • Event
    • Payment
  • Bulk
  • Process
Sign in
Home/API for developers

QR code API

Create and manage QR codes, change what an editable code points to, and read scan statistics — from your own software. The API is free to use with your qrlama account.

Getting started

  1. Create an account (or sign in).
  2. Open Account → API access and create a token. Copy it immediately — it's shown only once.
  3. Send it with every request as a Bearer token.
curl https://qrlama.app/api/v1/me \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"

All responses are JSON. Errors use standard status codes: 401 bad token, 403 not allowed, 404 not found, 422 invalid input (with a message and per-field errors), 429 too many requests (120 per minute).

Endpoints

Method & pathWhat it does
GET /api/v1/meThe signed-in user and their workspaces (personal + teams).
GET /api/v1/typesThe supported code types and their field names.
GET /api/v1/codesList codes. Filters: type, workspace_id (empty = personal), per_page (max 100).
POST /api/v1/codesCreate a code.
GET /api/v1/codes/{id}Fetch one code.
PATCH /api/v1/codes/{id}Change a code's label or content. For an editable code the QR image never changes.
DELETE /api/v1/codes/{id}Delete a code (an editable code's printed copies stop working).
GET /api/v1/codes/{id}/statsScan statistics for an editable code. Query: days = 7, 30 or 90.
GET /api/v1/qrA plain QR image. Query: data, format (svg or png), size, fg, bg, ecc (L, M, Q, H).

Create an editable code

curl -X POST https://qrlama.app/api/v1/codes \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" -H "Accept: application/json" \
  -d '{
    "type": "url",
    "label": "Spring menu",
    "is_dynamic": true,
    "fields": { "url-value": "https://example.com/menu" }
  }'

The response contains scan_url — the permanent link to encode in your QR image (or fetch a ready-made image from /api/v1/qr?data=…). To change the destination later:

curl -X PATCH https://qrlama.app/api/v1/codes/CODE_ID \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" -H "Accept: application/json" \
  -d '{ "fields": { "url-value": "https://example.com/summer-menu" } }'

Field names

Each code type has its own field names, the same ones used by the website forms:

typefields
urlurl-value
texttext-value
wifiwifi-ssid, wifi-password, wifi-encryption, wifi-hidden
emailemail-to, email-subject, email-body
phonephone-value
smssms-phone, sms-message
contactcontact-first, contact-last, contact-phone, contact-email, contact-org, contact-url
geogeo-mode (coords|link), geo-lat, geo-lng, geo-label, geo-link
eventevent-title, event-start, event-end, event-location, event-description
paymentpayment-provider (paypal|venmo|cashapp|bitcoin|custom), payment-paypal-user, payment-venmo-user, payment-cashapp-tag, payment-bitcoin-address, payment-custom-url, payment-amount, payment-note

Editable codes and scan statistics

An editable code's QR image contains a short link (https://qrlama.app/c/<short_code>) instead of your data. The short code is created once and never changes, so you can update the content at any time without reprinting. Every scan by a person is counted (robots are ignored); IP addresses are never stored.

Limits

  • 120 requests per minute per token; 60 per minute for /api/v1/qr.
  • Field values are limited to 2,000 characters; a code's content must fit in a QR code.

Questions or something missing? Get in touch.

qrlama

Free QR code generator, styled your way — no sign-up, no watermark.

QR code generators

  • Website QR code
  • Text QR code
  • Wi-Fi QR code
  • Email QR code
  • Phone QR code
  • SMS QR code
  • vCard QR code
  • Location QR code
  • Event QR code
  • Payment QR code
  • Bulk QR code (CSV)

Company

  • About
  • Contact
  • API for developers
  • Privacy Policy
  • Terms of Service

© 2026 qrlama. Generate responsibly.