- HTML to PDF APIConvert HTML and URLs into PDFsExtract PDF Form Data APIEasily extract data from PDFsWatermark PDF APIAdd custom watermarks to PDFsProtect PDF APISecure your PDFs with passwordCompress PDF APIReduce file size without losing qualityFlatten PDF APIFlatten PDFs to make form permanentDigital Signature APISend documents for signing
- API DocumentationAPI DocumentationFull REST API referenceNodeJS SDKClient library for Node.jsJava SDKClient library for JavaC# SDKClient library for C#PHP SDKClient library for PHPPython SDKClient library for Python
- Pricing
- Contact Us

PDFGate vs PDFShift
Two Chrome-based HTML to PDF APIs with a different scope: forms, PDF processing, and e-signatures vs async delivery and image output.
Last reviewed: October 3, 2026
Same Chrome rendering
Both APIs render with a Chrome-based engine, so pages with modern JavaScript convert accurately on either. The differences are in what each API does around the conversion.
From generation to signature
PDFGate adds fillable form fields, processing of existing PDFs, and e-signatures to the same API. PDFShift focuses on converting HTML to PDF and images.
More conversions on mid-tier plans
PDFGate's Starter and Basic plans include 3,000 and 10,000 conversions for $20 and $50. PDFShift's Boost and Growth plans include 2,500 and 5,000 credits for $24 and $39.
Which one should you choose?
PDFGate's HTML to PDF API and PDFShift both convert HTML and URLs to PDF with a Chrome-based engine, so rendering quality is similar. The difference is what surrounds the conversion: PDFGate adds fillable forms, processing of existing PDFs, and e-signatures, while PDFShift adds asynchronous delivery to cloud storage, image output, and a HIPAA mode.
Choose PDFGate if
- You need fillable PDF form fields generated from HTML.
- You want to send documents for e-signature from the same API and account.
- You need to process existing PDFs: compress, flatten, watermark, protect, or extract form data.
- You convert third-party URLs and need to click through cookie banners or pop-ups.
- You want generated PDFs stored for you, with download links.
- You generate a few thousand documents a month and want a lower price per document.
Choose PDFShift if
- You need asynchronous conversion with webhooks.
- You want PDFs delivered directly to Amazon S3 or Google Cloud Storage.
- You need HIPAA compliance, with a Business Associate Agreement.
- You want a free plan for low volumes.
- You also need PNG, JPEG, or WebP output.
- You prefer that documents are not stored on the provider's servers.
Comparing more options? See our roundup of the Best HTML to PDF APIs in 2026, where we compare more tools side by side.
Same engine, different scope
PDFGate renders with Chrome and PDFShift with Chromium, the open-source project Chrome is built on. In practice, both produce PDFs that match what you see in the browser, including pages built with JavaScript frameworks and chart libraries.
Both APIs also give you similar controls for dynamic pages. PDFGate waits for a CSS selector, for the network to go idle, or for a fixed delay. PDFShift waits for a JavaScript function to return true, for the network to go idle, or for a fixed delay.
The real difference is scope. PDFShift is a focused conversion API with flexible delivery options. PDFGate covers the rest of the document workflow in the same API: fillable forms, processing existing PDFs, and collecting e-signatures.
Feature comparison
"Not listed" means we did not find the feature on PDFShift's website when we reviewed it. For everything PDFGate offers, see the HTML to PDF API page.
HTML to PDF rendering
| Feature | PDFGate | PDFShift |
|---|---|---|
| Rendering engine | Chrome | Chromium |
| Convert a URL or raw HTML | Both | Both |
| Wait for dynamic content | CSS selector, network idle, or delay up to 20 seconds | JavaScript function, network idle, or delay up to 10 seconds |
| Inject CSS and JavaScript | Yes | Yes |
| Headers, footers, and page numbers | Header and footer templates | Header and footer templates |
| Click through cookie banners and pop-ups | Click selectors and selector chains | Not listed |
| Pages behind authentication | Basic authentication and custom HTTP headers | Basic authentication, HTTP headers, and cookies |
| Fillable PDF form fields | From HTML inputs, including signature fields | Not listed |
| Password protection and permissions | Protect PDF endpoint | During conversion |
| Watermarks | Watermark PDF endpoint, text or image | During conversion, text or image |
| Image output | PDF only | PNG, JPEG, and WebP |
Beyond generation
| Feature | PDFGate | PDFShift |
|---|---|---|
| E-signatures | Envelopes, recipients, and audit trail | Not listed |
| Compress and flatten existing PDFs | Compress and flatten endpoints | Not listed |
| Extract form data from PDFs | Extract form data endpoint | Not listed |
Platform and developer experience
| Feature | PDFGate | PDFShift |
|---|---|---|
| Asynchronous generation with webhooks | Synchronous requests | Webhooks on paid plans |
| Maximum processing time | Page load timeout up to 15 minutes | 15 minutes on paid plans, 30 seconds on the free plan |
| Document storage and delivery | Stored up to 2 years, with pre-signed URLs | Amazon S3, Google Cloud Storage, or a temporary URL |
| Free test mode | Sandbox environment and API keys, watermarked output | Sandbox parameter, watermarked output |
| SDKs | Node.js, Python, PHP, Java, C# | Node.js, Python, PHP, Ruby, Go, C# |
| No-code integrations | Zapier, Pabbly Connect, Integrately, viaSocket | Zapier, Make, n8n, Bubble, Clay, and others |
| MCP server for AI agents | Yes | Yes |
Trust and compliance
| Feature | PDFGate | PDFShift |
|---|---|---|
| Uptime | 99.9% uptime target | 99.99% uptime stated |
| Compliance | GDPR, with a Data Processing Agreement | GDPR with a DPA, and HIPAA with a BAA |
| Hosting | AWS in the EU (Frankfurt) | EU customer data in France (OVH) |
Pricing
Monthly prices for the first three paid plans. Cost per document is the monthly price divided by the included documents, calculated by us.
PDFGate
| Plan | Price / month | Documents / month | Cost per document |
|---|---|---|---|
| Personal | $9 | 500 | $0.018 |
| Starter | $20 | 3,000 | $0.0067 |
| Basic | $50 | 10,000 | $0.005 |
PDFShift
| Plan | Price / month | Documents / month | Cost per document |
|---|---|---|---|
| Starter | $9 | 500 | $0.018 |
| Boost | $24 | 2,500 | $0.0096 |
| Growth | $39 | 5,000 | $0.0078 |
- PDFShift also offers a free plan with 50 credits per month, a 15 MB file limit, and a 30-second timeout.
- PDFShift uses one credit per document for every 5 MB of output, so large PDFs use more than one credit.
- Overage on these plans is $0.04, $0.03, and $0.025 per credit on PDFShift, and $0.05, $0.02, and $0.02 per conversion on PDFGate.
- PDFGate has no free plan; every plan starts with a 14-day free trial.
- PDFGate counts conversions across all PDF endpoints, including generation, compression, and watermarking. Failed requests and sandbox requests are not counted.
Migrating from PDFShift to PDFGate
Both APIs accept a JSON POST request with similar options, so most integrations move over by renaming fields.
| PDFShift | PDFGate |
|---|---|
POST https://api.pdfshift.io/v3/convert/pdf | POST https://api.pdfgate.com/generate/pdf |
X-API-Key header | Authorization: Bearer YOUR_API_KEY |
source (HTML) | html |
source (URL) | url |
sandbox: true | Send requests to https://api-sandbox.pdfgate.com with a sandbox API key |
format | pageSizeType, or width and height |
landscape: true | orientation: "landscape" |
margin | margin |
zoom | scale |
pages | pageRanges |
use_print: true | emulateMediaType: "print" |
wait_for | waitForSelector |
delay | delay |
css and javascript | css and javascript |
header and footer | header and footer, with margin.top and margin.bottom |
auth | authentication |
http_headers and cookies | httpHeaders, with a Cookie header for cookies |
lazy_load_images | loadImages |
protection | Protect PDF endpoint |
watermark | Watermark PDF endpoint |
- PDFShift's wait_for waits for a JavaScript function to return true. PDFGate's waitForSelector waits for a CSS selector, so have your page add an element once it is ready.
- Watermarks and password protection are separate PDFGate endpoints that you call with the generated PDF. Each call counts as a conversion.
- PDFGate does not offer webhooks or direct delivery to cloud storage for generation. Requests are synchronous; set jsonResponse to true to receive a download URL instead of the file.
PDFShift request
1curl -X POST https://api.pdfshift.io/v3/convert/pdf \2 -H "X-API-Key: YOUR_PDFSHIFT_API_KEY" \3 -H "Content-Type: application/json" \4 -d '{5 "source": "https://example.com/invoice/42",6 "format": "A4",7 "use_print": true8 }' \9 -o output.pdfPDFGate request
1curl -X POST https://api.pdfgate.com/generate/pdf \2 -H "Authorization: Bearer YOUR_API_KEY" \3 -H "Content-Type: application/json" \4 -d '{5 "url": "https://example.com/invoice/42",6 "pageSizeType": "a4",7 "emulateMediaType": "print"8 }' \9 -o output.pdfInformation about PDFShift comes from its public website and was last reviewed on October 3, 2026. Features and prices may have changed since then.
Frequently Asked Questions
Yes, especially if you need more than conversion. Both use Chrome-based rendering, and PDFGate adds fillable form fields, processing of existing PDFs, and e-signatures. If you depend on webhooks, delivery to cloud storage, image output, or HIPAA mode, PDFShift is the better fit.
Both use a Chrome-based engine: PDFGate uses Chrome and PDFShift uses Chromium. Rendering results are similar, including for pages that rely on modern JavaScript.
Both start at $9 per month for 500 documents. On the next two plans, PDFGate includes 3,000 and 10,000 conversions for $20 and $50, while PDFShift includes 2,500 and 5,000 credits for $24 and $39. PDFShift also has a free plan with 50 credits per month.
No. PDFGate generates PDFs synchronously and returns the file, or a download URL when you set jsonResponse to true. Generated files are stored in PDFGate according to your retention settings.
Rename the request fields as shown in the migration table, switch the API key header to a Bearer token, and replace wait_for with waitForSelector. If you use watermarks or password protection, call the Watermark PDF or Protect PDF endpoint after generating the PDF.

Start building with PDFGate today
Generate PDFs, send documents for signature, and automate your document workflows in minutes.
Free trial · No credit card required