Full-Page Screenshot API: Capture Entire Web Pages Beyond the Viewport
Learn how to capture full-page screenshots that include content below the fold using the WebCaptureAPI. Includes code examples, use cases, and tips for long pages.
What Is a Full-Page Screenshot?
A standard screenshot captures the visible viewport — what you see on screen when the page first loads. A full-page screenshot captures the entire scrollable length of the page, including all content below the fold.
This matters whenever the content you need lives below the initial viewport:
- Long landing pages, blog posts, documentation
- E-commerce product pages with many images
- Data-heavy dashboards with scrollable tables
- News articles and long-form content
How to Enable Full-Page Capture
Pass full_page=true as a query parameter:
curl -H "x-api-key: sk_your_key" \
"https://api.webcaptureapi.com/api/screenshot?url=https://example.com&full_page=true" \
--output full.png
The API renders the page, measures the total document height, expands the viewport to fit the full content, then captures the result as a single image.
JavaScript Example
const params = new URLSearchParams({
url: 'https://example.com',
format: 'png',
width: '1440',
full_page: 'true',
})
const response = await fetch(
https://api.webcaptureapi.com/api/screenshot?${params},
{ headers: { 'x-api-key': process.env.WEBCAPTURE_API_KEY } }
)
const buffer = Buffer.from(await response.arrayBuffer())
await fs.writeFile('full-page.png', buffer)
Python Example
import requests, os
response = requests.get(
'https://api.webcaptureapi.com/api/screenshot',
params={
'url': 'https://example.com',
'format': 'png',
'width': 1440,
'full_page': 'true',
},
headers={'x-api-key': os.environ['WEBCAPTURE_API_KEY']},
timeout=30,
)
response.raise_for_status()
with open('full-page.png', 'wb') as f:
f.write(response.content)
Combining Full-Page with Other Parameters
Full-page capture works alongside all other parameters:
| Parameter | Use with full_page |
|---|---|
width | Set the horizontal viewport. Content wraps accordingly before height is measured. |
format | png for exact fidelity, jpeg for smaller file size. |
quality | JPEG quality 1–100. 85 is a good balance for large pages. |
delay | Useful if the page loads more content on scroll (lazy loading). |
Example: Full-page JPEG at 1440px wide
curl -H "x-api-key: sk_your_key" \
"https://api.webcaptureapi.com/api/screenshot?url=https://example.com&full_page=true&width=1440&format=jpeg&quality=85" \
--output full.jpg
Handling Lazy-Loaded Content
Many modern pages use lazy loading — images and content only load when scrolled into view. Full-page capture measures the document height but doesn't simulate scrolling by default.
If your target page has lazy-loaded content below the fold, use the delay parameter to give the page time after initial load:
# Wait 3 seconds after load before capturing
curl -H "x-api-key: sk_your_key" \
"https://api.webcaptureapi.com/api/screenshot?url=https://example.com&full_page=true&delay=3000"
This works for most cases. For very complex pages, increase the delay up to the maximum of 10,000ms (10 seconds).
Use Cases
Visual Regression Testing
Capture a full-page screenshot before and after a deployment. Compare pixel-by-pixel to catch unintended layout changes anywhere on the page — not just above the fold.
Website Archiving
Preserve the full visual state of a page at a point in time. Useful for competitive research, legal documentation, and historical records.
Thumbnail Generation
Generate full-page thumbnails for link previews, website galleries, or design portfolio tools. Scale down the full-page capture for display.
Design Review
Send a client or stakeholder a single image showing the entire page design without needing them to scroll. Combine with a scheduled job to send weekly progress snapshots.
Content Monitoring
Schedule a recurring full-page screenshot of a page and get it delivered to your inbox. Spot changes to any part of the page — not just what's above the fold.File Size Considerations
Full-page screenshots of long pages can produce large files. A 10,000px tall PNG at 1440px wide is typically 2–5 MB. Tips to manage size:
- Use
format=jpegwithquality=80for a significant size reduction with minimal quality loss - Reduce
widthif the exact horizontal resolution isn't critical - For thumbnails, consider resizing the image after capture in your application
Next Steps
- Getting started with the screenshot API — basic requests, parameters, and error handling
- Node.js integration guide — full-page captures in JavaScript
- Python integration guide — full-page captures in Python
- API reference — complete parameter documentation
Ready to get started?
Create a free account and capture your first screenshot in under 2 minutes.
Get started free