Skip to content
Utilerio
All endpoints

Bulk Label Generator

POST/api/v1/bulk-label-generator

Turn a label template and a spreadsheet into hundreds of ready-to-print ZPL labels.

Authentication

Requires an API key in the X-API-Key header.

Try it

POST/api/v1/bulk-label-generator

Parameters

templatestringrequired

Label template JSON — text/barcode/box elements only; image/logo elements are not supported by this endpoint.

rowsstringrequired

Data rows; each object's keys fill the template's {{placeholder}} tokens.

quantityColumnstringoptional

Row key holding a per-row copy count.

formatstringoptional

Output format. Default zpl (JSON with the generated ZPL text). pdf returns a binary PDF.

zplpdf

Request body

{
  "template": {
    "version": 1,
    "widthMm": 100,
    "heightMm": 50,
    "dpi": 203,
    "elements": [
      {
        "id": "el-1",
        "type": "text",
        "xMm": 5,
        "yMm": 5,
        "text": "{{name}}",
        "fontSizeMm": 6
      }
    ]
  },
  "rows": [
    {
      "name": "Jane Doe"
    },
    {
      "name": "John Smith"
    }
  ],
  "format": "zpl"
}

Response codes

  • 200Success.
  • 400Invalid request — check your body or parameters.
  • 401Missing or invalid API key.
  • 403The API key is not scoped to this endpoint.
  • 429Rate limit exceeded — retry after a short wait.

Language

cURL

Request

curl -X POST https://utilerio.com/api/v1/bulk-label-generator \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"template":{"version":1,"widthMm":100,"heightMm":50,"dpi":203,"elements":[{"id":"el-1","type":"text","xMm":5,"yMm":5,"text":"{{name}}","fontSizeMm":6}]},"rows":[{"name":"Jane Doe"},{"name":"John Smith"}],"format":"zpl"}'

Response

{ "zpl": "^XA...^XZ", "labelCount": 1, "skippedRows": 0, "warnings": [] }