QR Code Generator API

Generate QR Codes
with One API Call

The simplest QR code API for developers. Drop in a single HTTP request and get back a QR code in PNG, SVG, or base64. No bloated SDKs. No confusing dashboards.

No credit card required

GET https://api.citoapi.com/api/v1/qr/generate?data=https://citoapi.com&format=png&size=400
Used by 1,000+ developers
99.9% uptime
< 200ms response time
Free tier, no card needed
[ Why Cito QR ]

Simple. Fast. Honest.

Sub-200ms

QR codes generated and returned globally in under 200ms. Your users will never notice the API call.

All Formats

PNG, SVG, or base64 JSON — whatever your stack needs. Custom size, colors, margin, error correction, and logo embedding all supported.

Honest Pricing

500 QR codes/month free, forever. When you need more, pricing is published and simple — no ‘contact sales’ surprises.

[ How it works ]

Three steps to your first QR code

1

Get your API key

Sign up in 30 seconds. No credit card. You'll have your API key before your coffee gets cold.

2

Make your first request

One GET or POST request. Pass your data, pick your format. We have examples in Python, JavaScript, PHP, and cURL.

3

Ship your feature

Your QR code comes back as a PNG binary, SVG string, or base64 JSON. Drop it straight into your app, PDF, email, or printout.

It really is this simple.

Copy-paste ready. Works in any language that can make an HTTP request.

1import requests
2
3API_KEY = "YOUR_API_KEY"
4
5# Simple QR code — GET request, returns PNG binary
6response = requests.get(
7 "https://api.citoapi.com/api/v1/qr/generate",
8 headers={"x-api-key": API_KEY},
9 params={
10 "data": "https://citoapi.com",
11 "size": "400",
12 "format": "png",
13 "fg": "#000000",
14 "bg": "#ffffff",
15 "margin": "4",
16 "ec": "M",
17 },
18)
19
20with open("qrcode.png", "wb") as f:
21 f.write(response.content)
22
23print("QR code saved to qrcode.png")

API Parameters

Auth header on every request: x-api-key: YOUR_API_KEY

ParameterTypeDescription
datarequiredstringURL or text to encode. Max 2048 chars.
sizenumberOutput size in pixels (100–2000). Default: 300.
formatstring"png" | "svg" | "base64". Default: "png".
fg / foregroundstringForeground hex color. Default: "#000000".
bg / backgroundstringBackground hex color. Default: "#ffffff".
marginnumberQuiet zone size 0–10. Default: 4.
ec / errorCorrectionstring"L" | "M" | "Q" | "H". Default: "M". Auto-set to "H" when a logo is present.
logo.imagestringBase64 data URL of the logo (POST only).
logo.sizeRationumberLogo width as fraction of QR size (0.1–0.35). Default: 0.25.
logo.paddingnumberWhite padding behind logo in px (0–50). Default: 8.

GET requests use query params (fg/bg/ec). POST requests accept a JSON body (foreground/background/errorCorrection) and support logo embedding. Full API reference →

[ Pricing ]

Pricing that doesn't require a spreadsheet

Start free. Upgrade when you need to. No hidden fees.

Free

$0

500 / month

  • PNG & SVG formats
  • Custom colors
  • Logo embedding
  • 99.9% SLA
  • Email support
Start for free

Basic

$25/mo

50,000 / month

  • PNG, SVG & base64 formats
  • Custom colors
  • Logo embedding
  • 99.9% SLA
  • Email support (48 hr)
Get started
Most Popular

Pro

$50/mo

250,000 / month

  • PNG, SVG & base64 formats
  • Custom colors
  • Logo embedding
  • 99.9% SLA
  • Priority email (24 hr)
Get started

Business

$250/mo

2,000,000 / month

  • PNG, SVG & base64 formats
  • Custom colors
  • Logo embedding
  • 99.9% SLA + Slack
  • Priority support (12 hr)
Get started

Need more than 2M calls? Contact us for a custom plan →

QR Code API vs. building your own

Generating QR codes yourself means pulling in a library, writing server-side generation code, handling image format conversion, and maintaining it whenever dependencies break. That's a weekend of work before you've shipped anything.

Our hosted API handles all of that — sub-200ms response times, 99.9% uptime, and format support out of the box. Ship your feature today instead of next sprint.

Frequently asked questions

Ready to build?

Get your free API key in 30 seconds. No credit card, no commitment, no nonsense.

Get Free API Key

500 free QR codes/month · No card required