HTML to PDF API
Printout turns HTML into a PDF with Chrome. One POST, one PDF, one credit. We throw the HTML away. No URL fetch.
Convert
POST https://printout.dev/v1/pdf with a Bearer API key from the dashboard. Body is JSON. Response is application/pdf.
curl -s https://printout.dev/v1/pdf -H "Authorization: Bearer po_live_..." -H "Content-Type: application/json" -d '{"html":"<h1>Invoice 1042</h1>"}' -o invoice.pdf
Field: html (required, max 1 MB). That is the upload max. A dense table near that size prints. A single huge text node can still hit the 30s timeout. If you send url, the API returns url_mode_disabled. Job timeout is 30 seconds.
Auth
Sign up, copy the key shown once, send Authorization: Bearer po_live_.... You can mint more keys. Revoking one does not kill the others.
Credits
Each successful PDF is one credit, counted in UTC months. Failed jobs do not count.
| Plan | PDFs / month | Price |
|---|---|---|
| Free | 30 | $0 |
| Starter | 500 | $9 |
| Growth | 2,500 | $22 |
| Scale | 5,000 | $39 |
Upgrade on the dashboard. Stripe bills the card. Support: support@printout.dev.
Errors
| HTTP | error | |
|---|---|---|
| 401 | invalid_api_key | Missing or revoked key |
| 400 | json_required / html_required | Bad body |
| 400 | url_mode_disabled | Do not send url |
| 413 | html_too_large | Over 1 MB |
| 429 | quota_exceeded | JSON includes limit |
| 502 | print_failed | Chrome failed |
| 504 | timeout | Over 30s |
We do not store or log your HTML. Privacy. Comparing to PDFShift? Printout and PDFShift.