100 free credits · No card required

PDFs for developers. Not headaches.

Generate, merge, split, watermark, extract. Every PDF operation is one API call. Replace five libraries with one endpoint.

TypeScript + Hono Open source SDK Sub-200ms response
$ npm install pdfbase
generate.ts

import PDFBase from 'pdfbase'

const client = new PDFBase('pk_live_...')

const pdf = await client.pdfs.create({

html: '<h1>Invoice #1042</h1>',

compress: 'medium',

watermark: { text: 'PAID' },

output: 'url'

})

// pdf.id → 'pdf_x7Kf9m'

// pdf.url → signed URL, 24h expiry

// pdf.pages → 3

// pdf.bytes → 48201

200 OK 184ms · 3 pages · 47KB

2.4M+

PDFs generated

184ms

Avg response time

99.97%

Uptime last 90 days

850+

Developer teams

“We replaced Puppeteer, pdf-lib, and a custom queue system with one PDFBase call. Saved us two sprints of infrastructure work.”

MR

Marcus Reynolds

Lead Engineer, Docflow

“The debug mode alone is worth it. Being able to see exactly why a PDF render failed — screenshot, console logs, failed assets — is a game changer.”

SK

Sarah Kim

CTO, InvoiceStack

“We hooked PDFBase into our AI agent via MCP and it just worked. Our agent generates client reports autonomously now. Zero prompt engineering needed.”

JT

James Thornton

Founder, AgentOps

Five libraries. 400MB of Docker bloat.

Before

$ npm install puppeteer

$ npm install pdf-lib

$ npm install tesseract.js

$ npm install @gotenberg/client

$ npm install handlebars

5

dependencies

400MB

Chromium binary

20h+

to production

5

APIs to learn

After

$ npm install pdfbase

That's it. That's the stack.

Zero infrastructure to manage
Full Chromium rendering — no CSS hacks
One SDK, every operation
30 seconds to first PDF

$0.01

per PDF. Failed requests are free.

Every operation. One endpoint each.

POST /v1/pdfs

Generate

Send HTML or a URL, get a pixel-perfect PDF back. Full Chromium rendering — CSS Grid, Flexbox, web fonts, JavaScript. Everything works exactly like your browser.

wait_until: networkidle debug: true compress: medium
POST /v1/templates/:id/render

Templates

Save HTML + Handlebars once. Render with JSON data. Invoices, contracts, reports — at any scale.

{"customer": "Acme",
 "items": [...]}
POST /v1/pdfs/merge

Merge & Split

Combine multiple PDFs into one. Split by page ranges. Reorder pages.

A
B
AB
POST /v1/pdfs/watermark

Watermark

Stamp text or images on existing PDFs. Configurable opacity, position, rotation.

CONFIDENTIAL
POST /v1/extract

Extract + OCR

Pull text, tables, and structured data. OCR for scanned documents. Feed directly to your LLM.

PDF
JSON
POST /v1/convert

Office to PDF

Send DOCX, XLSX, PPTX. Get pixel-perfect PDFs. No LibreOffice to deploy.

.docx
.xlsx
.pptx
POST /v1/batch

Batch Processing

Queue thousands of PDFs in one call. Webhook when done. Idempotency keys prevent duplicates.

bat_8fK2mA · 2,400 / 2,400 done
POST /v1/pdfs/thumbnail

Thumbnails

Generate PNG previews of any PDF page. Perfect for file browsers, search results, dashboards.

Debug mode

Screenshot + console log + failed resources on every generation

Chromium pinned

Exact version documented. No rendering drift between deployments

Request replay

Replay any request from the dashboard. Debug production without code

Built for agents from day one.

Agents don't read READMEs or configure Docker. They call APIs. PDFBase is built for that world — MCP server included, every response is structured, every error is typed.

JSON in, URL out
Idempotent
Retry-safe
OpenAPI spec
HMAC webhooks
MCP server
1

Add the MCP server

$ claude mcp add pdfbase
2

Agent discovers tools automatically

Your AI reads the OpenAPI spec. Every endpoint becomes a callable tool — zero config.

3

Agent calls PDFBase like any tool

"tool": "pdfbase_create"

"html": "<h1>Invoice</h1>..."

{ "url": "https://cdn.pdfbase.dev/pdf_x7K..." }

Pay per PDF. Nothing else.

Prepaid credit packs. No subscriptions, no overage fees. Buy once, use whenever. Credits valid 12 months.

Starter

$10

1,000 credits

$0.01 per credit
All endpoints
Webhooks
100 req/min
Start free

Scale

$200

25,000 credits save 25%

$0.008 per credit
Everything in Growth
Email support
Dedicated capacity
Talk to us

Start with 100 free credits. No credit card required.

Questions before you commit.

Is my data secure?
All API traffic is encrypted via TLS 1.3. Your PDFs are stored on encrypted volumes with signed URLs that expire in 24 hours. We never access, read, or train on your documents. You can also skip storage entirely and receive the PDF bytes directly in the response.
How reliable is the API?
We run on dedicated containers with warm Chromium instances — no cold starts. Average response time is under 200ms for simple documents. Status page is public at status.pdfbase.dev with real-time uptime tracking.
What happens when I run out of credits?
API calls return a clear 402 error — nothing breaks silently. You can set up auto-refill to automatically buy your preferred credit pack when you hit a threshold. Dashboard shows real-time usage so you’re never surprised.
Can I migrate away if I need to?
No lock-in. Your templates are plain HTML + Handlebars files you own. The API follows standard REST patterns — swapping to another provider means changing one HTTP endpoint. We don’t want you to stay because you’re trapped. We want you to stay because it’s better.
Why not just self-host Puppeteer?
You absolutely can — and for one template under 100 PDFs/month, you probably should. But once you need browser pooling, queue management, retry logic, storage, webhooks, and rendering across Chromium versions that don’t randomly break your CSS, the infrastructure tax adds up fast. That’s what we handle.
Do failed requests cost credits?
No. If a request fails for any reason — bad HTML, timeout, server error — you pay nothing. Only successful PDF generations deduct credits.

Your first PDF in 30 seconds.

100 free credits. No credit card. No Docker. No Chromium flags.