A full page website screenshot captures the complete scrollable document, including content below the visible browser viewport. This guide explains when to use full-page mode, how to request it through the API, and how waits and scrolling affect dynamic pages.
To start with the capture workflow and result, visit the full-page website screenshot tool. For production automation, compare capabilities on the website screenshot API product page or open the API documentation.
Add fullpage=true to the request. The capture browser loads the page at the viewport width you choose, measures the scrollable document, and returns the complete page as one image.
The viewport still matters because it controls responsive layout and the width of the output. It does not replace full-page mode: setting an unusually tall viewport can change sticky elements and responsive behavior instead of faithfully capturing the natural page.
Replace YOUR_API_KEY and the target URL before running these examples. The JavaScript and Python versions send the key in a request header so it does not appear in the URL.
curl -o full-page.png \
"https://api.addscreenshots.com/screenshots?apikey=YOUR_API_KEY&fullpage=true&scroll_wait=1000&url=https%3A%2F%2Fexample.com"import { writeFile } from "node:fs/promises";
const endpoint = new URL("https://api.addscreenshots.com/screenshots");
endpoint.searchParams.set("fullpage", "true");
endpoint.searchParams.set("scroll_wait", "1000");
endpoint.searchParams.set("url", "https://example.com");
const response = await fetch(endpoint, {
headers: { "x-api-key": process.env.ADD_SCREENSHOTS_API_KEY }
});
if (!response.ok) throw new Error(`Capture failed: ${response.status}`);
await writeFile("full-page.png", Buffer.from(await response.arrayBuffer()));import os
import requests
response = requests.get(
"https://api.addscreenshots.com/screenshots",
headers={"x-api-key": os.environ["ADD_SCREENSHOTS_API_KEY"]},
params={
"url": "https://example.com",
"fullpage": "true",
"scroll_wait": 1000,
},
)
response.raise_for_status()
with open("full-page.png", "wb") as image:
image.write(response.content)Dynamic pages often need one or two additional controls before the result becomes repeatable:
scroll_wait=1000 so the browser scrolls through the page and gives on-demand content time to appear.wait delay after navigation.Need format guidance? Review the PNG vs JPEG website screenshot format guide and tune compression with quality settings.
Below is an example of how to request a full page website screenshot, capturing the entire scrollable area in one seamless image:
// Line breaks added for readability https://api.addscreenshots.com/screenshots
?apikey=YOUR_API_KEY
&fullpage=true
&url=https://www.powerbi.com
Your API key can be found on the API Keys page. Need an API Key? Sign up to get started.
For internal applications, replace YOUR_API_KEY with your own unique API Key.
For public facing websites or hotlinks, generate a signed URL.

Need production-ready full page captures? Review pricing or generate an API key to start scheduling unlimited full-page renders in minutes.