PDF generation, built for developers.

Design templates with a visual editor. Render production PDFs with one REST call. No headless Chrome. No surprises.

POST /api/v1/render 200 OK · 412ms
$ curl -X POST https://airpdf-app.it/api/v1/render \
  -H "Authorization: Bearer atl_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "invoice",
    "data": {
      "customer": {"name": "Acme Inc."},
      "items": [{"label": "Pro plan", "amount": 99}]
    }
  }' -o invoice.pdf

→ 200 OK · application/pdf · 18 KB · 412ms
Acme Inc.
123 Market St, SF
INVOICE
Nº 2026-0042
Apr 27, 2026
Bill to
Acme Inc.
VAT IT01234567890
Item Amount
Airpdf — Pro plan $99.00
Premium support $29.00
Total $128.00
Thank you. Payment due Apr 30, 2026.

<500ms

render p95

99.95%

uptime SLA

8M+

PDFs / month

SOC 2

on roadmap

Trusted by developers at

Acme Corp TechFlow Contoso Northwind Fabrikam DevCraft

“Stop fighting headless Chrome. Templates should be data, not screenshots.”

Airpdf · design principle

Product

Everything your team needs to ship PDFs.

A visual editor your designers can use. A stable REST API your engineers integrate in minutes. One workspace, built to scale.

Start for free

Visual editor + JSON schema

Drag-and-drop palette, canvas, property panel, variables manager — or switch to raw JSON. Live PDF preview, debounced 500ms.

Safe by design

No JSX eval. No headless browser. No runtime font fetches. A typed JSON tree → predictable, sandboxed, fast.

Scaled rendering

Stateless Node renderer pool. Sync under 25s, async via webhooks for heavy reports. Idempotent retries on transient errors.

Multi-tenant isolation

Every workspace is a dedicated Postgres schema. Per-tenant API keys, quotas, and audit log. Scoped from the ground up.

Bring your own storage

Service-managed bucket or connect your own S3 / R2 / Wasabi / MinIO. Credentials encrypted at rest with AES-GCM. Presigned URLs by default.

Pay per render

Free tier + three paid plans + transparent overage pricing. Test renders never count against your live quota.

Workflow

Three steps. From idea to production.

01

Design

Open the editor. Pick a starter or build from scratch. Drop pages, text, tables, images. Define variables with JSON Schema.

02

Integrate

Generate an API key. Call POST /api/v1/render with the template slug and your data payload.

03

Scale

Sub-second render p95. Async queue for heavy reports. Real-time usage dashboard, signed webhooks, full audit log.

Architecture

Five layers. One platform. Open at every layer.

Every layer is documented, observable, and replaceable. No black box. Click through to see how each piece fits.

Visual editor + JSON schema

Designers build templates with drag-and-drop. Engineers consume the same JSON tree at the API. No CSS surprises, no broken layouts in production.

  • Live PDF preview, debounced 500ms
  • Inspector overlay with box-model dimensions
  • Undo/redo, duplicate, before/after drag insertion
  • Variables manager with JSON Schema validation
Read the editor docs

A REST API that explains itself

One endpoint to render. One to poll. Two to introspect. Stable error codes, idempotency keys, rate-limit headers.

  • Sync under 25s; async via webhooks for heavy reports
  • Per-key environment isolation (live / test)
  • Plan-aware rate limits + monthly quota
  • OpenAPI spec, 12 official SDKs
API reference

Stateless Node renderer pool

No headless Chrome. No JSX eval. A typed JSON tree compiled by react-pdf on a stateless pool — predictable, sandboxed, fast.

  • p95 under 500ms for typical documents
  • Renderer version pinning per template
  • Health-checked Finch pool with circuit breaker
  • Whitelisted fonts + per-template asset cache
How rendering works

Bring your own bucket

Default to our service-managed Wasabi bucket, or connect your own S3-compatible storage and keep everything inside your perimeter.

  • S3 / R2 / Wasabi / MinIO supported
  • Credentials encrypted at rest with AES-GCM
  • Presigned URLs by default, configurable TTL
  • Per-tenant lifecycle rules
Storage guide

Signed event delivery

