Bulk Website Screenshot Tool & API
Paste a list of URLs and capture full-page screenshots of every one, on desktop, tablet, or mobile. Automate it with the REST API.
Paste up to 50 URLs above, choose a device and image format, and the tool captures each page one by one in a real browser. You get 5 free screenshots without an account; pick a plan to capture more. For pipelines and scheduled jobs, call the same engine from your code with the Screenshot API reference.
The Agenty Screenshot API captures full-page or viewport screenshots of any URL using a real headless Chrome browser. It supports mobile device emulation, custom viewports, proxy rotation, cookie injection, and wait-for-element rules so you get pixel-perfect images even on JavaScript-heavy pages.
By default the API returns the raw image buffer. Pass responseType: "url" to upload the screenshot to our CDN and receive a hosted URL instead — ideal for social cards, dashboards, and Open Graph images.
Features
- Full-page captureStitch the entire scrollable page into one image.
- Bulk capturePaste a list of URLs and screenshot them in one run.
- Custom viewportsAny width, height, and device pixel ratio.
- PNG or JPEGPick the format that fits your use case.
- Proxy & geolocationCapture how a page looks from any country.
- Cookies & headersInject auth cookies and custom headers.
- Wait rulesWait for selector, network idle, or fixed delay.
- URL or bufferReturn image buffer or hosted CDN URL via responseType.
Use cases
- Generate Open Graph and social preview images on demand
- Visual regression testing across breakpoints and devices
- Archive landing pages for compliance and audit trails
- Monitor competitor pricing and marketing pages
- Build visual reports for SEO and uptime dashboards
API examples
View full API referencecurl -X POST https://api.agenty.ai/v1/screenshot \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}' \
--output screenshot.pngcurl -X POST https://api.agenty.ai/v1/screenshot \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"viewport": { "width": 390, "height": 844, "deviceScaleFactor": 3, "isMobile": true },
"options": { "fullPage": true, "type": "png" },
"responseType": "url"
}'const urls = ['https://example.com', 'https://agenty.com'];
// One request at a time keeps you inside your plan's rate limit
for (const url of urls) {
const res = await fetch('https://api.agenty.ai/v1/screenshot', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url,
options: { fullPage: true },
responseType: 'url', // get a link instead of the buffer
}),
});
const { url: image } = await res.json();
console.log(url, '->', image);
}import requests
res = requests.post(
"https://api.agenty.ai/v1/screenshot",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"url": "https://example.com", "options": {"fullPage": True}, "responseType": "url"},
)
print(res.json()["url"])How Agenty compares
| Feature | Agenty | Urlbox | ScreenshotOne | ApiFlash |
|---|---|---|---|---|
| Full-page capture | Yes | Yes | Yes | Yes |
| Mobile device emulation | Yes (15+ devices) | Yes | Yes | Limited |
| Proxy / geolocation | Yes (global) | Yes | Yes | No |
| Hosted URL response | Yes | Yes | Yes | Limited |
| Free tier | Yes | Yes | Yes | Yes |
Frequently asked questions
What is the Website Screenshot API?
The Agenty Screenshot API is a REST service that captures full-page or viewport screenshots of any URL. It uses headless Chrome to render pages exactly as a real user would see them, supporting mobile emulation, custom viewports, and multiple output formats. See the API reference for every parameter.
How do I take screenshots of multiple URLs at once?
Paste your URLs into the bulk tool at the top of this page, one per line, and click Capture screenshots. Each URL is processed in turn and you can download them one by one or all at once. To automate it, loop over your list and call POST /v1/screenshot for each URL, as shown in the API examples above.
How many free screenshots can I take?
You can capture 5 screenshots without an account. Sign in to keep going, and check the pricing page for monthly limits on each plan.
How do I get a URL instead of the image buffer?
Pass responseType: "url" in your request body. The API uploads the capture to our CDN and returns a hosted link in JSON, which you can embed in dashboards, emails, or Open Graph tags without downloading the image yourself.
What output formats are supported?
PNG and JPEG. Set options.type to "png" or "jpeg". PNG is best for crisp text and UI; JPEG keeps file sizes small for photo-heavy pages.
Can I capture mobile screenshots?
Yes. In the bulk tool, pick iPhone or iPad from the Device menu. With the API, pass a viewport with width, height, deviceScaleFactor, and isMobile: true, plus a mobile userAgent. Need the page as a document instead? Try bulk URL to PDF.
Can I capture pages behind a login?
Yes. Pass session cookies or setExtraHTTPHeaders with your request, or use authenticate for HTTP basic auth. To collect data from geo-restricted pages through a residential proxy, use the web scraper.
Is there a free tier?
Yes. Every new account includes a 100 free monthly credit allowance. See our pricing page for current limits and paid plans.