Full-page screenshots

By default the API captures the viewport. Set fullPage: true to capture the entire scrollable page — the renderer scrolls top-to-bottom first so lazy-loaded images and content are included.

Example

curl -X POST https://screenshotforweb.com/api/v1/screenshot \
  -H "X-API-Key: sk_live_your_key" -H "Content-Type: application/json" \
  -d '{"url":"https://www.coinbase.com","fullPage":true,"format":"png"}'
Full-page screenshot
fullPage: true — the whole page in one image

Scrolling screenshots (lazy-loading pages)

Before a full-page capture the renderer walks the page top-to-bottom: it scrolls in scrollDistance-pixel steps, waits scrollDelay ms between steps, pauses an extra 500 ms at each viewport boundary when pauseAtViewport is on, force-loads lazy img/iframe/video elements it passes, then returns to the top and captures one tall image. Defaults: scrollDistance: 100, scrollDelay: 150, pauseAtViewport: true.

For image-heavy sites that lazy-load aggressively (feeds, galleries, long marketing pages), slow the walk down so below-the-fold content is fully rendered — this is exactly what the playground's Scrolling Screenshot toggle sends:

curl -X POST https://screenshotforweb.com/api/v1/screenshot \
  -H "X-API-Key: sk_live_your_key" -H "Content-Type: application/json" \
  -d '{
    "url": "https://unsplash.com/t/wallpapers",
    "format": "png",
    "fullPage": true,
    "scrollDistance": 75,
    "scrollDelay": 250,
    "pauseAtViewport": true
  }'

The slow walk covers roughly 300 px per second, so very long pages can take tens of seconds — raise timeout (up to 60000 ms) if a heavy page cuts off early. The same three options apply to format: "pdf" captures too.

Tips

  • Tune scrolling with scrollDistance, scrollDelay, and pauseAtViewport for heavy lazy-loading sites.
  • Very long pages produce large images — capture as pdf if you need to print or paginate.