Async renders push their result back to your endpoint with HMAC-SHA256 signatures. Replay protected. Easy to verify in any language.

  • HMAC-SHA256 signed payloads
  • Replay protection via X-Airpdf-Timestamp
  • Verification helpers in every official SDK
  • Retries planned for v1.1 — single-attempt today
Webhooks docs

“The best API is the one you don't have to read the docs for. The second-best is documented end-to-end.”

Airpdf · developer experience

Developers

An API that explains itself.

Clean REST. Consistent error codes. Idempotency keys. Rate-limit headers. HMAC-signed webhooks. Works everywhere.

  • Sync response within 25s; async for heavy renders
  • Idempotent retries on 5xx and timeouts
  • HMAC-SHA256 signed webhooks on completion
  • Separate live / test key environments
  • Per-plan rate limits + transparent monthly quota
sdk · v0.1.0
import Airpdf from "@airpdf/sdk";

const client = new Airpdf(process.env.AIRPDF_API_KEY);

const pdf = await client.render({
  template: "invoice",
  data: {
    customer: { name: "Acme Inc." },
    items: [{ label: "Pro plan", amount: 99 }],
  },
  response: "binary",
});

await fs.writeFile("invoice.pdf", pdf);
// → 412ms · 18 KB · application/pdf

Pricing

Simple. Pay as you grow.

Slide to your monthly volume — we'll highlight the best plan and the exact cost.

PDFs per month 2,000
02501.5k5k15k50k+

Free

Try the API.

$0 / month
  • 50 PDFs / month
  • 5 templates
  • 1 API key
  • 100 MB storage
  • Community support
Start free

Starter

Side projects.

$9 / month
  • 250 PDFs included
  • $0.015 / extra PDF
  • 10 templates · 3 keys
  • 500 MB storage
  • Bring your own S3
  • Email support
Choose Starter

Growth

Indie SaaS.

$24 / month
  • 1,500 PDFs included
  • $0.010 / extra PDF
  • 50 templates · 10 keys
  • 5 GB storage
  • Bring your own S3
  • Email support 48h
Choose Growth

Business

Growing SaaS.

$49 / month
  • 5,000 PDFs included
  • $0.006 / extra PDF
  • Unlimited templates
  • 25 GB storage
  • Signed webhooks
  • Email support 24h
Choose Business

Scale

High-volume products.

$99 / month
  • 15,000 PDFs included
  • $0.004 / extra PDF
  • Priority queue
  • 100 GB storage
  • Multi-region
  • Email support 12h
Choose Scale

Enterprise

50k+ PDFs / month

Dedicated rendering nodes, 99.95% SLA, SSO, audit log, custom contracts, dedicated Slack channel.

Talk to us

Up to 3× cheaper than DocRaptor on every tier. Taxes excluded. Monthly billing. Cancel anytime.

“Predictable cost. No throttling surprises. Every renderer call accountable to a single line on your bill.”

Airpdf · pricing principle

FAQ

Common questions.

How does pay-as-you-go work? +
Each plan includes a monthly PDF quota. Beyond the quota, you pay only for PDFs you actually generate at your plan's per-PDF rate. No commitment, no surprise bills.
Can I use my own S3 bucket? +
Yes. From Settings → Storage, connect any S3-compatible bucket (AWS S3, Cloudflare R2, Wasabi, MinIO). PDFs upload directly; presigned URLs point to your domain. Credentials encrypted at rest.
How fast is rendering? +
Render p95 under 500ms for typical documents. For large catalogs with many images, use async mode — up to 50MB output supported.
How is this different from HTML→PDF services? +
No headless Chrome. No broken CSS. No fonts fetched at runtime. Airpdf uses a declarative typed JSON renderer — faster, more predictable, fully sandboxed.
Can I version templates? +
Every save creates a new version. Roll back with one click, or pin the API to a specific version number for production stability.
Is there a dev / staging environment? +
Yes. API keys are separate per environment (live vs test). Test renders don't count against your live quota.
What happens when I exceed quota? +
Paid plans: extras billed at per-PDF rate. Free plan: the API returns 402 until the month rolls over. No hidden throttling.

Ship your first PDF
in five minutes.

50 free PDFs every month, forever. No credit card required. Workspace ready in 30 seconds.