QRForgePro API Documentation

Generate QR codes, barcodes, and shipping labels programmatically with our powerful REST API. Perfect for developers, businesses, and applications requiring automated code generation.

Base URL

https://qrforgepro.com/api

API Tester

Test all API endpoints with our interactive tester:

Open API Tester

Authentication

Our API is completely open for public use - no API key required! You can start making requests immediately without any authentication setup.

Public API Access

No API Key Required!

Start using our API instantly without registration or authentication. Perfect for testing, development, and production use.

Usage Limits
  • Free public access: 1000 requests per hour
  • Batch operations: Maximum 50 items per request
  • File uploads: Maximum 16MB per file
  • No registration required

QR Codes API

Generate QR Code

POST /api/qr/generate

Generate a QR code with customization options.

Request Body
{
  "type": "text",
  "content": {
    "text": "Hello World!"
  },
  "customization": {
    "size": 300,
    "fill_color": "#000000",
    "back_color": "#FFFFFF",
    "error_correction": "M",
    "format": "PNG"
  }
}
Response
{
  "success": true,
  "qr_id": 123,
  "type": "text",
  "format": "PNG",
  "size": "300x300",
  "image_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
  "download_url": "/api/qr/download/123",
  "generated_at": "2025-06-19T10:30:00Z",
  "api_docs": "https://qrforgepro.com/api/docs"
}
Supported QR Types: text, url, email, phone, sms, wifi, vcard, mecard, contact, event, upi, whatsapp, location, and 40+ more types.

Get QR Code Types

GET /api/qr/types

Get list of all available QR code types with examples.

Response
{
  "success": true,
  "types": {
    "text": "Text",
    "url": "URL/Website",
    "email": "Email Address",
    "phone": "Phone Number",
    "wifi": "WiFi Network"
  },
  "count": 50,
  "examples": {
    "text": {"text": "Hello World"},
    "url": {"url": "https://example.com"},
    "email": {"email": "[email protected]", "subject": "Hello"}
  },
  "documentation": "https://qrforgepro.com/api/docs#qr-types"
}

Download QR Code

GET /api/qr/download/{qr_id}

Download a previously generated QR code by ID.

Example
GET /api/qr/download/123

Returns the QR code image file for download.

Barcodes API

Generate Barcode

POST /api/barcode/generate

Generate a barcode with customization options.

Request Body
{
  "type": "code128",
  "content": "ABC123456",
  "customization": {
    "width": 300,
    "height": 100,
    "bar_color": "#000000",
    "background_color": "#FFFFFF",
    "show_text": true
  }
}
Response
{
  "success": true,
  "barcode_id": 456,
  "type": "code128",
  "format": "PNG",
  "size": "300x100",
  "image_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
  "download_url": "/api/barcode/download/456",
  "generated_at": "2025-06-19T10:30:00Z",
  "api_docs": "https://qrforgepro.com/api/docs"
}
Supported Barcode Types: code128, code39, code93, ean8, ean13, upca, upce, isbn, issn, itf, and 30+ more types.

Get Barcode Types

GET /api/barcode/types

Get list of all available barcode types with examples.

Response
{
  "success": true,
  "types": {
    "code128": "Code 128",
    "code39": "Code 39",
    "ean13": "EAN-13",
    "upca": "UPC-A"
  },
  "count": 40,
  "examples": {
    "code128": "ABC123",
    "code39": "ABC123",
    "ean13": "123456789012"
  },
  "documentation": "https://qrforgepro.com/api/docs#barcode-types"
}

Scanner API

Scan QR Code/Barcode

POST /api/scan

Scan QR codes and barcodes from uploaded images.

Request

Send a multipart/form-data request with the image file:

Content-Type: multipart/form-data

image: [image file]
Response
{
  "success": true,
  "results": [
    {
      "type": "qr_code",
      "data": "https://example.com",
      "format": "url",
      "confidence": 0.95,
      "position": {
        "x": 100,
        "y": 150,
        "width": 200,
        "height": 200
      }
    }
  ],
  "scanned_at": "2025-06-19T10:30:00Z",
  "api_docs": "https://qrforgepro.com/api/docs"
}

Batch Processing API

Batch Generate QR Codes

POST /api/batch/qr

