SDKs & CLI
SDKs & CLI
qr3.app provides official client libraries for the most common languages and a CLI for scripting.
TypeScript / JavaScript
npm install @qr3/sdk# orpnpm add @qr3/sdkimport { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: process.env.QR3_API_KEY! });
// Create a QR codeconst code = await client.codes.create({ type: "url", url: "https://example.com", title: "My QR Code", is_dynamic: true,});
// List QR codesconst codes = await client.codes.list({ limit: 20 });
// Get scan analyticsconst scans = await client.scans.list(code.data.id, { days: 30 });Python
pip install qr3from qr3 import QR3
client = QR3(api_key="qr3_sk_your_key")
code = client.codes.create( type="url", url="https://example.com", is_dynamic=True,)print(code["data"]["short_code"])
# Download SVGsvg_bytes = client.codes.get_svg(code["data"]["short_code"])import asynciofrom qr3 import AsyncQR3
async def main(): async with AsyncQR3(api_key="qr3_sk_your_key") as client: code = await client.codes.create( type="url", url="https://example.com", ) print(code["data"]["short_code"])
asyncio.run(main())Go
go get github.com/qr3app/qr3-gopackage main
import ( "context" "fmt" qr3 "github.com/qr3app/qr3-go/qr3")
func main() { client := qr3.New( "qr3_sk_your_key", qr3.WithWorkspaceID("ws_your_workspace_id"), )
code, err := client.Codes.Create(context.Background(), qr3.CreateCodeParams{ Type: "url", URL: "https://example.com", }) if err != nil { panic(err) }
fmt.Println(code.Data.ShortCode)
// Download PNG png, _ := client.Codes.GetPNG(context.Background(), code.Data.ShortCode, nil) _ = png // []byte}CLI
npm install -g @qr3/cli# Authenticateqr3 login
# Create a QR codeqr3 create https://example.com --title "My QR" --dynamic
# List codesqr3 list
# Download QR imageqr3 download r7f3Kx --format svg --output code.svgqr3 download r7f3Kx --format pdf --output code.pdf
# View scan analyticsqr3 scans r7f3Kx --days 30
# Create from file (bulk)qr3 batch create ./urls.csvMCP Server (AI Agents)
Install the qr3.app MCP server for AI agents like Claude or Cursor:
{ "mcpServers": { "qr3": { "command": "npx", "args": ["-y", "@qr3/mcp-server"], "env": { "QR3_API_KEY": "qr3_sk_your_key" } } }}