HTML → PDF · Client reports
Keep your own HTML templates and data. Send them to one API and get a PDF for your monthly client update, project summary, or dashboard export.
Create a free account Download the HTML template100 free renders every month. No card required. Each successful PDF uses one credit.
The API renders your document; your app schedules the job and sends the report to your client.
Save the template as report.html, set your API key, then run:
export SCREENSHOT_API_KEY='your-key'
python - <<'PY'
import json, os, pathlib, urllib.request
request = urllib.request.Request(
'https://screenshotapis.org/v1/pdf',
headers={'Content-Type': 'application/json',
'User-Agent': 'ScreenshotAPIs-Client/1.0',
'X-Api-Key': os.environ['SCREENSHOT_API_KEY']},
data=json.dumps({'html': pathlib.Path('report.html').read_text(),
'format': 'A4'}).encode())
with urllib.request.urlopen(request, timeout=60) as response:
pathlib.Path('report.pdf').write_bytes(response.read())
PY
Start with synchronous rendering. Store the response in your app; avoid putting API keys in browser code. Use inline CSS and embedded assets for predictable output. An HTTP error should fail your scheduled job so you can inspect it before retrying.
Use a pack for occasional batches or a monthly plan for regular reporting.
No subscription. Purchased credits never expire.
Start free, then buy creditsNo subscription. Purchased credits never expire.
Start free, then buy credits