PDF generation API
Design the template visually. Send your JSON. Get a pixel-perfect PDF back in under a second.
Start free See a template render →
No credit card required. 50 documents every month on the free plan.
"template": "tpl_invoice_a4",
"data": {
"customer": "Northwind Trading Ltd.",
"invoice_no": "INV-2026-0184",
"items": [
{ "name": "Document rendering",
"qty": 1, "price": 5988 }
]
}Add objects to the page in the editor and bind the parts that change to your data. Or start from a template we already made.
One call with the template id and your data. One document, a batch, or a queue with a webhook.
Back in under a second, as a link you can hand straight to your customer. Same template, every time.
Snapping, rulers, undo and groups. Click a field in your data and it binds itself into the object you selected.
Select an object, click a field in your sample data, and the expression lands in it.
Bind an array. One row becomes as many as your data has, and the total still lines up.
Text boxes, checkboxes, dropdowns and signature spaces, prefilled from your data.
Merge, stamp, read and fill the files your customers already send you.
Invoices, quotations, payslips, US tax forms, Japanese qualified invoices, shipping labels. Take one, make it yours, call it by id.
Your backend, an AI agent, or your own customers inside your product.
Send JSON, get the finished file back. Batches and webhooks when there are many.
$ curl -X POST \
https://brewmypdf.com/v1/create \
-H "x-api-key: $KEY" \
-d @invoice.json
{ "ok": true,
"data": { "status": "done",
"url": "https://…/d/…" } } Claude, Cursor and anything else that speaks MCP can pick a template and generate a PDF. Paste one config block.
{
"mcpServers": {
"brewmypdf": {
"url": "https://brewmypdf.com/mcp",
"headers": {
"Authorization": "Bearer bmp_live_…"
}
}
}
} Give your customers the template editor in an iframe, with your branding and no account here.
POST /v1/embed/sessions
{
"template_id": "tpl_…",
"mode": "edit"
}
→ { "url": "https://…" } Pay for the documents you generate. Everything programmatic is included from Professional up.
Upgrade when you need the API, and invite your whole team at no extra cost per seat.
An invoice renders in about 0.7 seconds and the call returns the finished file. Larger runs go through the batch endpoint and come back as one job.
No, that is the whole point. The template lives in the editor and the API calls it by id, so moving a field or adding a tax line takes a minute and no release.
Yes. We are an MCP server: point Claude or Cursor at our endpoint with your API key and the agent can pick a template and generate the document itself.
No. There is no overage billing. You pay the plan you chose, and the console shows exactly how much of the month you have used.
Yes. From Professional you can open the editor inside your app in an iframe, with your branding, and your customers never need an account with us.
Pick a template, put your data in it, press render. 50 documents every month on the free plan, with no trial clock and no call with sales.
No credit card required, cancel any time
We need a few cookies to sign you in and remember your language. With your permission we would also like to measure how the site is used, and to see which campaigns bring people here. You can refuse, and you can change your mind at any time. Read the cookie notice