Enterprise PDF Generation API

Enterprise PDF
Generation API

Generate professional PDFs from HTML or templates in milliseconds. Built for developers, trusted by businesses.

$

200 free PDFs every month — no credit card required

<2s
Generation
99.9%
Uptime SLA
70+
Helpers
1M+
Capacity/Month
generate-invoice.js
const response = await fetch('https://api.fileloom.io/v1/generate', {
  method: 'POST',
  headers: {
    'X-API-Key': process.env.FILELOOM_API_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    templateId: 'tmpl_invoice_pro',
    templateData: {
      invoiceNumber: 'INV-2025-001',
      customerName: 'Acme Corporation',
      items: invoiceItems,
      total: 2499.00
    }
  })
});

const { url, fileId } = await response.json();
// ⚡ PDF ready in ~1.2 seconds

Lightning-fast document generation

Advanced rendering engine supports CSS3, JavaScript, custom fonts, and complex layouts. Pixel-perfect PDFs every time with sub-2-second generation.

  • Full CSS3 & JavaScript support
  • Custom fonts & Unicode
  • Any page size & orientation
  • Headers, footers & page numbers
PDF Generation Live
invoice-template.html 12.4 KB • Ready
Processing...
INV-2025-001.pdf Generated in 1.2s

Design once, use everywhere

Professional templates with Handlebars-style syntax. Support for loops, conditionals, and 70+ built-in helpers for dates, currency, math, and more.

  • {{variables}} & {{#each}} loops
  • 70+ built-in helpers
  • Live preview editor
  • Version control & rollback
Template Editor Editing
<h1>Invoice {{invoiceNumber}}</h1> <p>Customer: {{customer.name}}</p> {{#each items}} <div>{{name}} - {{price}}</div> {{/each}} <p>Total: {{currency total "USD"}}</p>
formatDate currency uppercase +67 more

Never miss an event

Get notified instantly when PDFs are generated or fail. HMAC-SHA256 signed payloads with automatic retries ensure reliable delivery to your endpoints.

  • pdf.generated & pdf.failed events
  • HMAC-SHA256 signatures
  • Automatic retry with backoff
  • Delivery logs & debugging
Webhook Events Connected
pdf.generated 2 seconds ago
200 OK
pdf.generated 1 minute ago
200 OK
pdf.failed 5 minutes ago
Retry #2
https://api.yourapp.com/webhooks

Your files, your infrastructure

Store generated PDFs on Firebase, AWS S3, or Supabase. Configure per-workspace storage with automatic failover and intelligent routing.

  • AWS S3, Supabase, Firebase
  • Signed URLs with expiration
  • Automatic failover
  • Flexible retention policies
Storage Connections 3 Active
AWS S3 acme-invoices-prod
Primary
Firebase fileloom-default
Fallback
Supabase documents
Backup

Get started in minutes

Three simple steps to generate your first PDF

01

Get your API key

Sign up for free and grab your API key from the dashboard. No credit card required.

X-API-Key: fl_xxxxx
02

Send HTML or template

POST your HTML content or use a saved template with dynamic data. We handle the rest.

POST /v1/pdf/generate
03

Get your PDF

Receive a download URL instantly. Store on our cloud or yours—S3, Supabase, Firebase.

Ready in 1.2s
generate.js
const response = await fetch('https://api.fileloom.io/v1/pdf/generate', {
  method: 'POST',
  headers: {
    'X-API-Key': 'fl_your_api_key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    templateId: 'tpl_invoice_pro',
    templateData: {
      invoiceNumber: 'INV-2025-001',
      customer: 'Acme Corporation',
      total: 2499.00
    }
  })
});

const { data } = await response.json();
console.log(data.url);
generate.py
import requests

response = requests.post(
    "https://api.fileloom.io/v1/pdf/generate",
    headers={
        "X-API-Key": "fl_your_api_key",
        "Content-Type": "application/json"
    },
    json={
        "templateId": "tpl_invoice_pro",
        "templateData": {
            "invoiceNumber": "INV-2025-001",
            "customer": "Acme Corporation",
            "total": 2499.00
        }
    }
)

data = response.json()["data"]
print(data["url"])
generate.php
<?php
$ch = curl_init('https://api.fileloom.io/v1/pdf/generate');

curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: fl_your_api_key',
        'Content-Type: application/json'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'templateId' => 'tpl_invoice_pro',
        'templateData' => [
            'invoiceNumber' => 'INV-2025-001',
            'customer' => 'Acme Corporation',
            'total' => 2499.00
        ]
    ])
]);

