Send HTML, get pixel-perfect PDF.

Chromium rendering engine with full CSS3/Flexbox/Grid support. Enterprise-grade security for production-ready PDF generation.

$ curl -X POST /api/pdf/generate-from-html \
  -H "Authorization: Bearer sk-xxxxx" \
  -d '{"html":"<h1>Hello</h1>"}'

{
  "success": true,
  "data": {
    "download_url": "https://...pdf",
    "file_size": 45321
  }
}

Everything you need for PDF generation

Building a PDF conversion API from scratch means handling authentication, rate limiting, storage, and cleanup. FUNBREW PDF provides it all in one package.

Dual-Engine PDF Generation Chromium-powered
Switch between Chromium (full CSS3) and wkhtmltopdf (fast) in a single API. Send HTML and get pixel-perfect PDFs with Flexbox/Grid support.
Template Editor
CodeMirror editor with syntax highlighting, real-time preview, and one-click snippet insertion. Build invoices and certificates right in your browser.
Enterprise Security 2FA enabled
Two-factor authentication (TOTP), API key scopes, IP restrictions, and audit logs. Enterprise-grade security out of the box.
Webhooks & Real-time Notifications 3 events
Three events: pdf.generated, pdf.downloaded, pdf.expired. Auto-converts to Slack Block Kit for direct channel notifications.
Analytics Dashboard
Source breakdown, hourly heatmap, download trends. Visualize your PDF usage to optimize costs and workflows.
Scoped API Keys
Fine-grained permissions per key: generate, download, manage, template. SHA256 hashed and securely stored.
Monthly generation limits
Automatic monthly quota management. Email alerts at 80%/90%/100% with upgrade prompts.
Expiry & download limits
Set expiration time and download count limits on generated PDFs. Expired files are auto-deleted.
Email & Slack notifications
Send PDFs as email attachments or notify via Slack on generation. One API call from generation to delivery.
S3 storage integration
Auto-upload to AWS S3 or S3-compatible storage like Wasabi. Manage PDFs in your own bucket.
IP restrictions
Set IP whitelists per company. CIDR notation supported for office network-level control.
Management dashboard
API keys, templates, snippets, webhooks, storage, and member management — all from the web dashboard.

Works in a few lines

POST your HTML and get a download URL back as JSON.

Request
curl -X POST https://pdf.funbrew.tech/api/pdf/generate-from-html \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"html": "<h1>Hello</h1>", "options": {"page-size": "A4", "engine": "quality"}}'
Response
{
  "success": true,
  "data": {
    "filename": "a1b2c3d4-e5f6-...-7890.pdf",
    "download_url": "https://api.example.com/api/pdf/download/a1b2c3d4-...",
    "file_size": 45321,
    "expires_at": "2026-03-20T12:00:00.000000Z",
    "max_downloads": 10,
    "remaining_downloads": 10
  }
}

Used in scenarios like these

Instead of building PDF generation yourself, let the API handle it. Just add a few lines to your existing system.

Automated invoice & estimate generation

Feed order data from your accounting system into a template and send it to the API. Generation, storage, and expiry management are all handled API-side.

// 請求テンプレートにデータを埋めてPDF化
const html = renderInvoice(order);

const res = await fetch("/api/pdf/generate-from-html", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    html,
    options: { "page-size": "A4" },
    expiration_hours: 168, // 7日間有効
    email: {              // PDF添付メール送信
      to: order.email,
      subject: "請求書をお送りします",
    },
  }),
});

Scheduled internal report generation

Pass a dashboard URL to the API to capture it as a PDF. Combine with cron to deliver daily reports to Slack automatically.

# 毎朝9時にダッシュボードをPDF化してSlack通知
res = requests.post(
    f"{API_BASE}/api/pdf/generate-from-url",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "url": "https://bi.internal/dashboard/daily",
        "options": {"page-size": "A3"},
    },
)
pdf_url = res.json()["data"]["download_url"]
slack.post(channel, f"日次レポート: {pdf_url}")

Dynamic user-facing document generation

Contracts, certificates, insurance policies — generate unique PDFs per user. Download limits prevent link sharing, and expired files are auto-deleted.

// ユーザーごとの証明書PDFを生成して返す
$html = view('certificate', [
    'user' => $user,
    'course' => $course,
    'issued_at' => now(),
])->render();

$res = Http::withToken($apiKey)
    ->post("{$apiBase}/api/pdf/generate-from-html", [
        'html' => $html,
        'max_downloads' => 3,   // 3回まで
        'expiration_hours' => 72,
    ]);

return $res->json('data.download_url');

Web page archiving

Save point-in-time snapshots of web pages as PDFs. Just send the URL — no scraping or headless browser management needed.

// URLのリストをまとめてPDF化
const urls = [
  "https://example.com/product/123",
  "https://example.com/product/456",
];

const results = await Promise.all(
  urls.map((url) =>
    fetch("/api/pdf/generate-from-url", {
      method: "POST",
      headers: {
        "Authorization": `Bearer ${API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ url }),
    }).then((r) => r.json())
  )
);

results.forEach((r) => console.log(r.data.download_url));

Getting started

  1. Create a company accountChoose a plan and register your company from the admin panel.
  2. Generate an API keyIssue a key from the company detail page. The raw key is shown only once.
  3. Call the APIPOST HTML or a URL with a Bearer Token. You'll get a PDF download URL back.

Pricing

5 plans based on monthly generation volume. All prices exclude tax.

FreeStarterBasicStandardEnterpriseEnterprise Pro
Monthly$0$15$39$79$399$1,499〜
PDFs / month302005001,00010,000Unlimited
Chromium Engine (CSS3)
Templates13510UnlimitedUnlimited
Webhook / Slack
Batch / Merge
S3 Storage
InfrastructureSharedSharedSharedSharedSharedDedicated
SupportEmailEmailEmailPriority emailPriority emailDedicated + SLA
Start freeGet startedGet startedGet startedGet startedContact us

Free plan requires no credit card. You can change plans anytime from the dashboard.

We help you integrate the API

FUNBREW Inc., the company behind FUNBREW PDF, is a systems development company. From API integration to workflow automation, we provide end-to-end support.

View use cases
API integration into existing systems
We integrate the PDF generation API into your core systems, CRM, e-commerce, and more. Language and framework agnostic.
Template design & development
We design and build HTML/CSS templates for invoices, contracts, reports, and other business documents.
Workflow automation
We automate the entire flow — PDF generation to email to Slack to S3 — tailored to your business.
Operations & maintenance support
Ongoing monitoring, troubleshooting, and feature requests after deployment.

Try it for free

Free plan includes 30 PDFs/month. Integration support available.