Abstract blue Chromium rendering pipeline turning lines of HTML into a finished PDF document
Headless Chromium · v1 API · MCP-ready

Send HTML,
get a PDF URL.

The HTML-to-PDF API with pixel-perfect Chromium rendering, transparent pay-per-use pricing, and built-in S3 delivery. Ship invoice and report generation in minutes — no rendering infra to babysit.

POST /v1/pdf — terminal
$ curl -X POST https://api.rendura.dev/v1/pdf \ -H 'Authorization: Bearer sk_live_7Qx...' \ -H 'Content-Type: application/json' \ -d '{ "html": "<html><body style=\"display:grid; grid-template-columns:1fr 1fr\">...", "delivery": { "provider": "s3", "bucket": "brightline-invoices" } }'
200 OK · 1.4s
{ "url": "https://brightline-invoices.s3.amazonaws.com/2026/06/INV-2041.pdf" }
Built for the stack that ships documents Stripe-style invoices Financial reports Shipping labels Contracts & statements
Rendering engine

Pixel-perfect Chromium rendering

Runs full headless Chromium with 100% support for modern CSS — Flexbox, Grid, CSS Variables — so your invoices and reports look exactly like your browser preview.

If it renders in Chrome, it renders in your PDF — no surprises, no fallbacks.
invoice-INV-2041 · diff view
Chrome preview localhost
localhost:3000/invoice/2041
Brightline Co
123 Market St · San Francisco
INVOICE
INV-2041
2026-06-14
Bill to
Northwind Trading
Due
2026-07-14
ItemQtyAmount
API platform license1$2,400
Usage overage38k$152
Total due$2,552.00
Rendura PDF identical
INV-2041.pdf · 1 page · A4
Brightline Co
123 Market St · San Francisco
INVOICE
INV-2041
2026-06-14
Bill to
Northwind Trading
Due
2026-07-14
ItemQtyAmount
API platform license1$2,400
Usage overage38k$152
Total due$2,552.00
Agent-native

MCP server for AI agents

A native Model Context Protocol server exposes PDF generation as a tool your agent can call directly, so coding assistants and autonomous workflows produce documents without you writing integration code.

Let Claude or Cursor generate your PDFs — no SDK, no glue code.
claude code · rendura-mcp
You
Generate a PDF invoice from invoice.html and drop it in my S3 bucket.
Claude
I'll render it and upload to brightline-invoices.
⚡ html_to_pdf called
{ source: "invoice.html", delivery: { provider: "s3", bucket: "brightline-invoices" } }
INV-2041.pdf · signed URL · ready ↗
Delivery

Direct cloud delivery

Uploads the finished PDF straight to S3, GCS, or Azure Blob and returns a signed URL — with no intermediate storage, so your documents never sit on third-party disks.

Skip the download dance — your PDF lands in your bucket, not our servers.
delivery pipeline
In
HTML payload
Render
Chromium
Out
Your bucket
Return
Signed URL
▸ Amazon S3 ▸ Google Cloud Storage ▸ Azure Blob
No intermediate storage — bytes stream straight from render to your bucket.
Layout

Dynamic headers & footers

Inject templated headers and footers with dynamic variables like page numbers, total pages, and dates, so multi-page reports look professionally bound.

Page numbers, dates, and logos on every page — without hacking your HTML.
footer template
"Brightline Co · Generated {{date}} · Page {{pageNumber}} of {{totalPages}}"
Q2-revenue-report.pdf · 12 pages
1
Brightline Co · 2026-06-14 · Page 1 of 12
2
Brightline Co · 2026-06-14 · Page 2 of 12
3
Brightline Co · 2026-06-14 · Page 3 of 12
4
Brightline Co · 2026-06-14 · Page 4 of 12
Reliability

Smart JavaScript wait strategies

Executes page JavaScript and waits using configurable strategies — networkIdle, domContentLoaded, or a custom CSS selector — so charts, fonts, and async data are fully rendered before capture.

Stop capturing half-loaded charts and empty tables.
wait config
{ "strategy": "selector", "selector": "#revenue-chart.loaded", "timeout": 5000 }
capture comparison
✕ without wait
Revenue dashboard
#revenue-chart · loading…
chart not drawn
✓ with selector wait
Revenue dashboard
#revenue-chart.loaded · ready
Developers

Docs, async batch & live status

Everything you need to ship — a full API reference, async batch with webhooks for high-volume jobs, and a real-time status page.

Documentation

Endpoint reference, SDK snippets, and copy-paste examples for invoices, reports, and dynamic headers & footers.

Read the docs
Async batch with webhooks

Queue thousands of documents in a single call and receive a webhook callback the moment each PDF lands in your bucket.

Request access
Live status

A 99.9% uptime SLA backed by a public status page and incident history, so you always know the render queue is healthy.

Request access
Pricing

Transparent, pay-per-use

Start free. Scale to millions of documents. Overage billed per PDF — no seat fees, no surprises.

Hobby
$0
100 PDFs / month
  • Chromium rendering
  • Headers & footers
  • Community support
Start free
Most popular
Startup
$29/mo
5,000 PDFs/mo, then $0.004/PDF
  • MCP server access
  • S3 / GCS / Azure delivery
  • Async batch with webhooks
  • Email support
Request access
Scale
$149/mo
50,000 PDFs/mo, then $0.002/PDF
  • Encryption & password protection
  • PDF/UA accessibility tagging
  • 99.9% uptime SLA
  • Priority support
Request access
Developer dashboard glowing blue as a freshly rendered PDF document is delivered to a cloud bucket
Early access

Ship your first PDF
before lunch.

Drop your email and we'll send a sandbox key. One endpoint, one URL back — the rendering infra is ours to run.