Comparison
A DocSpring alternative built on raw HTML input
DocSpring is built around a template-upload workflow: you upload a PDF, mark the form fields, then fill them via API. That model works well for fixed forms. Developers who need fully custom layouts, dynamic tables, or arbitrary CSS often find it too rigid. PDFPipe takes raw HTML and CSS and renders it directly, no template upload required.
How they compare
| PDFPipe | DocSpring | |
|---|---|---|
| Input model | Raw HTML and CSS, no pre-upload step | Upload a PDF template, then fill fields |
| Template required | No | Yes, must upload before rendering |
| Pricing model | Flat monthly plans | Pay-per-render credits |
| Free tier | 500 documents a month | Limited free tier with restrictions |
| CSS and JS support | Full: Grid, flexbox, custom fonts, custom scripts | No: constrained to template fields |
| Batch support | Batch endpoint for multiple documents | One template fill at a time |
| AI agent tools | MCP server for direct tool use | None |
| SSRF protection | Blocks private and metadata IPs on URL renders | N/A |
Send HTML, get a PDF
There is no template to manage. POST your HTML string and receive a PDF binary in return. Use any CSS you would use in a browser, including Grid, flexbox, custom web fonts loaded via a @font-face rule, and page-break utilities.
import fs from "fs";
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: `
<style>
body { font-family: sans-serif; margin: 40px; }
table { width: 100%; border-collapse: collapse; }
td, th { border: 1px solid #ccc; padding: 8px; }
</style>
<h1>Invoice #1042</h1>
<table>
<tr><th>Item</th><th>Amount</th></tr>
<tr><td>Consulting</td><td>$1,200.00</td></tr>
</table>
`,
options: { format: "A4" },
}),
});
const pdf = await res.arrayBuffer();
fs.writeFileSync("invoice.pdf", Buffer.from(pdf));Pricing
| Plan | Price | Documents |
|---|---|---|
| Free | $0 / month | 500 |
| Starter | $19 / month | 5,000 |
| Growth | $49 / month | 20,000 |
| Scale | $129 / month | 100,000 |
One document is one render, regardless of page count. No credit multipliers.
When DocSpring is the better fit
If your workflow is genuinely form-fill, where you have a fixed PDF and only need to populate named fields, DocSpring is well-suited to that task. PDFPipe is the better choice when you need complete layout control from HTML and CSS, predictable flat pricing, batch generation, or an API surface that AI agents can call directly as a tool.
Try PDFPipe on the live playground with no signup, then read the docs.
See pricing →