QR Code API Integration Guide — Developer Tutorial
Integrate QR code generation into your app with the QRMax API. REST endpoints, authentication, customization, and code examples.
Building an app that needs to generate QR codes on the fly? The QRMax API lets you create, customize, and manage QR codes programmatically. This guide covers authentication, endpoints, and practical code examples.
Getting Started
- Create an account at QRMax
- Generate an API key from your dashboard settings
- Choose your plan — API access is available on paid plans
- Start making requests to
https://api.qrmax.io/v1/
Authentication
All requests require a Bearer token in the Authorization header:
curl -X POST https://api.qrmax.io/v1/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"data": "https://example.com", "format": "png"}'
Core Endpoints
| Endpoint | Method | Description |
|---|---|---|
/v1/create | POST | Generate a new QR code |
/v1/dynamic | POST | Create a dynamic QR code with tracking |
/v1/update/{id} | PUT | Update a dynamic QR code's destination |
/v1/analytics/{id} | GET | Retrieve scan analytics |
/v1/delete/{id} | DELETE | Remove a dynamic QR code |
/v1/list | GET | List all your QR codes |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Content to encode (URL, text, etc.) |
format | string | No | Output format: png, svg, pdf (default: png) |
size | integer | No | Image size in pixels (default: 300) |
color | string | No | Module color as hex (default: #000000) |
background | string | No | Background color as hex (default: #FFFFFF) |
errorCorrection | string | No | Level: L, M, Q, H (default: M) |
logo | string | No | URL to a logo image for center overlay |
Code Examples
JavaScript/Node.js
const response = await fetch('https://api.qrmax.io/v1/create', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: 'https://example.com',
format: 'svg',
color: '#6366f1',
errorCorrection: 'H'
})
});
const result = await response.json();
console.log(result.imageUrl);
Python
import requests
response = requests.post('https://api.qrmax.io/v1/create',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={'data': 'https://example.com', 'format': 'png', 'size': 500}
)
with open('qr.png', 'wb') as f:
f.write(response.content)
Rate Limits
| Plan | Requests/Minute | Requests/Month |
|---|---|---|
| Starter | 30 | 5,000 |
| Pro | 120 | 50,000 |
| Enterprise | 500 | Unlimited |
Error Handling
The API returns standard HTTP status codes. Common errors:
| Code | Meaning | Action |
|---|---|---|
| 400 | Invalid request body | Check required parameters |
| 401 | Invalid API key | Verify your Bearer token |
| 429 | Rate limit exceeded | Wait and retry with backoff |
| 500 | Server error | Retry; contact support if persistent |
Can I generate QR codes without storing them on QRMax?
Yes. Static QR code creation returns the image directly without storing anything server-side. Only dynamic QR codes are stored for redirect management.
Is the API suitable for high-volume generation?
The Enterprise plan handles thousands of requests per minute. For batch generation, see our bulk QR codes guide.
Related Articles
- How to Create Bulk QR Codes — CSV and API batch generation
- How to Track QR Code Scans — analytics via API and dashboard
- QR Codes for Manufacturing — API-driven industrial workflows