API docs
A read-only REST API for your links, their scan counts and your custom domains. It can’t create, edit or delete anything. Included in the Solo and Pro plans. Base URL: https://limeqr.app/api/v1
Authentication
Create a key in Dashboard → Account → API keys. The key is shown once: we only keep a hash of it, so copy it somewhere safe. Send it in the X-API-KEY header (Authorization: Bearer <key> works too). A key reads only the links and domains of the account that created it. Revoke a key on the same page: requests with it stop working right away.
curl https://limeqr.app/api/v1/links -H "X-API-KEY: lq_your_key"401missing, unknown or revoked key.402the account has no Solo or Pro plan.429more than 60 requests in a minute with one key (retry after theRetry-Afterseconds).400a bad query parameter (theerrorfield says which),404an unknown path.
GET/api/v1/links
Your links, newest first. Query parameters, all optional:
code: one link by its short address (e.g.menu).since: an ISO 8601 date, only links created after it.limit: 1 to 100 (default 25). When a page is full, pass itsnext_beforevalue asbeforeto get the next one.
{
"data": [
{
"id": "6f1c…",
"code": "menu",
"short_url": "https://limeqr.app/menu",
"destination": "https://example.com/menu",
"title": "Table menu",
"disabled": false,
"expires_at": null,
"utm": { "source": "qr", "medium": "print", "campaign": null },
"scans": { "total": 1284, "last_30_days": 212 },
"created_at": "2026-10-12T09:30:00.000Z",
"updated_at": "2026-10-12T10:02:11.000Z"
}
],
"next_before": null
}scans.total counts every tracked scan, scans.last_30_days the last 30 days (UTC). Scans above your plan’s monthly tracking limit still redirect but aren’t counted. short_url uses the LimeQR address; the same code also works on your active custom domains.
GET/api/v1/domains
Your custom domains, oldest first: id, hostname, status (pending or active), verified_at, created_at.
{ "data": [{ "id": "0b9e…", "hostname": "go.example.com", "status": "active",
"verified_at": "2026-10-11T08:00:00.000Z", "created_at": "2026-10-11T07:55:00.000Z" }] }