How PDF APIs compare
Retention, region and billing units differ more than prices do. Every competitor cell links to the page it comes from, checked 3 Nov 2026. Where a vendor doesn't publish something, we say so instead of guessing.
pagenull
- Free tier
- 100 renders a month, no card
- Entry paid plan
- €9 a month, 3,000 renders
- Billing unit
- 1 render per PDF or screenshot up to 50 pages and 20 MB
- Retention by default
- None. Every response says pagenull-retention: none and carries a signed receipt
- Ways storage can be switched on
- None. Files can only be uploaded to your own storage (deliverTo)
- Processing region
- EU only (hosting provider not chosen yet)
- Templates
- HTML with {{variables}}, dashboard preview, unlimited on every plan
PDFShift
- Free tier
- 50 credits a month, no cardsource
- Entry paid plan
- $9 a month, 500 creditssource
- Billing unit
- 1 credit = 5 MB of outputsource
- Retention by default
- In memory, not storedsource
- Ways storage can be switched on
- filename or webhook store up to 2 days; log_request stores the raw requestsource
- Processing region
- OVH France; lists Sentry as a sub-processor under SCCssource
- Templates
- None found (raw HTML or URL)source
Doppio
- Free tier
- 400 docs a month, no card, 1 templatesource
- Entry paid plan
- $16 a month, 4,000 docssource
- Billing unit
- Per documentsource
- Retention by default
- “Never stored”; isolated instance destroyed after rendersource
- Ways storage can be switched on
- Not published
- Processing region
- EU-hosted; HDS certifiedsource
- Templates
- Built-in HTML editor with Paged.jssource
DocRaptor
- Free tier
- 5 docs a month; test docs freesource
- Entry paid plan
- $15 a month, 125 docssource
- Billing unit
- Per documentsource
- Retention by default
- Configurable, from as short as possible up to 7 days, encrypted in S3source
- Ways storage can be switched on
- Retention setting (docs suggest longer retention for debugging help)source
- Processing region
- AWS us-east-1 only (US)source
- Templates
- No visual editor foundsource
PDFMonkey
- Free tier
- 20 docs a month, plus a 30-day trial with 300source
- Entry paid plan
- €5 a month, 300 docssource
- Billing unit
- Per documentsource
- Retention by default
- 1 day on Free and Starter, 7 days on Prosource
- Ways storage can be switched on
- Longer by plan, up to unlimited on Pro+ and Premiumsource
- Processing region
- European serverssource
- Templates
- HTML / Liquid-style templatessource
APITemplate.io
- Free tier
- Free plan (volume not published)source
- Entry paid plan
- PDF-only from $19 (volume not published); Image+PDF $29 for 1,500source
- Billing unit
- Per documentsource
- Retention by default
- expiration=0, the default, stores the file on their CDN permanentlysource
- Ways storage can be switched on
- Storage is the default; set an expiration to limit itsource
- Processing region
- AWS, default Singapore; web and database in Singaporesource
- Templates
- Visual editor, HTML and Markdownsource
CraftMyPDF
- Free tier
- 50 docs a month, 3 templatessource
- Entry paid plan
- $29 a month, 1,200 docs, 6 templatessource
- Billing unit
- Per documentsource
- Retention by default
- export_type=file is not storedsource
- Ways storage can be switched on
- The s3 option stores until expirysource
- Processing region
- AWS; 4 regional endpoints (US, Europe, Singapore, Australia)source
- Templates
- Drag-and-drop editorsource
api2pdf
- Free tier
- One month of free creditsource
- Entry paid plan
- $1 a month plus usagesource
- Billing unit
- $0.001 per MB plus compute per secondsource
- Retention by default
- Files hosted 24 hours, then deletedsource
- Ways storage can be switched on
- Hosting is the default deliverysource
- Processing region
- Not published
- Templates
- Nonesource
| pagenull | PDFShift | Doppio | DocRaptor | PDFMonkey | APITemplate.io | CraftMyPDF | api2pdf | |
|---|---|---|---|---|---|---|---|---|
| Free tier | 100 renders a month, no card | 50 credits a month, no cardsource | 400 docs a month, no card, 1 templatesource | 5 docs a month; test docs freesource | 20 docs a month, plus a 30-day trial with 300source | Free plan (volume not published)source | 50 docs a month, 3 templatessource | One month of free creditsource |
| Entry paid plan | €9 a month, 3,000 renders | $9 a month, 500 creditssource | $16 a month, 4,000 docssource | $15 a month, 125 docssource | €5 a month, 300 docssource | PDF-only from $19 (volume not published); Image+PDF $29 for 1,500source | $29 a month, 1,200 docs, 6 templatessource | $1 a month plus usagesource |
| Billing unit | 1 render per PDF or screenshot up to 50 pages and 20 MB | 1 credit = 5 MB of outputsource | Per documentsource | Per documentsource | Per documentsource | Per documentsource | Per documentsource | $0.001 per MB plus compute per secondsource |
| Retention by default | None. Every response says pagenull-retention: none and carries a signed receipt | In memory, not storedsource | “Never stored”; isolated instance destroyed after rendersource | Configurable, from as short as possible up to 7 days, encrypted in S3source | 1 day on Free and Starter, 7 days on Prosource | expiration=0, the default, stores the file on their CDN permanentlysource | export_type=file is not storedsource | Files hosted 24 hours, then deletedsource |
| Ways storage can be switched on | None. Files can only be uploaded to your own storage (deliverTo) | filename or webhook store up to 2 days; log_request stores the raw requestsource | Not published | Retention setting (docs suggest longer retention for debugging help)source | Longer by plan, up to unlimited on Pro+ and Premiumsource | Storage is the default; set an expiration to limit itsource | The s3 option stores until expirysource | Hosting is the default deliverysource |
| Processing region | EU only (hosting provider not chosen yet) | OVH France; lists Sentry as a sub-processor under SCCssource | EU-hosted; HDS certifiedsource | AWS us-east-1 only (US)source | European serverssource | AWS, default Singapore; web and database in Singaporesource | AWS; 4 regional endpoints (US, Europe, Singapore, Australia)source | Not published |
| Templates | HTML with {{variables}}, dashboard preview, unlimited on every plan | None found (raw HTML or URL)source | Built-in HTML editor with Paged.jssource | No visual editor foundsource | HTML / Liquid-style templatessource | Visual editor, HTML and Markdownsource | Drag-and-drop editorsource | Nonesource |
Checked 3 Nov 2026. Vendors change plans often; check their pages before you decide.
Spot an error? Email corrections@pagenull.dev and we’ll correct it.