Rendral

Use case · Tickets

The ticket PDF API

Tickets are generated in bursts — an on-sale opens and thousands of attendees each need their own document within seconds, every one carrying a unique barcode.

Render the ticket HTML you already build per attendee, with the barcode inlined as an SVG or data URI. A warm browser pool and concurrency control mean a spike of renders behaves predictably instead of collapsing.

01How it works

01

Built for the on-sale spike

Fire thousands of renders when tickets release; the pool absorbs the burst and rate-limit headers let your workers pace themselves.

02

Scannable barcodes

Inline the barcode or QR as an SVG or data URI and it renders at full vector resolution — no blurry raster at the gate.

03

One ticket per attendee

Every render takes its own HTML, so seat, name and barcode differ per document without templating gymnastics.

02One request

request.sh
curl https://rendral.com/api/v1/pdf \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "html": "<div class="ticket"><svg class="qr">…</svg></div>",
        "options": { "width": "150mm", "height": "60mm", "printBackground": true } }' \
  -o ticket-A17.pdf

Frequently asked

How do I add a scannable barcode or QR code?

Generate it as inline SVG or a data URI in your HTML. Vector barcodes stay sharp at any print size, which matters for gate scanners.

Can I use a custom ticket size instead of A4?

Yes. Set explicit width and height options for ticket, badge or pass dimensions rather than a paper format.

Will backgrounds and brand colours print?

Set printBackground: true. Browsers omit background graphics when printing by default, and tickets almost always want them.

How do I handle a big on-sale burst?

Send renders concurrently and honour the X-RateLimit headers, or submit them with async: true and collect each document from its webhook.

Related

Start rendering in minutes.

A free tier, five endpoints, and SDKs for Node and Python.