Capture entire scrollable pages from top to bottom. Perfect for documentation, archiving, and long-form content.
By default, screenshots capture only the visible viewport (what you see on screen). Full page mode captures the entire scrollable content of a webpage, from top to bottom.
Captures only what's visible in the browser window
Captures the entire scrollable content
Enable full page mode by setting fullPage: true in your options:
curl -X POST https://snapshotai.dev/api/v1/screenshots \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"options": {
"fullPage": true
}
}'const response = await fetch('https://snapshotai.dev/api/v1/screenshots', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://example.com',
options: {
fullPage: true,
format: 'png'
}
})
});Set a wider viewport (1920px+) to capture more content horizontally:
viewport: { width: 1920, height: 1080 }, fullPage: trueGive lazy-loaded content time to appear:
delay: 3000, fullPage: trueWebP provides better compression for very long pages:
format: "webp", quality: 85, fullPage: trueCapture blog posts, documentation, and articles in their entirety
Create complete archives of webpages for legal or compliance purposes
Capture entire dashboards, reports, and data visualizations
Show complete page designs and layouts to clients
Full page screenshots take longer to process than viewport-only captures:
Full page screenshots can be significantly larger than viewport captures. Consider using WebP format with quality 80-85 for optimal file size without compromising quality.
Capture a full page with optimal settings for a long article:
curl -X POST https://snapshotai.dev/api/v1/screenshots \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://blog.example.com/long-article",
"options": {
"fullPage": true,
"format": "webp",
"quality": 85,
"viewport": {
"width": 1920,
"height": 1080
},
"delay": 2000,
"waitForSelector": ".content-loaded"
}
}'This can happen if the page has infinite scroll or dynamically loaded content:
delay to wait for content to loadwaitForSelector to wait for a specific elementOptimize file size while maintaining quality:
format: "webp"quality: 85Full page screenshots of very long pages can take time: