Which one should you pick?
Choose DocRaptor when the layout itself is the hard part. Think complex paged layouts with strict typography, or PDFs that must pass an accessibility audit. Its Prince engine was built for print, and DocRaptor tags documents for assistive technology.
Choose CastPDF when you make business documents at volume: invoices, statements, reports, tickets. Long tables repeat their header, rows stay whole and pages are numbered. 10,000 PDFs a month cost $49, and the price table below shows how that compares.
Prices side by side
The cheapest monthly plan that includes each volume, from each vendor's public pricing page (checked October 2026, before tax). Where a vendor sells extra documents on a smaller plan, that can cost less than the plan shown; the text below works it out where it matters. CastPDF counts one PDF per document, whatever its page count.
| PDFs a month | CastPDF | DocRaptor |
|---|---|---|
| 1,000 | $19 (Starter) | $75 (Premium) |
| 10,000 | $49 (Growth) | $399 (Bronze) |
| 50,000 | $129 (Pro) | Custom price |
| Free plan | 100 PDFs a month | 5 documents a month, plus unlimited watermarked test documents |
Two engines, two strengths
Most of the difference between these products comes from the engine underneath. DocRaptor is built on Prince, a commercial engine made for print layout. It runs JavaScript through Prince too, with several layout passes.
CastPDF renders your HTML in Chromium, the open-source engine behind Chrome. Modern CSS such as flexbox, grid and web fonts behaves as it does in the browser you already test with. For templates, CastPDF adds a print step: Paged.js splits the content into pages before Chromium prints it.
That print step is where the paged-media features live. It gives you @page margin boxes for headers and footers, counter(page) and counter(pages) for "Page 3 of 9", running headers taken from your headings, and a repeated <thead> on every continued page. If a block would be cut off, the request fails with content_lost instead of returning a broken PDF.
What this means in practice
For a 20-page statement with a long transactions table, both engines give you a clean, paginated document. For a typeset publication where every line of the layout is tuned by hand, a dedicated print engine like Prince is the more complete tool.
Feature by feature
| CastPDF | DocRaptor | |
|---|---|---|
| Rendering engine | Chromium, with Paged.js in print mode | Prince, a commercial engine made for print layout |
| Stored templates | HTML and CSS with Liquid, live preview, versions | Not stated on the pricing page |
| Free plan | 100 live PDFs a month, unlimited test PDFs | 5 documents a month, plus unlimited watermarked test documents |
| Accessibility tagging | Not offered today | Automatic and CSS-based tagging, aimed at WCAG 2.0, Section 508 and PDF/UA |
| Going over your plan | Extra PDFs from $9.00 down to $1.75 per 1,000, up to a spending cap you set | A per-document price tied to your plan (the rates are not on the page) |
| Largest public plan | Scale: 200,000 PDFs for $299 a month | Silver: 40,000 documents for $1,000 a month, then Enterprise at a custom price |
| Where PDFs are made | Servers in Germany (EU) | Not stated on the pricing page |
Every DocRaptor cell comes from its own site, linked in the sources at the end of this page. If a cell says "not stated", we could not find it there; it does not mean the feature is missing.
The cost at 1,250, 5,000 and 15,000 documents
The price table shows the cheapest plan that includes each volume. Real volumes rarely land on a plan boundary, so here are three common ones. On CastPDF we add overage to a smaller plan whenever that is cheaper than moving up. DocRaptor does not publish its overage rates, so its column uses the plan that covers the volume.
| Documents a month | CastPDF | DocRaptor |
|---|---|---|
| 1,250 | $19 (Starter, within its 2,500) | $75 (Premium) |
| 5,000 | $41.50 (Starter plus 2,500 extra at $9.00 per 1,000) | $149 (Max) |
| 15,000 | $79 (Growth plus 5,000 extra at $6.00 per 1,000) | $399 (Bronze) |
Notice the middle row. At 5,000 documents, Starter with overage costs $41.50, which is less than the $49 Growth plan. The overage fits inside the default spending cap, so nothing gets refused. From about 5,800 documents a month, Growth becomes the cheaper choice.
DocRaptor wins at the very bottom. If you need about 100 clean PDFs a month, its $15 Basic plan is cheaper than CastPDF Starter. Live PDFs on CastPDF's free plan carry a small "Made with CastPDF" footer, which a paid plan removes. At 40,000 documents, DocRaptor lists $1,000 and CastPDF Pro lists $129.
Free testing on both sides
Both products let you build without paying per attempt. DocRaptor offers unlimited watermarked test documents. CastPDF test keys are free and unlimited too, and stamp a diagonal watermark on each page without changing the layout.
On CastPDF a test key allows 20 requests a minute, and it cannot change templates. That keeps a forgotten script in a CI job from editing your production layout. Swap in a live key when the output looks right.
Run the same document through both trials before you decide. Pick your longest real file, such as a statement with 300 transactions, and check the page breaks, the header on page 2 and the totals at the end.
Where CastPDF does more for you
- Templates you store once. Keep the layout in CastPDF and send only JSON. The editor shows a live preview, and the last 50 versions are kept, so you can roll back a change.
- People who do not code can change the wording. Simple mode is a form over the sample data, so a colleague can adjust a test document without touching HTML.
- Print rules without guesswork. Rows are kept whole and long tables repeat their header. See the guide to page breaks in HTML to PDF for the CSS behind it.
- Predictable bills. You pay per document, never per page. Unused PDFs on paid plans roll over for a month, and we email you at 80% and 100% of your allowance.
- Retries that never bill twice. Send an
Idempotency-Keysuch as the statement number. A retried request returns the first PDF. - Data stays in the EU. PDFs are made and stored on servers in Germany, under a Data Processing Agreement.
When DocRaptor is the better choice
- You rely on Prince-specific CSS. Prince has its own extensions to CSS for print. Chromium ignores properties it does not know, so a layout built around them would need rework.
- You need tagged, accessible PDFs. DocRaptor tags documents automatically or from your CSS, aimed at WCAG 2.0, Section 508 and PDF/UA. CastPDF does not offer accessibility tagging today.
- Your contract needs a negotiated deal. Above 40,000 documents a month, DocRaptor sells an Enterprise tier at a custom price. CastPDF sells published plans with published overage rates.
- You publish long-form material. Typeset manuals and journals with fine typographic control are where a print engine made for print layout shines.
- It already works. If your output is right and the bill is fine, a move costs time and brings little.
Moving a document from DocRaptor to CastPDF
You already send HTML to DocRaptor, so the first step needs no template at all. Send that same HTML to CastPDF and compare the two PDFs page by page.
- Create a free test key. Sign up and create a test key in the dashboard. The quickstart walks through it in about five minutes.
- Send your current HTML. Put your HTML in
htmland your stylesheet incss. Add"mode": "print"so Paged.js paginates it, since raw HTML defaults to fast mode. - Keep the standard print CSS.
@pagesizes, margin boxes,counter(page)andbreak-inside: avoidcome from the CSS print standards, so they carry over. Remove or replace Prince-only properties. - Check fonts. Noto, Liberation and DejaVu are installed. Load any other font from a public
httpsURL or embed it as adata:URL. - Turn the HTML into a template. When the output matches, paste the HTML into a CastPDF template and replace the changing parts with Liquid tags. From then on you send only
template_idanddata.
{
"html": "<h1>Account statement</h1><table><thead><tr><th>Date</th><th>Description</th><th>Amount</th></tr></thead><tbody><tr><td>2026-09-02</td><td>Opening balance</td><td>1,200.00</td></tr></tbody></table>",
"css": "@page { @bottom-right { content: 'Page ' counter(page) ' of ' counter(pages); } } h1 { font-family: 'Noto Serif', serif; }",
"mode": "print",
"format": "Letter",
"margins": "18mm 16mm",
"filename": "statement-2026-09.pdf"
}curl https://api.castpdf.com/v1/pdf \
-H "Authorization: Bearer $CASTPDF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: statement-2026-09-ACME" \
--data @statement.json \
--output statement.pdfIf a page looks different, start with the margin boxes and the fonts; those cause most of the gaps. Then choose a plan on the pricing page. Starter costs $19 a month for 2,500 PDFs.
Sources
Every fact about another product on this page comes from that product's own pages, checked October 2026. CastPDF's prices and limits come from our pricing page.
| DocRaptor | What it says | Source |
|---|---|---|
| Free plan | 5 documents a month, plus unlimited watermarked test documents | docraptor.com/signup |
| Extra documents | A per-document price tied to your plan (the rates are not on the page) | docraptor.com/signup |
| Above 40,000 a month | Enterprise, custom price | docraptor.com/signup |
| Engine | Prince, a commercial engine made for print layout | docraptor.com |
| Accessibility | Automatic and CSS-based tagging, aimed at WCAG 2.0, Section 508 and PDF/UA | docraptor.com |
| JavaScript | Runs JavaScript through Prince, with several layout passes | docraptor.com |