Gotenberg API
Gotenberg is a self-hosted Docker-based API that converts HTML, Markdown, Office documents, and URLs to PDF using Chromium and LibreOffice — designed for server-side document generation in agent pipelines.
Score Breakdown
⚙ Agent Friendliness
🔒 Security
No auth by default — must configure API token or put behind authenticated reverse proxy. Self-hosted means you control security. Chromium runs as non-root in Docker. MIT licensed, open source for audit.
⚡ Reliability
Best When
You need a self-hosted, open-source PDF generation API that accepts HTML or Office files — no per-page pricing, no rate limits, runs in your infrastructure.
Avoid When
You need a managed cloud service with SLA guarantees or complex PDF manipulation — DocRaptor or PDFco for managed alternatives.
Use Cases
- • Generating PDF reports from HTML templates in agent document creation pipelines
- • Converting Office documents (DOCX, XLSX, PPTX) to PDF for standardized distribution
- • Rendering web URLs to PDF for archival, screenshots, or printing workflows
- • Building agent-generated invoices, proposals, and contracts as PDFs at scale
- • Merging multiple PDFs into a single document from agent-assembled content
Not For
- • Cloud-hosted PDF APIs (Gotenberg must be self-hosted via Docker)
- • Complex PDF editing or annotation (use PDFtron or iText for advanced manipulation)
- • Real-time PDF generation under 500ms SLA (Chromium rendering takes 1-5 seconds)
Interface
Authentication
Optional API token or Basic Auth configurable at deployment time. No auth by default — must be enabled and configured. Suitable for internal/private networks without auth. Add reverse proxy for production security.
Pricing
Self-hosted is free with no limits. Costs are infrastructure (Docker CPU/memory). Chromium is resource-intensive — plan compute accordingly.
Agent Metadata
Known Gotchas
- ⚠ Chromium rendering requires significant RAM (1GB+ per concurrent request) — plan infrastructure with headroom for agent bursts
- ⚠ External CSS/JS in HTML templates must be accessible from Gotenberg container — not from agent's localhost
- ⚠ JavaScript execution timeout defaults to 30 seconds — complex SPAs may time out before fully rendering
- ⚠ v7 to v8 API changed multipart form field names significantly — community examples may use outdated field names
- ⚠ PDF generation blocks until complete — agents should set generous HTTP client timeouts (30-120 seconds) to avoid premature timeout
Alternatives
Full Evaluation Report
Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Gotenberg API.
Scores are editorial opinions as of 2026-03-06.