Every template here is reachable through the API, so you can generate the same document from your own data.
curl -X POST https://pdfgeny.com/api/v1/render \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"template":"weekly-report","data":{"company": "Northwind Studio Ltd", "subtitle": "Week 35 · 24–30 August 2026", "date": "31 August 2026", "metric1": "Revenue", "value1": "£48,200", "change1": "+8%"}}' \
--output weekly-report.pdf
import requests
pdf = requests.post(
"https://pdfgeny.com/api/v1/render",
headers={"Authorization": f"Bearer {KEY}"},
json={"template": "weekly-report", "data": {'company': 'Northwind Studio Ltd',
'subtitle': 'Week 35 · 24–30 August 2026',
'date': '31 August 2026',
'metric1': 'Revenue',
'value1': '£48,200',
'change1': '+8%'}},
).content
open("weekly-report.pdf", "wb").write(pdf)
const res = await fetch("https://pdfgeny.com/api/v1/render", {
method: "POST",
headers: { Authorization: `Bearer ${KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ template: "weekly-report", data: {"company": "Northwind Studio Ltd", "subtitle": "Week 35 · 24–30 August 2026", "date": "31 August 2026", "metric1": "Revenue", "value1": "£48,200", "change1": "+8%"} }),
});
await writeFile("weekly-report.pdf", Buffer.from(await res.arrayBuffer()));