Compare · Puppeteer (self-hosted)
Kamy vs Puppeteer (self-hosted).
Puppeteer (self-hosted) — Self-hosted headless Chromium. Puppeteer is free and powerful, but you become the SRE: patch Chromium for every CVE, size the worker pool, sandbox untrusted HTML, manage fonts and inline images, and absorb ~150 MB peak memory per render. Kamy is that stack as a managed API.
PUPPETEER (SELF-HOSTED) EFFECTIVE COST
$0.0050
per render, entry plan
KAMY EFFECTIVE COST
$0.0020
per render, Pro plan
KAMY IS
~2.5× cheaper
at the volume that matters
- Puppeteer (self-hosted): Free, but ~$50–$200/mo for the EC2/Fargate fleet that runs it.
- Kamy: $19/mo for 5,000 hosted renders, or Scale at $0.002/render PAYG.
| Feature | Puppeteer (self-hosted) | Kamy |
|---|---|---|
| Cost | Free + infra + on-call time | $19/mo flat or $0.002/render PAYG |
| Patches Chromium for CVEs | You do | Managed within hours |
| Concurrency / queueing | Build it yourself | Built in |
| Hosted templates | No | 10 system + unlimited custom |
| Country-compliant tax templates | No | KSA ZATCA + UAE FTA |
| Brand kits + themes | No | Yes |
| Watermarks (built-in option) | No | options.watermark |
| AES-256 encryption + permissions | No | options.encrypt |
| PDF/A archival output | No | options.pdfA |
| Webhooks for async renders | No | Yes |
Most Puppeteer pipelines do `await page.setContent(html); await page.pdf(opts);`. The Kamy equivalent is one HTTP POST: pass the same HTML and an options object that mirrors `page.pdf()`. Once you migrate, you can decommission the Chromium worker pool entirely — Kamy handles networkidle, image preloading, and font registration server-side.
See the wkhtmltopdf → Kamy guide for a full flag-by-flag translation table.
Pricing verified on 2026-04-25 · spot a stale figure? Let us know
Try Kamy on the free tier.
100 renders per month, no credit card. Average migration time from a working Puppeteer (self-hosted) pipeline is under an hour.