The document platform for business users AND developers. Draft templates with AI, map JSON fields visually, publish to a workspace, and generate PDFs through the API — works natively and with Zapier, Make, n8n, Airtable, and any HTTP client.
No credit card · AI template drafts · Works in every language that speaks HTTP
Every team hits the same wall: you need to email an invoice, export a report, generate a branded calendar. You pull in Puppeteer, wrestle with Chromium on serverless, tune memory limits, fight CSS print quirks, and three days later you've shipped something that works — barely.
We've done that wrestling. DocuJSON gives you the output without the infrastructure.
Start with a built-in layout, prompt, screenshot, reference PDF, or sample JSON. The AI template builder helps draft the document shape.
Connect objects, arrays, totals, dates, and customer fields to the layout before publishing.
Publish the template to a workspace with a stable templateId, then generate PDFs through the API whenever your app needs them.
curl -X POST https://api.docujson.com/v1/generate
-H "Authorization: Bearer dj_your_api_key"
-H "Content-Type: application/json"
-d '{
"templateId": "invoice-basic",
"data": { "invoice_number": "INV-1042", "total": 2450.00 }
}'Every template is designed like a real product, not a Word export. Clean typography, sensible defaults, and parameters that actually matter.
Upload a mockup, reference PDF, prompt, or sample JSON. The builder drafts the layout, helps map fields, and lets you publish a reusable API-ready template.
We handle the Chromium wrangling so you don't have to. Warm instances, fast cold starts, and no infra babysitting.
Full REST API for engineers. Dashboard for designers, ops, and founders who just need the PDF.
We don't store your JSON beyond what's needed to render. We never use your content to train AI models. Read the Security page — we say what we actually do.
Free tier for experiments. Pay-as-you-go for side projects. Business for teams. Enterprise for compliance-heavy shops.
Non-technical teams own the design. Engineers own the integration.
If you've used Stripe, you already know how ours works. Authenticate with a bearer token, POST JSON, get back a PDF URL.
// Node.js
const { pdfUrl } = await docujson.generate({
templateId: 'weekly-report',
data: reportData,
});Native HTTP API. No SDK lock-in. If your tool can make a POST request, it works with DocuJSON.
Invoices, receipts, and usage reports without a PDF engineer on the team. Drop in our API, point at your billing data, ship.
Client-branded deliverables — status reports, analytics roll-ups, proposals — generated from the data you already have in Airtable, Notion, or Sheets.
Weekly dashboards, compliance printouts, scheduled reports emailed to leadership every Monday — without a human in the loop.
Launch the PDF feature without spending a week on Chromium and Puppeteer. Ship the feature. Close the ticket.
No SDKs required. No weird auth dances. Clear, documented plan limits. If you've used Stripe, you already know how ours works.
// Generate a PDF from structured data
const res = await fetch('https://api.docujson.com/v1/generate', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.DOCUJSON_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
templateId: 'invoice-basic',
data: invoiceData,
}),
});
const { pdfUrl } = await res.json();We don't sell it. We don't share it with advertisers. We never train AI on Customer Content. PDF retention is documented in our Privacy Policy.
TLS 1.2+ everywhere, HTML sanitization on every rendered template, SHA-256 API key storage, row-level tenant isolation.
SOC 2 readiness and HIPAA support are roadmap items. We publish what we're doing — and what we aren't — transparently.
No. The free tier gives you 100 PDFs/month to try it out.
We process it in memory to render the PDF, then drop it. We don't keep a copy. See our Privacy Policy.
Yes — upload HTML, or use the AI template builder to create one from a screenshot, prompt, or reference PDF.
Anything that can make an HTTP POST. We have examples for curl, JavaScript, Python, Ruby, Go, and PHP in the docs.