# Dynamic Document API > Generate PDFs and images from HTML templates and JSON data through a REST API. EU-hosted by default, with versioned templates, signed webhooks and transparent credit pricing. Dynamic Document API renders PDFs and images from HTML/Jinja templates and JSON data through a REST API (base URL https://api-eu.dynamicdocumentapi.com/v1). Authentication uses Bearer API keys; test keys render watermarked documents for free. Workspaces are hosted in the EU by default. Every documentation page is available as Markdown by appending `/index.md` to its URL or by requesting the page with `Accept: text/markdown`. ## Documentation - [Overview](https://dynamicdocumentapi.com/docs/index.md): How the API turns templates, HTML, URLs and Markdown into PDFs and images, with the core concepts and conventions to know first. - [Authentication and test mode](https://dynamicdocumentapi.com/docs/authentication/index.md): Authenticate with API keys, choose scopes, use test mode, roll and revoke keys, and find the API host for your data. - [Batches](https://dynamicdocumentapi.com/docs/batches/index.md): Render one template for many items with POST /v1/batches, from JSON and CSV items and the combined ZIP or merged PDF to progress, cancel and retry, webhooks, billing and limits. - [Canvas editor](https://dynamicdocumentapi.com/docs/canvas-editor/index.md): Design image templates in the dashboard, with artboard sizes, text that fits its box, images, QR codes, barcodes, charts, auto layout and constraints. Covers dynamic properties, sample data, previews, publishing, keyboard shortcuts and limits. - [E-invoicing](https://dynamicdocumentapi.com/docs/e-invoicing/index.md): Factur-X and ZUGFeRD PDFs with embedded EN 16931 XML, XRechnung export in CII or UBL, the invoice model, computed totals and validation reports. - [Email delivery](https://dynamicdocumentapi.com/docs/email-delivery/index.md): Email rendered files through your own Brevo, SMTP, Postmark, Resend, Amazon SES or Microsoft 365 account, with connections, sender checks, email rules, test renders, send statuses, events, limits, errors and billing. - [Errors](https://dynamicdocumentapi.com/docs/errors/index.md): The problem details format, which failures are worth retrying, and every error code grouped by HTTP status with a suggested fix. - [Headers and footers](https://dynamicdocumentapi.com/docs/headers-and-footers/index.md): Add running headers and footers with page numbers, dates, logos and data, in simple text mode or with your own HTML. - [Image and screenshot options](https://dynamicdocumentapi.com/docs/image-options/index.md): Render PNG, JPEG and WebP images from templates, HTML or URLs, with viewport, scale, cropping, transparency and quality settings. - [Make](https://dynamicdocumentapi.com/docs/make/index.md): Create PDFs, images and e-invoices from your templates in Make scenarios, use the PDF tools, and start scenarios when renders finish, with the Dynamic Document API app for Make. - [MCP server](https://dynamicdocumentapi.com/docs/mcp/index.md): Connect Claude, ChatGPT, Cursor, VS Code and other AI agents to your templates over the Model Context Protocol, from sign-in and tools to test mode and limits. - [n8n](https://dynamicdocumentapi.com/docs/n8n/index.md): Render PDFs, images and e-invoices from your templates in n8n workflows, use the PDF tools, and start workflows when renders finish, with the verified Dynamic Document API community nodes. - [Pagination basics](https://dynamicdocumentapi.com/docs/pagination/index.md): Control page breaks, keep blocks together, repeat table headers and fix the usual pagination problems in HTML to PDF output. - [PDF options](https://dynamicdocumentapi.com/docs/pdf-options/index.md): Paper sizes, margins, scaling, print behaviour, metadata, accessibility and PDF/UA, PDF/A archiving, attachments, protection and wait strategies for PDF output. - [PDF tools](https://dynamicdocumentapi.com/docs/pdf-tools/index.md): Merge, split, rotate, protect and unlock existing PDFs and read or change their metadata, from sources and page lists to delivery, encrypted files, errors and billing. - [Plans and limits](https://dynamicdocumentapi.com/docs/plans-and-limits/index.md): Plan prices and included renders, the render table, auto top-ups, the monthly top-up limit and render packs, payments, and every rate, size and timeout limit per plan. - [Quickstart](https://dynamicdocumentapi.com/docs/quickstart/index.md): Create a test API key, render your first PDF from HTML, get a signed download URL and render a stored template by ID. - [Renders](https://dynamicdocumentapi.com/docs/renders/index.md): Create PDFs and images with POST /v1/renders, from the request body and sync or async modes to delivery, idempotency, listing and rate limits. - [SDKs and integrations](https://dynamicdocumentapi.com/docs/sdks-and-integrations/index.md): The TypeScript and Python SDKs, what is planned for other languages, the CLI and no-code platforms, the MCP server, and how to use the REST API directly. - [Signed links](https://dynamicdocumentapi.com/docs/signed-links/index.md): Image and PDF URLs that render a template on request, without an API key. URL format, HMAC signatures, open links, checks and errors, caching, quotas and billing. - [Your own storage](https://dynamicdocumentapi.com/docs/storage/index.md): Upload rendered files to Amazon S3, S3-compatible storage, Azure Blob Storage, Google Cloud Storage or SFTP, with destination settings, credentials, connection tests, path templates, hosted copies, zero retention, retries, limits and errors. - [Template language](https://dynamicdocumentapi.com/docs/template-language/index.md): Jinja syntax, autoescaping, built-in filters and every custom filter for money, dates, QR codes, barcodes, charts and layout, with sandbox limits. - [Webhooks](https://dynamicdocumentapi.com/docs/webhooks/index.md): Receive signed render events, manage endpoints and retries, and verify Standard Webhooks signatures in Node.js and Python. - [Zapier](https://dynamicdocumentapi.com/docs/zapier/index.md): Create PDFs, images and e-invoices from your templates in Zapier, start Zaps when renders finish, and attach the files to emails, drives and chats. ## API reference - [API reference](https://dynamicdocumentapi.com/docs/api-reference/index.md): conventions, servers and every endpoint by group; each group below is one Markdown page with parameters, request bodies and responses - [Renders endpoints](https://dynamicdocumentapi.com/docs/api-reference/renders/index.md): Create and manage renders (PDFs, images, HTML). - [Batches endpoints](https://dynamicdocumentapi.com/docs/api-reference/batches/index.md): Render one template for many items (JSON or CSV), plus an optional ZIP / merged PDF. - [Templates endpoints](https://dynamicdocumentapi.com/docs/api-reference/templates/index.md): Read published templates, versions and data schemas; create, publish and roll back. - [PDF tools endpoints](https://dynamicdocumentapi.com/docs/api-reference/pdf-tools/index.md): Merge, split, rotate, protect, unlock, inspect PDFs and convert them to PDF/A. - [E-invoices endpoints](https://dynamicdocumentapi.com/docs/api-reference/e-invoices/index.md): XRechnung, Factur-X / ZUGFeRD and EN 16931 invoices: standalone CII or UBL XML here; hybrid PDF/A-3b invoices through `output.einvoice` on any PDF render. - [Uploads endpoints](https://dynamicdocumentapi.com/docs/api-reference/uploads/index.md): Temporary files for PDF tools and batches. - [Webhooks endpoints](https://dynamicdocumentapi.com/docs/api-reference/webhooks/index.md): Webhook endpoints, the delivery log and replays. - [Storage endpoints](https://dynamicdocumentapi.com/docs/api-reference/storage/index.md): Your own S3/Azure/GCS buckets for render output (BYOS). - [Signed links endpoints](https://dynamicdocumentapi.com/docs/api-reference/signed-links/index.md): Image URLs rendered straight from a template. - [Email endpoints](https://dynamicdocumentapi.com/docs/api-reference/email/index.md): Email renders through your own provider account (Brevo, SMTP, Postmark, Resend, Amazon SES or Microsoft 365): connections, rules per template, previews, tests, sends, delivery events and resends. - [Account endpoints](https://dynamicdocumentapi.com/docs/api-reference/account/index.md): Plan, renders, limits and usage. - [OpenAPI 3.1 document](https://dynamicdocumentapi.com/openapi/openapi-public.json): machine-readable specification ## Product - [HTML to PDF API](https://dynamicdocumentapi.com/html-to-pdf-api/): Send markup and CSS, get a print-ready PDF. - [PDF Generation API](https://dynamicdocumentapi.com/pdf-generation-api/): Versioned HTML templates plus JSON data in, PDFs out. - [Image Generation API](https://dynamicdocumentapi.com/image-generation-api/): Social cards, certificates and banners from templates. - [URL to PDF API](https://dynamicdocumentapi.com/url-to-pdf-api/): Capture a live page as a paginated PDF. - [PDF Template API](https://dynamicdocumentapi.com/pdf-template-api/): Loops, conditions, currency formatting and versions. - [Markdown to PDF API](https://dynamicdocumentapi.com/markdown-to-pdf-api/): Themed documents from Markdown and data. - [Invoice PDF API](https://dynamicdocumentapi.com/invoice-pdf-api/) - [E-invoicing API](https://dynamicdocumentapi.com/e-invoicing-api/) - [Receipt Generation API](https://dynamicdocumentapi.com/receipt-generation-api/) - [Report Generation API](https://dynamicdocumentapi.com/report-generation-api/) - [Certificate Generation API](https://dynamicdocumentapi.com/certificate-generation-api/) - [Document Generation API](https://dynamicdocumentapi.com/document-generation-api/) - [Pricing](https://dynamicdocumentapi.com/pricing/): plans, render packs and the cost per render - [Enterprise](https://dynamicdocumentapi.com/enterprise/) - [Security and data residency](https://dynamicdocumentapi.com/security/) ## Benchmarks - [Render-time benchmark, October 2026](https://dynamicdocumentapi.com/benchmarks/render-time/index.md): six fixed documents rendered 100 times each on the production API in the EU on 19 October 2026 (engine 2026.4). Median time in the renderer: 124 ms for a 1-page invoice, 200 ms for a 5-page report, 276 ms for a 20-page catalog; end to end from a laptop in Germany 336 ms, 469 ms and 619 ms. Method, limits and how to cite (CC BY 4.0). - [Render-time benchmark raw data (CSV)](https://dynamicdocumentapi.com/assets/benchmarks/render-time-2026-10.csv): one row per render with client, API and worker stage timings ## Templates and tools - [Invoices templates](https://dynamicdocumentapi.com/templates/invoices): Invoice templates for services, products and cross-border sales, with tax lines, payment details and multi-page line items. - [Receipts templates](https://dynamicdocumentapi.com/templates/receipts): Receipts for point-of-sale, online orders and donations, from narrow thermal-roll formats to A5 confirmations. - [Quotes & estimates templates](https://dynamicdocumentapi.com/templates/quotes): Quotes and project estimates with optional items, validity dates and acceptance blocks. - [Certificates templates](https://dynamicdocumentapi.com/templates/certificates): Landscape certificates for course completion, awards and attendance, with verification QR codes. - [Reports templates](https://dynamicdocumentapi.com/templates/reports): Data-driven reports with KPI summaries, tables and charts drawn from JSON arrays. - [Letters templates](https://dynamicdocumentapi.com/templates/letters): Business letters and offer letters with letterhead, reference lines and signature blocks. - [Shipping labels templates](https://dynamicdocumentapi.com/templates/shipping-labels): 4 × 6 inch and A6 shipping and return labels with barcodes and routing codes. - [Tickets & passes templates](https://dynamicdocumentapi.com/templates/tickets): Event tickets and conference passes with seating details and scannable codes. - [Packing slips templates](https://dynamicdocumentapi.com/templates/packing-slips): Packing slips and pick lists that warehouse teams can scan, tick off and sign. - [Contracts templates](https://dynamicdocumentapi.com/templates/contracts): Agreement layouts with numbered clauses, party details and signature pages. Sample wording only, not legal advice. - [Resumes templates](https://dynamicdocumentapi.com/templates/resumes): Resume layouts that render structured profile data into clean one- and two-column documents. - [Statements templates](https://dynamicdocumentapi.com/templates/statements): Account and payout statements with opening balances, transaction tables and running totals. - [Purchase orders templates](https://dynamicdocumentapi.com/templates/purchase-orders): Purchase orders with supplier details, delivery terms, approval blocks and order lines. - [Delivery notes templates](https://dynamicdocumentapi.com/templates/delivery-notes): Delivery notes and proof-of-delivery documents with consignment details and signature fields. - [Payslips templates](https://dynamicdocumentapi.com/templates/payslips): Payslip layouts with earnings, deductions, employer contributions and year-to-date figures. - [HR & employment templates](https://dynamicdocumentapi.com/templates/hr): Employment references, timesheets and expense claims for HR and payroll teams, built from employee records with approvals and signature blocks. - [Real estate templates](https://dynamicdocumentapi.com/templates/real-estate): Property exposés, utility cost statements and inventory reports for agents and property managers, with floor areas, energy ratings and meter readings. - [Social media images templates](https://dynamicdocumentapi.com/templates/social-media): Image templates for social posts and link previews: event announcements, customer quotes and sale banners, rendered as PNG from JSON. - [Open Graph images templates](https://dynamicdocumentapi.com/templates/og-images): 1200 × 630 link-preview images for blog posts and landing pages, rendered from a title, author and site name for every page you publish. - [Email headers templates](https://dynamicdocumentapi.com/templates/email-headers): 600-pixel-wide header images for newsletters and campaign emails, with the issue, headline and brand filled in per send. - [Display ads templates](https://dynamicdocumentapi.com/templates/ads): Banner ads in standard IAB sizes such as 300 × 250 and 728 × 90, with headline, offer and call to action filled from a product or campaign feed. - [Merge PDF](https://dynamicdocumentapi.com/tools/merge-pdf): Combine several PDFs into one file, in the order you choose. - [Split PDF](https://dynamicdocumentapi.com/tools/split-pdf): Break a PDF into several files by ranges, every N pages or page by page. - [Rotate PDF](https://dynamicdocumentapi.com/tools/rotate-pdf): Turn all or selected pages by 90, 180 or 270 degrees. - [Extract pages](https://dynamicdocumentapi.com/tools/extract-pdf-pages): Save selected pages as a new PDF, in any order. - [Edit metadata](https://dynamicdocumentapi.com/tools/edit-pdf-metadata): View and change title, author, subject and keywords. - [Watermark PDF](https://dynamicdocumentapi.com/tools/watermark-pdf): Stamp text such as DRAFT or CONFIDENTIAL on every page. - [Page numbers](https://dynamicdocumentapi.com/tools/add-page-numbers-to-pdf): Number pages with formats like “Page 3 of 12”, skipping a cover if needed. - [PDF to image](https://dynamicdocumentapi.com/tools/pdf-to-image): Render pages as PNG or JPEG images at up to 300 dpi. - [Compress PDF](https://dynamicdocumentapi.com/tools/compress-pdf): Shrink a PDF by re-compressing its large photos and scans. - [PNG to PDF](https://dynamicdocumentapi.com/tools/png-to-pdf): Combine PNG and JPG images into one PDF, one image per page. - [HTML to PDF](https://dynamicdocumentapi.com/tools/html-to-pdf): Paste HTML and CSS, preview it and save it as a PDF. - [Markdown to PDF](https://dynamicdocumentapi.com/tools/markdown-to-pdf): Turn Markdown into a clean, paginated PDF. - [CSV to PDF](https://dynamicdocumentapi.com/tools/csv-to-pdf): Turn CSV and TSV data into a paginated PDF table. - [JSON to PDF](https://dynamicdocumentapi.com/tools/json-to-pdf): Turn JSON into a readable PDF: a table, an outline or formatted code. - [Extract text](https://dynamicdocumentapi.com/tools/extract-text-from-pdf): Copy the text out of a PDF as plain text. - [Extract images](https://dynamicdocumentapi.com/tools/extract-images-from-pdf): Save the pictures inside a PDF as PNG or JPEG files. - [PDF to HTML](https://dynamicdocumentapi.com/tools/pdf-to-html): Turn a PDF into a single, self-contained HTML file. - [PDF DPI analyzer](https://dynamicdocumentapi.com/tools/pdf-dpi-analyzer): Find low-resolution images before a PDF goes to print. ## Optional - [Full documentation in one file](https://dynamicdocumentapi.com/llms-full.txt) - [Changelog](https://dynamicdocumentapi.com/changelog) - [Status](https://status.dynamicdocumentapi.com)