Pricing

One plan for label rendering and barcode generation, metered by requests per day with a burst rate per second. Every plan gets every feature.

Test mode. Checkout runs against Razorpay test keys — no card is charged and no money moves. Keys issued here are real and work against the API.

One API key for labels and barcodes

Render ZPL labels and generate barcodes with the same key, on the same plan, against the same daily allowance. There is nothing separate to buy.

MonthlyAnnual one month free

Free

Evaluate the engine against your own templates. No signup.

$0

Start free
  • Requests / second:3
  • Requests / day:5,000
Most popular

Plus

For a product that renders labels in production.

$81 / month

  • Requests / second:6
  • Requests / day:20,000

Business

Higher volume, tighter guarantees.

$205 / month

  • Requests / second:10
  • Requests / day:50,000

On-premise

Runs inside your own network. Nothing leaves it.

Let us talk

Get a quote
  • Requests / second:Unlimited
  • Requests / day:Unlimited
Plan limits and support levels compared
 FreePlusBusinessOn-premise
Requests / second3610Unlimited
Requests / day5,00020,00050,000Unlimited
SupportDocs and communityEmail, next business dayPriority email and a shared channelPriority, with an engineer you can name
Release channelBetaStableStableStable
Data retentionStandardZeroZeroZero — it never reaches us

One plan covers both APIs

A single key renders ZPL labels and generates barcodes. Both count against the same daily allowance, so there is one subscription and one limit to watch — not two.

Label rendering

  • ZPL to PNG, PDF, JPEG, GIF and TIFF
  • Every print density, rotation, multi-label PDFs
  • Multi-label PDFs and custom page sizes

Barcode generation

  • 38 symbologies: linear, 2D and postal
  • PNG and vector SVG, with colour and sizing options
  • Content templates for Wi-Fi, vCard, payments and more

No watermark on any tier, free included. A tier buys throughput and support, not features.

Questions

Do I need separate plans for labels and barcodes?
No. One API key does both. You send it as the X-API-Key header to render a label or to generate a barcode, and each call counts against the same daily allowance. There is one subscription and one number to watch.
What counts as a request?
One call to the API, whether it renders a label or generates a barcode. A ZPL stream holding several labels rendered to one multi-page PDF is still one request against the daily allowance.
What happens when I hit the daily limit?
The API answers 429 and the allowance resets at midnight UTC. Every response carries X-Quota-Remaining and X-Quota-Period, so you can see it coming rather than discovering it.
What is the burst rate for?
It paces requests per second so one client cannot crowd out others, and it is enforced separately from the daily allowance: you can be well inside your day and still be paced if you fire everything at once. A paced request answers 429 with Retry-After.
Why per day rather than per month?
Because label printing is bursty. A monthly bucket tells you nothing about whether a busy Monday will be throttled, and it lets one bad afternoon spend a whole month of allowance.
Does the free tier need an API key?
No. It is rate limited by address rather than metered, so the playground and the docs work for anyone without signing up for anything.
What happens when my plan ends?
We email you seven days and one day before. After the end date your key keeps working for three more days, flagged with an X-Plan-Grace response header, and then requests answer with HTTP 402. Buying again issues a new key.
Can I cancel any time?
A plan is paid for a period and runs to the end of it, then stops renewing. There is no automatic recurring charge yet, so nothing continues billing without you buying it again.
What happens to the ZPL I send?
It is rendered and returned. It is not stored beyond the request/response cycle. Labels routinely carry names and addresses, so we would rather not hold them at all.
Do you support every ZPL command?
No, and the docs say exactly which. Anything unsupported is skipped with a warning rather than failing the render. MaxiCode is the notable gap for UPS labels.