Welcome Back

Sign in to access your documents and signatures

or continue with email
Forgot password?
REST API · v1 Stable

Build PDF processing into your product

One API, one key, one bill. Compress, merge, split, OCR, and more — from your application to your users in minutes.

Endpoints

Four production endpoints today, more rolling out monthly. All share the same auth and rate-limit model.

POST

/v1/compress

Compress a PDF using Ghostscript when available, with an FPDI fallback. Returns a signed download URL.

POST

/v1/merge

Merge 2–20 PDFs into a single document in upload order.

POST

/v1/split

Split a PDF into one or more parts by page ranges. Each part is returned with its own signed download URL.

POST

/v1/ocr

Extract text from an image using Tesseract OCR. Supports 20+ languages.

POST

/v1/convert Coming soon

Convert between PDF and Word, Excel, PowerPoint, JPG, or HTML.

POST

/v1/sign Coming soon

Create legally-binding e-signature requests with webhooks.

Simple, transparent pricing

Pay for throughput, not features. Every plan includes every endpoint.

Free

For prototypes and side projects.

$0

No credit card required

10 requests / hour

  • Unlimited keys per account
  • All v1 endpoints
  • Up to 25 MB per file
  • Community support
Start free

Business

For high-volume production.

$49/mo

Billed monthly

5,000 requests / hour

  • Everything in Premium
  • Up to 200 MB per file
  • Team seats included
  • Priority support (24h SLA)
Upgrade to Business

Enterprise

For regulated workloads.

Custom

Pricing on request

Unlimited

  • Dedicated infrastructure
  • 99.9% SLA
  • SSO / SAML
  • DPA & on-premise option
Contact sales

What's included

Production-ready features baked into every plan.

🔑

Multiple API keys

Issue separate live and test keys. Rotate or revoke any key instantly from your dashboard.

Sub-second latency

Lightweight router, native Ghostscript & Tesseract paths, signed-URL downloads. No queueing for typical files.

📊

Usage analytics

Every call logged with endpoint, status, bytes, and timestamp. Aggregate views per day and per key.

🔒

Hashed key storage

Only SHA-256 hashes are stored. Plaintext is shown once on creation and never again.

Frequently asked

How are rate limits enforced?

By default, an APCu in-memory counter increments on every authenticated call and is bucketed per hour. If APCu is unavailable we fall back to counting rows in api_usage over the last hour.

What happens to my files?

Processed files are written to a private upload directory and served via short-lived (15-minute) HMAC-signed download URLs. Files are auto-purged after roughly an hour by the existing temp-file cron.

Can I run the API alongside the web UI?

Yes. The public API lives under /api/v1/ and is fully separate from the internal /api/ endpoints used by the web UI. Existing integrations are unaffected.

Do test keys count toward my rate limit?

Yes. Test keys are an organisational convenience, not a billing distinction. Both live and test keys share the same per-user rate-limit bucket.

What about webhooks and async jobs?

All v1 endpoints are synchronous — they return when processing finishes. Webhook delivery for long-running jobs (e-signature, large conversions) ships with v2.

Ready to ship?

Generate a free key, send your first request, and see your usage roll in. No credit card required.

Get started for free Read the docs
WHAT A PDF! for Gmail - Chrome Extension

Open PDF attachments from Gmail directly in WHAT A PDF!. Edit, sign, and convert your PDFs instantly!

Install Free Extension

Wait — don't miss out!

Subscribe for free PDF tips, new tools, and feature updates delivered to your inbox.

No spam ever. Unsubscribe anytime.