Have a code?Sign in
GetQR ID for developers

One QR and link for anything, from your app.

Upload a file or point at a link, get a getqr.id link and QR back, and see plain counts of opens. Three calls, and the lifetime is in every response.

Used by Influencers CX and AstroGPT, on the same API, keys and limits as you.

sandbox freeSDK 5 kBp95 120 ms
share.ts
// npm install @getqr/sdkimport { GetQR } from '@getqr/sdk'; const gq = new GetQR({ apiKey: process.env.GETQR_KEY }); // 1. Upload (resumable, scanned before it can open)const upload = await gq.uploads.create(file); // 2. Share it: a getqr.id link and QRconst share = await gq.shares.create({  uploadId: upload.id,  title: 'October menu',  keep: true,}); // 3. The QR as SVG, dark on whiteconst svg = await gq.shares.qr(share.id, {  format: 'svg',});
201 Createdrequest_id req_8f3a1c
{
  "id": "shr_k2p9",
  "url": "https://getqr.id/k2p9",
  "kept": true,
  "expires_at": null
}

getqr.id/k2p9 · KEPT · expires_at: null. Without keep, the response states when it expires.

What you get

Uploads, links, QR codes and counts, without building them.

SDKs

TypeScript for Node, edge and browsers; React components for the share UI.

@getqr/sdk · @getqr/react

Webhooks

Signed with HMAC-SHA256 and retried for 24 h. Replay any delivery.

share.opened · share.removed

Sandbox

Test keys open on sandbox.getqr.id, live 24 h and are never billed.

gq_test_ → sandbox

One contract

OpenAPI 3.1, errors as problem+json, a request_id on every response.

api.getqr.id/v1

  • The lifetime is always stated: expires_at, or kept: true.
  • Kept means forever, on any plan, even after a downgrade or an unpaid invoice.
  • Removal is real: a removed share stops opening within 60 s and answers 410.
  • Counts only: time, country, device type, placement. Nothing personal about scanners.
API pricing

Start free. Pay when you grow.

Free
₹0 $0
  • 1,000 shares a month
  • 10,000 opens a month
  • 5 GB storage
  • Sandbox and webhooks
Start free
Build
₹1,499 $19 / month
  • 25,000 shares a month
  • 250,000 opens a month
  • 100 GB storage
  • Custom domain
Start on Free
Scale
₹9,999 $129 / month
  • 250,000 shares a month
  • 5 M opens a month
  • 1 TB storage
  • 99.9% SLA and SSO
Start on Free
HubXero internal
₹0
  • Influencers CX, AstroGPT, Adfly CX, Study CX
  • Same API, keys and limits as everyone else
  • Same audit

Over your plan: ₹49 ($0.60) per extra 1,000 shares, shown before it applies. Opens are never billed above the plan, only rate-limited. GST invoices; pay by UPI or card.

Your first share in under 10 minutes.

Sign in with GitHub, Google or WhatsApp. A project and a sandbox key are made for you, then 4 copy-paste steps.