What DocRaptor actually ships
DocRaptor's homepage (https://docraptor.com/, checked 23 Aug 2026) describes a REST HTML-to-PDF API whose PDF engine is Prince. They also convert HTML/XML tables to XLS and XLSX. Their own FAQ says they do not support zip or other file formats. Input is document_content or document_url; document_type is pdf, xls, or xlsx (https://docraptor.com/documentation/api). Test mode is a first-class flag: unlimited watermarked PDFs that do not count against the monthly allotment; test Excel is truncated after 20 rows (https://docraptor.com/documentation/api/test_documents).
JavaScript is two engines, not one. Their javascript option runs a DocRaptor preprocessor (they mention Typekit and Highcharts) before Prince sees the document. prince_options[javascript] turns on Prince's own engine, which they say you need for canvas drawing or Prince's PDF JavaScript object. Pipelines pin a Prince version; public docs list combinations through Prince 15 / 15.1 (pipeline 10 / 10.1). Existing documents do not auto-upgrade.
Prince is why the marketing talks about named pages, mixed sizes in one file, running heads via flow(), page floats, footnotes, crop marks, PDF forms, and tagged output. That is CSS Paged Media plus Prince extensions, not Chromium print. Their prince page (https://docraptor.com/prince) states a commercial Prince service license starts at $2,500/year and positions DocRaptor as a lower starting price with hosted scale. Their numbers, not ours.
Compliance claims belong to them. The homepage lead says they are "the only HTML to PDF API that uses the Prince PDF generator, has a 99.99% uptime guarantee, and is both SOC2 and HIPAA compliant." A later block adds GDPR and ePHI. RelayPDF does not claim those. This is not a compliance bake-off.
What RelayPDF actually ships
RelayPDF prints with Chromium. POST exactly one of html, url, markdown, or templateId as a UTF-8 JSON string (not Base64) to https://api.relaypdf.com/v1/pdf. Response is binary (default), url (24-hour download), or async with optional callbackUrl. URL sources must be public. Print options use the same field names as https://relaypdf.com/docs/options: format letter / legal / tabloid / ledger / a0–a6, printBackground default true, waitUntil default networkidle0 (load, domcontentloaded, networkidle2 also accepted), timeout max 60000 ms, preferCSSPageSize default false, headerTemplate / footerTemplate with pageNumber, totalPages, date, title.
Adjacent jobs are separate routes, not Prince flags: Office and wkhtmltopdf on POST /v1/convert, merge on POST /v1/pdf/merge, plus /v1/images, tools, barcodes, zip. CLI and MCP are first-class. The live capability table is on the compare page and is not cloned below.
curl https://api.relaypdf.com/v1/pdf
-H "Authorization: Bearer pdf_live_..."
-H "Content-Type: application/json"
-d '{"html":"<h1>Invoice 1042</h1>","filename":"invoice.pdf",
"options":{"format":"letter","printBackground":true,
"preferCSSPageSize":true,"waitUntil":"networkidle0"}}'
--output invoice.pdf
Print-CSS quality is not a brand swap
Prince treats the page stack as the layout. You name pages, select :first / :left / :right / :recto / :verso / :blank / :nth(), put generated content in margin boxes, copy running heads with string-set, float work to the top or bottom of a page, and attach footnotes. Chrome 131 added CSS page-margin boxes with generated content and counter(page) / counter(pages). That is sixteen boxes of generated content, not Prince's running-element, footnote stack. preferCSSPageSize honors @page size. It does not turn Blink into Prince.
Chromium's strength is the opposite assumption. Layout happens in a viewport. JavaScript, webfonts, Flex, and Grid behave like the tab. Then the engine slices that flow into paper. waitUntil and timeout exist because the document is often an app, not a static XML book. headerTemplate is a second HTML fragment painted into a reserved margin; if margin.top is too small, it clips. If your stylesheet is already a Prince book, a Chromium host is a rewrite. If your stylesheet is the invoice you already render in the browser, Prince is extra machinery.
Side by side
| Concern | DocRaptor (their public docs) | RelayPDF (our docs) |
|---|---|---|
| PDF engine | Prince (pinned by pipeline) | Chromium print |
| HTML / URL → PDF | Yes (document_content / document_url) | Yes (html / url on /v1/pdf) |
| Markdown / screenshots | Not primary | Yes |
| Office / existing DOCX→PDF | XLS/XLSX from XML tables, not DOCX | POST /v1/convert (LibreOffice) |
| Excel out | document_type xls / xlsx | Not a first-class HTML→XLS route |
| PDF tools, barcodes, zip | They say no zip / other formats | Yes |
| CLI + MCP | Not first-class on our compare table | Yes |
| JS model | Preprocessor and/or Prince JS | Page JS, then print; waitUntil |
| Headers | @page / flow() / Prince regions | CSS margin boxes or headerTemplate |
| Test / trial | Unlimited watermarked tests (they say) | $5 wallet credit, no card; failures not billed |
| Billing shape | Monthly document plans + overage (their signup table) | Prepaid wallet, per successful op |
When DocRaptor is the right host
Stay on DocRaptor, or license Prince yourself, when the stylesheet is the product. Textbooks, statutes, catalogs, and journals written against named pages, string-set chapter titles, break-before: recto, page floats, @footnote, bleed, or crop marks will not survive a headerTemplate port. Same if you already depend on their HTML-to-XLS path, hosted document URLs as they define them, or a Prince pipeline pin you have regression-tested.
A docraptor alternative in that case is another Paged Media host, not whatever prints HTML. Chromium will produce a PDF. The page breaks will not match the book you signed off. If you need their stated SOC2 / HIPAA / uptime contract, evaluate that with them. We are not offering a substitute claim.
When RelayPDF is enough
Most SaaS PDFs are not books. They are the HTML you already ship: invoices, receipts, dashboards, tickets, one-off reports. Charts arrive after network idle. Fonts are webfonts. Headers are a logo plus Page n of m. Print that with the same engine that rendered the preview.
Use RelayPDF when you also want the rest of the endpoint surface without standing up Chromium, LibreOffice, and a tooling sidecar on every app node. The compare page one-liner is still the accurate product contrast: both do HTML/URL to PDF; RelayPDF also treats Markdown, screenshots, Office, PDF tools, barcodes, zip, CLI, and MCP as first-class (https://relaypdf.com/compare/docraptor). That is surface area, not a claim that Chromium implements Prince @page.
Limits
RelayPDF Chromium timeout is 60 seconds. render_failed is not billed. You cannot fetch private, loopback, or metadata URLs. You cannot assume named pages, Prince floats, footnote regions, CMYK, or Prince PDF forms will do anything useful. Chrome 131 margin boxes help for simple running text. headerTemplate is a second document with its own CSS budget. We do not claim OCR, e-sign, PDF/A, HIPAA, SOC2, or an uptime SLA; we are not publishing those on the cited product pages.
DocRaptor is not a free-form browser. Their own Chromium comparison on the homepage says Chrome is fine for simple documents or pages built from complex JavaScript, and that Chrome struggles with PDF-specific styling, floats, and accessibility. Take that as their positioning. If your HTML is an app that paints a canvas after three round trips, Prince-before-layout is the wrong process even if you like @page syntax. Excel input is XML tables, not a casual HTML dump.
Pricing (verified)
RelayPDF prepaid wallet (https://relaypdf.com/pricing, checked 23 Aug 2026): HTML, URL, Markdown PDF or screenshot $0.015; template PDF $0.015; AI generate $0.05; LibreOffice $0.04; wkhtmltopdf $0.025; tools $0.005. Failures never billed. Credit does not expire. $5 signup credit, no card. Pack bonuses 5 / 6 / 10 / 15 percent.
DocRaptor publishes monthly document plans on https://docraptor.com/signup (same check date): Free 5 documents at $0; Basic 125 at $15/mo; then 325 / $29, 1,250 / $75, 5,000 / $149, 15,000 / $399, 40,000 / $1,000; Enterprise contact. They say test documents are free and paid plans have plan-tied overage. Their compare copy has cited roughly 2.5¢–12¢ per document. Those are their list numbers. Pick the engine first; the invoice follows it.
Pick the engine, then the host
If the stylesheet is CSS Paged Media, stay on a Paged Media engine. If the stylesheet is a web page, print with Chromium. For the Chromium path, POST the HTML you already have: https://relaypdf.com/html-to-pdf. For the hosted-Prince versus hosted-Chromium product surface, https://relaypdf.com/compare/docraptor. Options: https://relaypdf.com/docs/options. PDF request fields: https://relaypdf.com/docs/pdf.