v1 · now in beta

Template in. PDF out.

One HTTP call turns your HTML into a pixel-accurate PDF — rendered by real Chromium, with headers, footers, page numbers and any page size you need. Stop maintaining a headless browser you never wanted to own.

100 free renders / month · no card required

Quickstart
curl -X POST https://pdf.emberkit.dev/v1/render \
  -H 'Authorization: Bearer ek_live_...' \
  -H 'Content-Type: application/json' \
  -o invoice.pdf \
  -d '{
    "templateId": "invoice",
    "data": { "invoice": { "number": "INV-0184", "total": 9200 } }
  }'
What you get

The boring infrastructure, done properly

Running Chromium in production is a job nobody asked for: memory leaks, zombie processes, font packages, cold starts. We keep that, you keep an endpoint.

01

Real Chromium, not an approximation

Every render runs in headless Chrome, so flexbox, grid, web fonts, SVG and CSS print rules behave exactly as they do in your browser. What you design is what gets printed.

02

Handlebars templating built in

Send a template and a JSON payload instead of assembling HTML yourself. Currency, dates, arithmetic and table helpers ship with it — no more toFixed(2) scattered through your codebase.

03

Headers, footers and page numbers

Running blocks with live page numbers, dates and titles, with the page margin reserved for you automatically — the single most common reason a footer silently vanishes.

04

Any page geometry

A4 through A6, Letter, Legal, Tabloid, landscape, or an explicit width and height for receipts, labels and shipping slips. Page ranges and CSS @page sizes supported.

05

Tagged, accessible output

Tagged PDFs by default, with document metadata — title, author, subject, keywords — written into the file rather than left as whatever your HTML happened to say.

06

Diagnostics when it goes wrong

A blank page returns the console errors and the assets that failed to load. Debugging a render should take seconds, not a support thread.

Built for

Anything your product has to hand a human

Invoices and receipts. Statements and contracts. Lab reports, shipping labels, certificates, month-end packs. If it ends up attached to an email, it starts here.

Open the playground
Invoices & receipts
Line items, tax, running totals
Statements
Repeating table headers across pages
Reports
KPI blocks, charts, month-end packs
Certificates
Landscape, full-bleed backgrounds
Labels & slips
Custom page geometry, 80mm rolls
Contracts
Tagged output, page ranges, metadata
Pricing

Priced per render, not per seat

Every plan has the full API. The only thing that changes is how much you render.

Free
$0forever

Enough to build against.

  • 100 renders / month
  • 10 requests / minute
  • All templates & options
  • Community support
Start free
Starter
$19per month

For one product in production.

  • 2,000 renders / month
  • 60 requests / minute
  • URL rendering
  • Email support
Choose Starter
Most popular
Pro
$49per month

The one most teams land on.

  • 20,000 renders / month
  • 180 requests / minute
  • Priority rendering queue
  • Custom page sizes & tagged PDFs
  • Email support, 1 business day
Choose Pro
Scale
$199per month

High volume, predictable cost.

  • 150,000 renders / month
  • 600 requests / minute
  • Dedicated render capacity
  • Priority support
Talk to us

Self-serve checkout is landing shortly. Until then, email us and we will issue a key the same day.

Render your first PDF in the next two minutes

The playground runs the same engine as the API — no key, no signup, nothing to install.

Open the playground