$response = json_decode(curl_exec($ch));
echo $response->data->url;
generate.rb
require 'net/http'
require 'json'

uri = URI('https://api.fileloom.io/v1/pdf/generate')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['X-API-Key'] = 'fl_your_api_key'
request['Content-Type'] = 'application/json'
request.body = {
  templateId: 'tpl_invoice_pro',
  templateData: {
    invoiceNumber: 'INV-2025-001',
    customer: 'Acme Corporation'
  }
}.to_json

data = JSON.parse(http.request(request).body)['data']
puts data['url']
main.go
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    body, _ := json.Marshal(map[string]interface{}{
        "templateId": "tpl_invoice_pro",
        "templateData": map[string]interface{}{
            "invoiceNumber": "INV-2025-001",
            "customer": "Acme Corporation",
        },
    })

    req, _ := http.NewRequest("POST",
        "https://api.fileloom.io/v1/pdf/generate",
        bytes.NewBuffer(body))
    req.Header.Set("X-API-Key", "fl_your_api_key")
    req.Header.Set("Content-Type", "application/json")

    http.DefaultClient.Do(req)
}
Terminal
curl -X POST https://api.fileloom.io/v1/pdf/generate \
  -H "X-API-Key: fl_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "tpl_invoice_pro",
    "templateData": {
      "invoiceNumber": "INV-2025-001",
      "customer": "Acme Corporation",
      "total": 2499.00
    }
  }'

Connect with your workflow

Native storage integrations and REST API for any platform

Native

Storage Integrations

Store generated PDFs directly in your cloud storage

AWS S3
Supabase
REST API

Works with any platform

Use our API with your favorite tools and frameworks

Zapier
Make
n8n
Retool
Bubble
FlutterFlow

Simple, transparent pricing

Start free. Scale as you grow.

Free

$0 Start Free
200 PDFs/month 5 templates 1 API key
7-day retention 2 MB HTML / 10 MB output Community support

Starter

ANNUAL
$7.20

Per month, billed yearly

  • 2,000 PDFs/month
  • 50 templates
  • 3 team members
  • 2 API keys
  • 30-day file retention
  • 5 MB HTML / 25 MB output
  • 30s timeout
  • 120 requests/min
  • Webhooks & storage integrations
Get Started

Scale

ANNUAL
$159.20

Per month, billed yearly

  • 50,000 PDFs/month
  • Unlimited templates
  • 10 team members
  • 10 API keys
  • 180-day file retention
  • 50 MB HTML / 50 MB output
  • 120s timeout
  • 400 req/min
  • Advanced analytics
  • Priority support (12h)
  • 99.5% uptime SLA

Frequently asked questions

Most PDFs are generated in under 2 seconds. Our average generation time is 1.25 seconds.

Purchase credit packs for additional PDFs, or upgrade your plan anytime from your dashboard.

Absolutely! Send raw HTML in your API request. We support custom fonts, images, CSS3, and JavaScript.

Handlebars syntax with 70+ built-in helpers. Variables, conditionals, loops, math, date formatting, and more.

Firebase Storage by default with signed URLs. Configure AWS S3 or Supabase for your own infrastructure.

99.5% on most plans, 99.9% for Scale Business, 99.99% for Enterprise with dedicated support.

Yes. Cancel or downgrade anytime. Access continues until end of billing period. No cancellation fees.

Scale Business ($699/mo) and Scale Enterprise ($1,299/mo) offer higher limits, SSO, and custom SLAs.

Start building for free

Get 200 free PDFs every month. No credit card required.