Everything the API can do

One multilingual rendering pipeline behind every endpoint — the same fonts, the same error envelope, the same zero-retention handling.

Inputs & outputs

Send whatever you have — markup, a link, your data or Markdown — and get a PDF or an image back.

POST /v1/pdf/from-html

HTML to PDF

Raw HTML and CSS rendered by a real, sandboxed Chromium — web fonts, flexbox, grid and JavaScript behave exactly as in a browser tab.

POST /v1/pdf/from-url

URL to PDF

Point at a public page and get it back as a print-ready PDF.

POST /v1/pdf/from-template

Templates + your data

Send a LiquidJS template and a JSON payload; the template runs in a sandbox and the result is rendered to PDF — ideal for invoices and reports.

POST /v1/pdf/from-markdown

Markdown to PDF

Send Markdown — from an AI agent, a note or an automation — and get back a clean, print-ready PDF with tables, lists and code, in any language.

POST /v1/image/from-html · /from-url · /from-template · /from-markdown

HTML, URL, template or Markdown to image

PNG, JPEG or WebP for social cards, receipts, chart snapshots and thumbnails — from the same inputs as PDFs, including templates with your data and Markdown. Capture the full page, the viewport or a single element, at 2× or 3× for sharp output.

POST /v1/pdf/merge · /v1/pdf/split

Merge and split PDFs

Combine existing PDFs into one, or cut one into parts by page, range or every N pages. Pages are copied as they are, so every script looks exactly as in the original files. Split parts take the same output options as a merge — document properties, compression, a password or PDF/A — and files made with Legebla keep their searchable text in PDF/A.

Every language, archival-ready

The reason Legebla exists: documents that read correctly in every script your customers use.

25 languages · CJK · RTL · emoji

Zero tofu

Full Unicode coverage with OS-level fonts baked in — Chinese, Japanese, Korean, Arabic, Hebrew, Hindi and more. No missing-glyph boxes, no broken right-to-left layout.

options.pdfa: "PDF/A-3b"

Archival PDF/A that stays searchable

PDF/A-3b output from every render endpoint keeps the selectable, searchable text exactly as rendered — Hindi, Arabic, Chinese, emoji and the rest — along with accessibility tags and the document language.

options.zugferd

ZUGFeRD e-invoices

Embed your EN16931 (CII) invoice XML into a PDF/A-3 file for ZUGFeRD / Factur-X e-invoicing — built on the same searchable, multilingual base.

options.watermark

Watermarks in any language

Drawn with the same fonts as the page, so an Arabic, Chinese or Hindi "DRAFT" renders correctly — centered or tiled, with your own opacity. Or stamp your logo as an image watermark.

options.metadata

Document properties

Set title, author, subject, keywords, creator and language — in any script — for PDF viewers, search and document managers.

Control the capture

Shape the page before it becomes a document.

css · javascript · waitFor.delayMs · lazyLoad

Adjust the page before capture

Inject CSS or JavaScript (hide cookie banners, fix print layout), wait a fixed delay for late charts, and scroll the page so lazy-loaded images appear.

from-url: headers · cookies · auth

Pages behind a login

Render pages that need a session cookie, custom headers or HTTP Basic auth. Credentials are sent only to the target URL's origin — never to CDNs, analytics or redirects elsewhere.

options.compress

Smaller files

Recompress and resize images and store repeated images and fonts once — handy for email attachments and upload limits. For some complex scripts and emoji the copy-and-search text may differ after compression; the response warns you when that applies.

Security & delivery

Your documents are processed in memory and handed back — or straight to you.

zero data retention

Nothing stored by default

Renders run in isolated, ephemeral workers. Nothing is written to a database or disk by default — the document is discarded after delivery.

options.encryption

Passwords and permissions

AES-256 encryption with a user and/or owner password, and control over printing, copying, editing, annotating and form filling.

upload

Deliver to your own storage

Pass a pre-signed PUT URL (Amazon S3, Cloudflare R2, Google Cloud Storage, Azure Blob) and the file goes straight from memory into your own bucket. Nothing is kept on our side.

Build & test

Made to be wired into code or automations without guesswork.

GET /v1/openapi.json

OpenAPI 3.1 spec

A complete spec is the single source of truth — import it to generate a typed client in any language, or call the REST endpoints directly.

options.sandbox

Sandbox mode for testing

Wire up a workflow with real output that doesn't count against your quota. Sandbox files are stamped "SAMPLE — sandbox" on every page.

Read the API docs

Start rendering PDFs your clients can read — in their own language.

Get your API key