QR Code API

Enterprise-grade REST API for generating QR codes. Fast, reliable, scalable. Integrate in minutes.

Why Use a QR Code API

API Authentication

Get API Key

  1. Sign up at free-qr-code-generator.html
  2. Go to Developer Dashboard
  3. Generate API key
  4. Store securely (never commit to git)

Include in Requests

Authorization: Bearer YOUR_API_KEY

API Endpoint Reference

Generate QR Code (Basic)

POST /api/v1/generate
Content-Type: application/json

{
  "data": "https://example.com",
  "size": 300,
  "errorCorrectionLevel": "H",
  "format": "png"
}

Response

{
  "success": true,
  "qrCode": "https://cdn.qrcodegeneratorjp.com/qr/abc123.png",
  "id": "qr_abc123",
  "createdAt": "2026-06-03T10:30:00Z",
  "expiresAt": "2026-12-03T10:30:00Z"
}

Generate with Customization

POST /api/v1/generate

{
  "data": "https://example.com",
  "size": 500,
  "errorCorrectionLevel": "H",
  "format": "svg",
  "colors": {
    "dark": "#185FA5",
    "light": "#FFFFFF"
  },
  "margin": 2
}

cURL Examples

Simple QR Code

curl -X POST https://api.qrcodegeneratorjp.com/v1/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "data": "https://example.com",
    "size": 300
  }'

Save to File

curl -X POST https://api.qrcodegeneratorjp.com/v1/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data":"https://example.com"}' \
  -o qrcode.png

Python Integration

import requests
import json

API_KEY = "your_api_key_here"
API_URL = "https://api.qrcodegeneratorjp.com/v1/generate"

def generate_qr(data, size=300):
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    
    payload = {
        "data": data,
        "size": size,
        "errorCorrectionLevel": "H"
    }
    
    response = requests.post(API_URL, headers=headers, json=payload)
    return response.json()

# Generate QR code
qr = generate_qr("https://example.com")
print(f"QR Code: {qr['qrCode']}")

Node.js Integration

const axios = require('axios');

const API_KEY = process.env.QR_API_KEY;
const API_URL = 'https://api.qrcodegeneratorjp.com/v1/generate';

async function generateQR(data, options = {}) {
  try {
    const response = await axios.post(API_URL, {
      data,
      size: options.size || 300,
      errorCorrectionLevel: options.errorCorrectionLevel || 'H',
      format: options.format || 'png'
    }, {
      headers: {
        'Authorization': `Bearer ${API_KEY}`,
        'Content-Type': 'application/json'
      }
    });
    
    return response.data;
  } catch (error) {
    console.error('QR Generation failed:', error.message);
    throw error;
  }
}

// Usage
generateQR('https://example.com').then(qr => {
  console.log('Generated:', qr.qrCode);
});

API Rate Limits & Pricing

Plan Requests/Month Cost Support
Free 1,000 $0 Community
Pro 100,000 $29/mo Email
Enterprise Unlimited Custom Phone + Slack

Rate Limit Headers

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 985
X-RateLimit-Reset: 1686063600

Advanced Features

Batch Generation

POST /api/v1/batch-generate

{
  "requests": [
    {"data": "https://example.com/1"},
    {"data": "https://example.com/2"},
    {"data": "https://example.com/3"}
  ]
}

Response:
{
  "success": true,
  "qrCodes": [
    {"id": "qr_1", "qrCode": "...png"},
    {"id": "qr_2", "qrCode": "...png"},
    {"id": "qr_3", "qrCode": "...png"}
  ]
}

Dynamic QR Codes

POST /api/v1/dynamic-generate

{
  "data": "https://example.com/1",
  "dynamicUpdateUrl": true,
  "expiresIn": 86400
}

Response:
{
  "qrCode": "https://qr.example.com/d/abc123",
  "updateUrl": "https://api.qrcodegeneratorjp.com/v1/update/abc123"
}

Error Handling

Common Errors

// Invalid data
{
  "error": "Invalid data",
  "message": "Data must be between 1 and 2953 characters",
  "code": "INVALID_DATA"
}

// Rate limit exceeded
{
  "error": "Rate limit exceeded",
  "message": "You've reached your monthly limit",
  "code": "RATE_LIMIT_EXCEEDED"
}

// Invalid API key
{
  "error": "Unauthorized",
  "message": "Invalid or expired API key",
  "code": "INVALID_API_KEY"
}

Best Practices

Get Started with API

➜ Get API Key Now