Skip to main content
QR Code Genius
QR Code Genius
FeaturesPricingHelp
Log inGet Started
Help Center/Developer API/Bulk QR Generation (POST /qr/bulk)

Bulk QR Generation (POST /qr/bulk)

QR Code Genius Team
Updated 7/23/2026
6 min read

POST /api/v1/qr/bulk generates up to 100 QR codes in a single call and — unlike the single endpoint — saves each one to your account, organized into a folder. Items can optionally be created as dynamic QR codes that encode a trackable short link, giving you scan analytics in the dashboard.

Bulk generation is a Pro feature. Calls with a Free-plan key return 403. Each item in the batch consumes one request from your quota, so a 40-item call uses 40 requests.

Request

curl -X POST https://www.qrcodegenius.com/api/v1/qr/bulk \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "folderName": "Product Launch",
    "items": [
      { "data": "https://example.com/a", "dynamic": true },
      { "data": "https://example.com/b", "dynamic": true },
      { "data": "https://example.com/c" }
    ]
  }'

Fields

  • items (array, required) — 1 to 100 item objects (see below).
  • folderId (string, optional) — UUID of an existing folder to save into.
  • folderName (string, optional) — a folder with this name is created (or reused) for the batch. If neither folderId nor folderName is provided, a folder named Bulk Import <date> is created automatically.

Item fields

Each item accepts the same content and styling fields as the single endpoint — data (required), width, height, margin, shape, image, and all the styling option objects — plus:

  • dynamic (boolean, optional) — if true, the QR image encodes a short link instead of data directly. Scans are redirected through the short link and recorded, so the code shows up in your scan analytics and its destination stays editable from the dashboard.

Response

{
  "success": true,
  "results": [
    { "success": true, "data": "data:image/png;base64,...", "slug": "ab12cd3" },
    { "success": true, "data": "data:image/png;base64,...", "slug": "ef45gh6" },
    { "success": false, "error": "Missing or invalid data" }
  ],
  "meta": {
    "total": 3,
    "successful": 2,
    "usage_count": 43,
    "remaining": 957,
    "folder_id": "0b9cbe0e-4c2f-4d6a-9d5e-2f1a3b4c5d6e"
  }
}
  • results — one entry per item, in the same order as the request. A failed item does not fail the batch; check each entry's success flag.
  • slug — for dynamic items, the short-link identifier (the QR points to /l/<slug>).
  • meta.folder_id — the folder the batch was saved into.

Errors

  • 400 — malformed JSON or a validation failure (batch larger than 100 items, unknown fields, etc.).
  • 401 — missing or invalid API key.
  • 403 — the key's account is not on the Pro plan.
  • 429 — the batch would exceed your remaining quota. Quota is checked for the whole batch up front, so either the entire batch is admitted or none of it is.

Tips

  • Batch as much as possible: one 100-item call is faster and easier to reason about than 100 single calls.
  • Use dynamic: true for printed materials — you can fix a wrong destination URL after printing.
  • Give each campaign its own folderName so batches stay organized in the dashboard.

Was this article helpful?

Your feedback helps us improve our documentation.

QR Code Genius
QR Code Genius

The smartest QR code platform for creators and businesses.

Product

  • Features
  • Pricing
  • Help & FAQ
  • Developer API
  • Website URL
  • Digital Business Card
  • WiFi Access
  • Crypto Wallet
  • Social Media
  • Events

Company

  • Help Center
  • Support Center
  • Get Started Free
  • Login

Legal

  • Privacy Policy
  • Terms of Service

© 2026 Magpie Nexus, Inc. All rights reserved. magpienexus.com

All systems operational