Generate multiple QR codes in a single request (max 50 items).

Request Body
{
  "items": [
    {
      "type": "text",
      "content": {"text": "Item 1"},
      "customization": {"size": 300}
    },
    {
      "type": "url",
      "content": {"url": "https://example.com"},
      "customization": {"size": 400}
    }
  ]
}
Response
{
  "success": true,
  "batch_id": "batch_20250619_103000",
  "total_items": 2,
  "successful": 2,
  "failed": 0,
  "results": [
    {
      "index": 0,
      "success": true,
      "qr_id": 123,
      "type": "text",
      "image_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
      "download_url": "/api/qr/download/123"
    }
  ],
  "generated_at": "2025-06-19T10:30:00Z",
  "api_docs": "https://qrforgepro.com/api/docs"
}

Code Examples

JavaScript / Node.js

// Generate QR Code
const generateQR = async () => {
  const response = await fetch('https://qrforgepro.com/api/qr/generate', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      type: 'text',
      content: {
        text: 'Hello from QRForgePro API!'
      },
      customization: {
        size: 300,
        fill_color: '#000000',
        back_color: '#FFFFFF'
      }
    })
  });

  const result = await response.json();
  console.log('QR Code generated:', result);

  // Download the image
  const imageResponse = await fetch(result.download_url);
  const blob = await imageResponse.blob();

  // Create download link
  const url = window.URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url;
  a.download = `qr_code_${result.qr_id}.png`;
  a.click();
};

generateQR();

Python

import requests
import base64
from io import BytesIO
from PIL import Image

# Generate QR Code
def generate_qr_code():
    url = 'https://qrforgepro.com/api/qr/generate'

    data = {
        'type': 'text',
        'content': {
            'text': 'Hello from QRForgePro API!'
        },
        'customization': {
            'size': 300,
            'fill_color': '#000000',
            'back_color': '#FFFFFF'
        }
    }

    response = requests.post(url, json=data)
    result = response.json()

    if result['success']:
        print(f"QR Code generated with ID: {result['qr_id']}")

        # Decode base64 image
        image_data = result['image_base64'].split(',')[1]
        image_bytes = base64.b64decode(image_data)

        # Save image
        image = Image.open(BytesIO(image_bytes))
        image.save(f"qr_code_{result['qr_id']}.png")
        print("QR Code saved successfully!")
    else:
        print(f"Error: {result['error']}")

generate_qr_code()

PHP

<?php
// Generate QR Code
function generateQRCode() {
    $url = 'https://qrforgepro.com/api/qr/generate';

    $data = [
        'type' => 'text',
        'content' => [
            'text' => 'Hello from QRForgePro API!'
        ],
        'customization' => [
            'size' => 300,
            'fill_color' => '#000000',
            'back_color' => '#FFFFFF'
        ]
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json'
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);
    curl_close($ch);

    $result = json_decode($response, true);

    if ($result['success']) {
        echo "QR Code generated with ID: " . $result['qr_id'] . "\n";

        // Download the image
        $imageUrl = 'https://qrforgepro.com' . $result['download_url'];
        $imageData = file_get_contents($imageUrl);
        file_put_contents("qr_code_{$result['qr_id']}.png", $imageData);
        echo "QR Code saved successfully!\n";
    } else {
        echo "Error: " . $result['error'] . "\n";
    }
}

generateQRCode();
?>

cURL

# Generate QR Code
curl -X POST https://qrforgepro.com/api/qr/generate \
  -H "Content-Type: application/json" \
  -d '{
    "type": "text",
    "content": {
      "text": "Hello from QRForgePro API!"
    },
    "customization": {
      "size": 300,
      "fill_color": "#000000",
      "back_color": "#FFFFFF"
    }
  }'

# Download generated QR Code
curl -o qr_code.png https://qrforgepro.com/api/qr/download/123

# Scan QR Code from image
curl -X POST https://qrforgepro.com/api/scan \
  -F "image=@path/to/your/image.jpg"

Need Help?

Our support team is here to help you integrate our API successfully.

Email Support

Get help via email

Contact Support
API Tester

Test endpoints live

Open Tester

Powered by QRForgePro - Professional QR Code & Barcode Generation

© 2025 QRForgePro. All rights reserved. | Privacy Policy | Terms of Service