Airpdf docs

Airpdf documentation

PDF generation infrastructure for modern SaaS — JSON-tree templates, REST API, customer-owned storage.

Why Airpdf

  • Visual editor for templates with live PDF preview (REPL-style JSX → JSON tree).
  • Multi-tenant SaaS: every workspace gets its own API keys, templates, storage routing.
  • 2-6× cheaper than DocRaptor on every tier.
  • Customer-owned storage (Bring Your Own S3 / R2 / MinIO / Wasabi).
  • 12 official SDKs, hand-crafted for the four most popular (Node, Python, Go, Ruby).
  • Webhook delivery with HMAC-SHA256 signature + replay protection.

Where to start

Just looking around?

Read the Quickstart — render your first PDF in 5 minutes.

Ready to integrate?

Follow the Integration guide. It walks you from signup to production-ready setup.

Looking for the API spec?

The REST API reference has every endpoint, request/response shape, and error code. A Postman collection and OpenAPI 3.1 spec are also published.

Building with a specific language?

Browse the SDK catalogue — Node, Python, Go, Ruby (Tier 1, fully maintained), plus 8 more languages in preview.

Concept overview

Concept What
Workspace (tenant) Isolated environment with its own users, templates, API keys, storage
Template A JSON-tree document definition (Document → Page → View / Text / Image / List). Identified by a slug.
API key Bearer token, two environments per workspace: airpdf_test_* (sandbox) and airpdf_live_* (production)
Render request A single POST /api/v1/render call. Sync (PDF in body) or async ({id, poll_url} + webhook on completion)
Variables schema JSON Schema attached to each template, validates the data field of incoming render requests
Storage routing Airpdf uploads PDFs to its managed Wasabi bucket by default. Customers can provide their own S3-compatible bucket.
MonthlyUsage Counter that resets every billing cycle. Used for plan quota enforcement and overage billing.

Get help

  • 📧 hello@airpdf.app — we reply within 24h on paid plans
  • 🟢 Status page — live system health
  • 💬 GitHub Discussions on each SDK repo

Spotted a typo or stale claim? Open an issue or ping us in the workspace — docs are versioned with the product.