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"}'
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, andpauseAtViewportfor heavy lazy-loading sites. - Very long pages produce large images — capture as
pdfif you need to print or paginate.