API quickstart
If your system can make an authenticated HTTPS request, it can render a Qpro+ label or document. You send a template name and your data; you get back ZPL, PDF, PNG, SVG, or EPS. Nothing to install, no print server to run.
No expiry · No print cap · ZPL never watermarked
Hello, label
Free, no card, no expiry. You get five templates and one user.
Or open one from the gallery. Give it a name — that name is your API handle.
Name the values your system will send. Qpro+ generates the request snippet — copy it out.
Send your token and your data. Print what comes back.
curl https://api.qproplus.com/v1/render \ -H "Authorization: Bearer $QPRO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "template": "HELLO-WORLD-4x6", "format": "zpl", "data": { "title": "HELLO WORLD", "printed_at": "2026-08-16T09:14:22Z" } }'
{
"render_id": "rnd_8f2c41a9",
"template": "HELLO-WORLD-4x6",
"format": "zpl",
"output": "^XA^FO40,40^A0N,60,60^FDHELLO WORLD^FS…^XZ",
"rendered_at": "2026-08-16T09:14:22Z"
}
Authentication
Generate a token pair in your account settings. Send the token as a bearer credential on every request. Rotate or revoke at any time — revocation takes effect immediately.
Never ship a Qpro+ secret in browser code, a mobile binary, or firmware a customer can read.
Separate tokens for development, staging, and production so you can revoke one without stopping the line.
Restrict a token to specific templates when it's deployed somewhere you don't fully control.
Output formats
| format | Returns | Use it for |
|---|---|---|
| zpl | ZPL II command string | Sending straight to a thermal printer |
| Base64 PDF | Packing lists, certificates, form-fill and archival documents | |
| png | Base64 PNG | Previews, web display, audit records |
| svg | SVG markup | Vector output, scaling, downstream editing |
| eps | Base64 EPS | Prepress and commercial print workflows |
| json | Structured element data | Inspecting what the template resolved to |
Languages
import os, requests res = requests.post( "https://api.qproplus.com/v1/render", headers={"Authorization": f"Bearer {os.environ['QPRO_TOKEN']}"}, json={ "template": "FG-PALLET-4x6", "format": "zpl", "data": { "lot_number": "L25-8814", "pallet_id": "PLT-4471", "piece_qty": "48 CS", }, }, timeout=10, ) res.raise_for_status() zpl = res.json()["output"]
const res = await fetch("https://api.qproplus.com/v1/render", { method: "POST", headers: { "Authorization": `Bearer ${process.env.QPRO_TOKEN}`, "Content-Type": "application/json" }, body: JSON.stringify({ template: "FG-PALLET-4x6", format: "zpl", data: { lot_number: "L25-8814", pallet_id: "PLT-4471", piece_qty: "48 CS" } }) }); if (!res.ok) throw new Error(await res.text()); const { output } = await res.json();
Postman
The collection includes a pre-built render request, a working sample template, and environment variables for your token. Import it, paste your key, and send. If it prints, the integration is going to work.
Qpro+ API ├── Render — Hello World (ZPL) ├── Render — Hello World (PDF) ├── Render — pallet label with GS1-128 ├── Render — pass-through fields ├── List — templates ├── Get — template field map └── Get — render history
Limits and errors
| Status | Meaning | What to do |
|---|---|---|
| 401 | Token missing, malformed, or revoked | Check the Authorization header and that the token is still active |
| 403 | Token isn't scoped to this template | Widen the token scope, or call a template it covers |
| 404 | No template with that name | Names are case-sensitive; list your templates to confirm |
| 422 | A mapped field is missing or the wrong type | The response names the field — send it, or make it optional in the map |
| 429 | Rate limit reached | Free accounts are capped at 60 renders per minute. Respect Retry-After |
Paid accounts are provisioned against your expected throughput rather than a fixed published ceiling. If you're load-testing toward production volume, tell us first so we raise it before you hit it.
Free account, no expiry, no print cap, and ZPL output is never watermarked — so what you print now is exactly what you'd print in production.
Qpro+ is a Quando Solutions product — supply chain & manufacturing IT