Hosted PDF API · Edge runtime

The PDF API that runs at the edge, not in a headless browser.

I run several SaaS businesses, and kept hitting the same wall: every stack is on the edge, but every PDF library wants a backend. Invoices, filled forms, signed contracts, inspection reports, receipts — it never seems like it'll be a big problem, until I sit down to do it.

Hosted PDF APIs charge $0.05 to $0.20 per document and bill you for render time. Headless Chrome on Lambda works until it doesn't. So I built this once, as a hosted API, and made it self-serve so you can too: PDFops fills and merges real PDFs deterministically on the V8 edge — no headless browser, no Lambda layer, no per-document render tax.

Try it in your browser → Get a free API key

curl · invoice-template.pdf
curl -X POST https://pdfops.dev/api/fill-form \
  -F "pdf=@invoice-template.pdf" \
  -F 'fields={"customer_name":"Acme Co","total":"$1,250.00"}' \
  -o filled.pdf

What it is, in four bullets

Try it

Zero friction. Copy, paste, run. 100 requests per IP per month are free with no key at all — grab a free API key (250/mo) on the pricing page when you outgrow that. No terminal handy? The playground, the free invoice generator, and the free field inspector run the same API from your browser.

Fill a PDF form

No fillable PDF on hand? Grab a sample invoice-template.pdf — the field names match the curl below verbatim.

POST /api/fill-form
curl -X POST https://pdfops.dev/api/fill-form \
  -F "pdf=@invoice-template.pdf" \
  -F 'fields={"customer_name":"Acme Co","total":"$1,250.00"}' \
  -o filled.pdf

The fields JSON keys must match AcroForm field names that already exist in your PDF — customer_name and total in the sample above. Bring a template with named form fields you authored in Acrobat / Preview / LibreOffice, or use the sample to see the round-trip first.

Merge PDFs

POST /api/merge
curl -X POST https://pdfops.dev/api/merge \
  -F "pdf=@part1.pdf" \
  -F "pdf=@part2.pdf" \
  -F "pdf=@part3.pdf" \
  -o merged.pdf

Full request/response schemas live in the docs. Calling from code? Per-language guides: fill a PDF in Python, in Node.js, or in JavaScript. For end-to-end patterns — invoices, contracts, reports — see the use cases.

Plans

The anonymous trial — 100 requests per IP per month, no signup — is what the playground and the curl above run on. Building for real? Pick a plan:

Free

$0

250 requests / mo

  • API key emailed to you — no card
  • All endpoints
  • Hard stop at the ceiling (429)

Get Key

Pro

$79/mo

25K requests / mo

  • Hard stop at the ceiling (429)
  • Mid-month raise? Reply to your key email
  • Priority email support

Buy

Enterprise

Custom

Volume · SLA

  • Custom quotas & endpoints
  • Priority support
  • Negotiated terms

Coming from a different hosted PDF API? vs DocRaptor · vs PDFShift · vs PDFMonkey

Filling a government form? The form compatibility registry has tested field schemas and quirks for the W-9, W-4, 1040 and more.

Get a free API key →

Email us

or write hello@pdfops.dev directly