Introduction
SnapHTML renders HTML or a saved template in a real browser and returns a PDF, PNG, WebP, or JPG as the response body.
SnapHTML is a rendering API. You send a complete HTML document, a URL, or the ID of a template you saved earlier, and the response body is the finished file. There is no job to poll, no SDK to install, and no browser worker to keep alive on your side.
The service lives at snhtml.com; the API is served from https://api.snhtml.com.
Quickstart
Key, request, file. Three steps.
HTTP API
Both endpoints, auth, and responses.
Render options
Every field in the request body.
Templates
Save HTML once, render it with variables.
What you send
One source per request:
- HTML — a complete document your app already builds.
POST /v1/render - URL — a page that already exists and is reachable from the public internet.
POST /v1/render - Template — HTML you saved in the dashboard, plus variables.
POST /v1/render/template
What you get back
The raw bytes, with a content-type and a content-disposition filename. No JSON envelope, no base64, no storage bucket to clean up later.
format |
Response content-type |
|---|---|
png (default) |
image/png |
webp |
image/webp |
jpg |
image/jpeg |
pdf |
application/pdf |
Where it fits
Invoices, receipts, reports, contracts, certificates, social preview images, and email attachments — anything your product generates from markup it already renders on screen. Call it from a server route, a queue worker, or a CI job; the request is plain JSON over HTTPS.