Send a URL or raw HTML and get back a PDF. Leave managing headless browseres, babysitting queues, scaling and concurrency to us.
Real headless Chromium renders your flexbox, grid, web fonts and print CSS the way you designed them with one simple API call.
React, Vue and Svelte apps, client-side charts, and content that only appears after a fetch — we run the JavaScript, wait for it to settle, then capture the finished DOM.
wait_for_selectorWait until a CSS selector appears in the DOM.wait_for_expressionResolve on any JS predicate you define.inject_jsRun your own script before capture.delayA fixed settle delay when you need it.No browser farm to run, no queue to babysit. Concurrency grows with your traffic and idles back down, and finished PDFs can go straight to your own cloud storage.
Every knob a real document needs is a plain parameter — page geometry, running headers with automatic page numbers, and how you want the result handed back.
inject_css
inject_js
Patch a page you don’t control: hide a cookie banner, restyle for print, or run a script right before capture.
"inject_css": ".cookie-bar{display:none}", "inject_js": "expandAllRows()"
header
footer
Full-HTML running headers and footers, with automatic tokens for page number, total pages, date and document title.
"footer": { "html": "Page {{page}} of {{pages}}" }
Start with free, no credit card required.
Free for your first 100 documents a month. No credit card required.