Screenshot Happy Get a free key
PDF API

Turn any URL into a PDF with one API call

Same endpoint as the screenshot capture — just add format=pdf. The PDF is rendered the way the page actually looks on screen, not a print stylesheet.

How it works

One parameter, and you get a PDF back

The request is identical to a screenshot — GET /screenshot — with format=pdf instead of the default png.

curl -G "https://screenshot-api-production-ffd7.up.railway.app/screenshot" \
  -H "x-api-key: YOUR_API_KEY" \
  --data-urlencode "url=https://example.com" \
  -d "format=pdf" \
  -d "full_page=true" \
  -o page.pdf

Add full_page=true for one PDF page sized to the whole scrollable content instead of just the 1280×800 viewport. selector is not available with format=pdf — that option only applies to PNG/JPEG captures of a single element.

Where this is used

Use cases

Archiving

A PDF snapshot of a page — a listing, a contract, a terms page — as it looked at a specific point in time.

Reports & previews

Turn any internal dashboard or public report page into a shareable PDF without building an export feature yourself.

No headless browser to run

Skip installing and patching Chromium just to call page.pdf() from your own Puppeteer/Playwright script.

Pricing

Free tier included, no card required

PDF captures count against the same monthly quota as PNG/JPEG — there's no separate PDF plan. Free gives you 200 screenshots/month (PDF included); paid plans start at €9/month for 2,000/month. Full limits and error codes are in the docs.

Get a free API key