Api Endpoint

QR Code Generator

Generate scannable QR codes from any text, URL, or structured payload (WiFi, vCard, SMS, email, geo, crypto). Returns PNG by default with JPG, WebP, and SVG output, plus optional error-correction, sizing, color, version, and encoding controls. Simple cURL POST: send qr_data, receive an image.

Open interactive test console

Offering

Provider
qr.reyn.tools
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Creative
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://qr.reyn.tools/run
MIME type
Not provided
First seen
2026-10-16T01:50:24.663Z
Last seen
Tags
qr, image, Utility

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.00165 USDC
Atomic price: 1650 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1650",
    "payTo": "0xc508e10c786699b6192251df9d84766d891336a9"
  }
]

Observed health

Status
Reachable
Latest latency
450 ms
Average latency
799 ms
HTTP status
405
Last checked
Reachability
100% over 15 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "qr_bg": {
          "default": "FFFFFF",
          "description": "Background module color, 3- or 6-digit hex.",
          "type": "string"
        },
        "qr_boost_ec": {
          "default": true,
          "description": "Boost error correction when the data leaves room for it.",
          "type": "boolean"
        },
        "qr_border": {
          "default": 4,
          "description": "Quiet-zone border in modules.",
          "maximum": 10,
          "minimum": 0,
          "type": "integer"
        },
        "qr_data": {
          "description": "Payload to encode. String for the default raw/url modes; an object of fields for structured qr_type presets, e.g. {'ssid': 'MyNetwork', 'password': 'hunter2'} for wifi.",
          "type": "string"
        },
        "qr_ec": {
          "default": "auto",
          "description": "Error-correction level: L ~7%, M ~15%, Q ~25%, H ~30%.",
          "enum": [
            "auto",
            "L",
            "M",
            "Q",
            "H"
          ],
          "type": "string"
        },
        "qr_fg": {
          "default": "000000",
          "description": "Foreground module color, 3- or 6-digit hex.",
          "type": "string"
        },
        "qr_format": {
          "default": "png",
          "description": "Output image format (webp is the smallest raster; svg is vector).",
          "enum": [
            "png",
            "jpg",
            "webp",
            "svg"
          ],
          "type": "string"
        },
        "qr_mask": {
          "description": "Mask pattern 0-7, or 'auto' (default)."
        },
        "qr_micro": {
          "default": false,
          "description": "Allow Micro QR symbols for small payloads.",
          "type": "boolean"
        },
        "qr_mode": {
          "default": "auto",
          "description": "Encoding mode.",
          "enum": [
            "auto",
            "numeric",
            "alphanumeric",
            "byte",
            "kanji"
          ],
          "type": "string"
        },
        "qr_quality": {
          "default": 90,
          "description": "Lossy JPEG encoder quality (WebP output is always lossless so it stays the smallest raster format).",
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "qr_size": {
          "default": 512,
          "description": "Target raster width/height in pixels (rounded down to whole modules).",
          "maximum": 4096,
          "minimum": 32,
          "type": "integer"
        },
        "qr_type": {
          "default": "raw",
          "description": "Payload preset: raw (default) encodes qr_data verbatim; url prefixes https:// to bare domains; wifi/vcard/sms/tel/email/geo/crypto build the canonical scanner payload from an object.",
          "enum": [
            "raw",
            "url",
            "wifi",
            "vcard",
            "sms",
            "tel",
            "email",
            "geo",
            "crypto"
          ],
          "type": "string"
        },
        "qr_version": {
          "description": "QR symbol version 1-40, or 'auto' (default)."
        }
      },
      "required": [
        "qr_data"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST",
        "PUT",
        "PATCH"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "example": {
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}