Comparison
PDFops vs DocRaptor
DocRaptor is a hosted HTML-to-PDF API built on PrinceXML,
priced from $15/mo (125 docs, 12¢/doc effective) up to
$1,000/mo (40,000 docs, 2.5¢/doc). It's a fundamentally
different verb than PDFops: DocRaptor has no
fill-form endpoint and no merge endpoint — its API
only accepts document_content (HTML/XML) or
document_url and always emits a new PDF. This
page is for developers who picked DocRaptor for
template-driven invoice / receipt / contract / form
generation and are asking whether the form-fill primitive
fits better.
The honest framing
If you need to render arbitrary HTML to PDF — with CSS, web fonts, multi-page layout, headers/footers driven by content — DocRaptor still fits better. PDFops doesn't render HTML.
If your usage is template-driven (you author a PDF template once, then fill it with per-customer data on each request — invoices, receipts, contracts, government forms, statements), the wedge flips. AcroForm templates + an HTTP API call is a cleaner abstraction than rendering HTML for every document, and the substrate cost is dramatically lower.
One stagnation signal worth knowing. DocRaptor's last public changelog entry is dated September 5, 2023 — over two and a half years ago. They're still shipping Prince 15.1; Prince 16 has been generally available since October 2024. No edge runtime, no form-fill endpoint, no merge endpoint has been announced in that window. [source: docraptor.com/documentation/changelog]
Side-by-side
| PDFops | DocRaptor | |
|---|---|---|
| Primitive | AcroForm fill-form + merge (operates on existing PDFs) | HTML → PDF only (always emits a new PDF) |
| AcroForm fill-form | Yes (core endpoint) | No — API only accepts document_content or document_url |
| PDF merge | Yes (core endpoint) | No — compose merged HTML, then render |
| Per-document price | ~$0.004 (Indie, $16/mo, 4,000 req) → ~$0.003 (Pro, $79/mo, 25,000 req) | 12¢ (Basic, $15/mo, 125 docs) → 2.5¢ (Silver, $1,000/mo, 40k docs) |
| Free tier | 250/mo with a free key (no card); 100 req/month/IP keyless | 5 test docs/mo, watermarked, no overage allowed |
| Auth model | X-API-Key (free key, emailed); keyless anonymous calls allowed for trial | API key required |
| Hosting substrate | Vercel Edge (globally distributed) | AWS-hosted (no region selection published) |
| Rendering engine | pdf-lib (V8-isolate-compatible) | PrinceXML 15.1 (Prince 16 released Oct 2024 — unupgraded) |
| Last public changelog | Continuous — see /blog | Sep 2023 — no entries since |
| SLA | None yet; enterprise via hello@pdfops.dev | Tier-dependent |
| Best for | Template-fill + merge at scale on edge stacks | HTML rendering with rich CSS / typography |
Pricing verified at docraptor.com/signup as of 2026-05-19. Heroku addon pricing is ~25–30% higher and is not quoted here.
Try the migration in 30 seconds
If you've got a PDF template with AcroForm fields (or want one — grab a sample invoice-template.pdf with customer_name + total fields), the call shape is:
curl -X POST https://pdfops.dev/api/fill-form \
-F "pdf=@invoice-template.pdf" \
-F 'fields={"customer_name":"Acme Co","total":"$1,250.00"}' \
-o filled.pdf
You get a filled PDF back. No API key or signup needed for the first 100 calls per IP each month — or run the same call in the browser via the playground. The full reference for the endpoint is in the fill-form docs.
Frequently asked
Is PDFops a drop-in replacement for DocRaptor?
No — different primitives. DocRaptor renders HTML to PDF; PDFops fills AcroForm fields in PDF templates you author. If your DocRaptor usage is template-driven and you can move to AcroForm templates, PDFops fits. If you need arbitrary HTML rendering, DocRaptor is still the answer.
How much cheaper is PDFops per document?
DocRaptor charges $0.05–$0.20 per document depending on plan. PDFops: Indie is $16/mo for 4,000 requests (~$0.004/doc), Pro is $79/mo for 25,000 (~$0.003/doc) — roughly 10× cheaper per document. Possible because PDFops runs on edge-runtime infrastructure rather than dedicated VMs, and that substrate's unit economics pass through to the per-document price.
What's the migration story?
For invoice / receipt / contract / form generation from a fixed template: (1) Author an AcroForm version of your template in Acrobat, Mac Preview, LibreOffice Draw, or pdftk — the free form-field inspector confirms the field names came out as intended. (2) Replace your DocRaptor SDK call with a multipart POST to /api/fill-form sending the template + a JSON object of field-name → value. (3) The response is the filled PDF. The Stripe-webhook-to-invoice walkthrough is in the blog.
Does PDFops offer an SLA?
Not yet. For enterprise volume with SLA, email hello@pdfops.dev. Production usage should design for the API as best-effort and treat 5xx as retryable.
Where does the curl go in production?
Anywhere. PDFops is an HTTP API — your calling code can run on Cloudflare Workers, Vercel Edge, Deno Deploy, Bun, AWS Lambda, your own Node backend, or a desktop curl. Per-language walkthroughs: Python, Node.js, JavaScript. Edge-deployed PDFops + edge-deployed caller = sub-300ms end-to-end with no cold starts.
Move when ready
If the template-fill primitive matches your usage, grab a free API key (250 req/mo) at /pricing — email in, key out, no card. Indie ($16/mo, 4,000 req) and Pro ($79/mo, 25,000 req) are live when you outgrow it.
← PDFops home · Blog · Docs