Comparison
PDFPipe vs DocRaptor
DocRaptor is a premium HTML-to-PDF API powered by PrinceXML, with a strong reputation for print-grade typography. PDFPipe takes a different angle: flat pricing, a generous free tier, and a simple endpoint built for scripts and agents. If you do not need PrinceXML-level print layout, PDFPipe is the lighter, cheaper option.
What each tool is good at
DocRaptor renders with PrinceXML, which excels at the hard parts of print: running headers and footers, named page regions, footnotes, precise pagination, and PDF/UA accessibility tagging. If your output is a book, an invoice with strict layout rules, or a document that must meet print or accessibility standards, that engine is worth paying for.
PDFPipe renders modern HTML and CSS through a current browser engine. It targets the common case: reports, receipts, dashboards, certificates, and exports where you want a clean PDF from the same markup your web app already produces. The API is a single POST /v1/pdf call that returns raw bytes, so it drops into existing pipelines and LLM agents without an SDK.
Feature comparison
| Feature | PDFPipe | DocRaptor |
|---|---|---|
| Rendering engine | Modern browser engine | PrinceXML |
| Pricing model | Flat monthly plans | Tiered, by documents per month |
| Free tier | Generous, for production use | Unlimited test docs (watermarked) |
| Integration | Single REST call, no SDK needed | REST plus official SDKs |
| Print typography (footnotes, page regions) | Basic CSS print support | Advanced (PrinceXML strength) |
| PDF/UA accessibility tagging | Not supported | Supported |
| Agent friendly | Yes, plain JSON in, PDF bytes out | Yes, via API |
Pricing philosophy
DocRaptor prices by documents generated per month, with plans that scale as volume grows. That maps cleanly to high-value print output where each document matters. PDFPipe charges a flat monthly rate per plan, so a spike in volume does not produce a surprise bill. For teams generating many low-stakes PDFs (exports, receipts, internal reports), flat pricing is usually easier to reason about and cheaper at scale.
Calling the PDFPipe API
One request returns the PDF. Send your HTML and options as JSON, and write the raw application/pdf response to a file.
curl -X POST https://api.pdfpipe.xyz/v1/pdf \
-H "Authorization: Bearer pp_live_your_key" \
-H "Content-Type: application/json" \
-d '{"html": "<h1>Invoice 1042</h1>", "options": {"format": "A4"}}' \
--output invoice.pdfThe same call from Node, using the built-in fetch API:
import { writeFile } from "node:fs/promises";
const res = await fetch("https://api.pdfpipe.xyz/v1/pdf", {
method: "POST",
headers: {
"Authorization": "Bearer pp_live_your_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
html: "<h1>Invoice 1042</h1>",
options: { format: "A4" },
}),
});
const bytes = Buffer.from(await res.arrayBuffer());
await writeFile("invoice.pdf", bytes);When to pick which
Choose DocRaptor when print fidelity is the product: books, regulated documents, accessibility-tagged PDFs, or layouts that lean on PrinceXML page features. Choose PDFPipe when you want predictable flat pricing, a free tier you can ship on, and a single REST endpoint that any script or agent can call to turn web HTML into a clean PDF.
Try it on the live playground or read the full docs to see every option.
See pricing →