Website Screenshot API - Bulk, Full Page & Visual Change Alerts
Pricing
from $3.00 / 1,000 screenshots
Website Screenshot API - Bulk, Full Page & Visual Change Alerts
Screenshots of many web pages (desktop or mobile, full page), and alerts when a page visually changes.
Pricing
from $3.00 / 1,000 screenshots
Rating
0.0
(0)
Developer
Afterstar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Pricing: $3.00 per 1,000 screenshots, $7.00 per 1,000 full-page screenshots, in every mode.
What does Website Screenshots do?
For each URL: a screenshot in headless Chrome, desktop (1366×768) or mobile (iPhone size), the visible area or the full page, PNG or JPEG, saved with a download link in each row, plus the final URL, HTTP status and page title. In 'New, changed and removed' mode it's a visual change monitor: a page counts as changed when its look moves past a threshold (perceptual hash) on two runs in a row, and the row links the old and the new screenshot.
Run it once, or schedule it to alert you when a page really changes how it looks. The tool remembers what it has seen, in a storage in your own Apify account.
What you get
| Shots | Desktop (1366×768) or mobile (iPhone size); the visible area or the full page; PNG or JPEG |
| Per URL | A download link to the screenshot, the final URL, HTTP status and page title |
| Full page | Scrolls first so lazy images load; up to 10,000 px tall (taller pages are capped and say so) |
| Change alerts | 'Changes' mode compares how each page looks (perceptual hash) and links the old and new shot |
| Price | $3.00 per 1,000 screenshots, $7.00 per 1,000 full-page screenshots; failed pages are free |
Use cases
- Archive how your or your competitors' pages look, weekly.
- Get alerted when a page visually changes (pricing pages, landing pages, partner sites).
- Screenshots for reports, QA and link previews.
Input
| Field | What it does |
|---|---|
| URLs | Pages, one per line |
| Devices | Desktop, mobile or both |
| Full page | The whole page instead of the visible area |
| Format | PNG or JPEG |
| Wait after load | Extra wait for late content (default 1 s) |
| Hide these elements | Optional CSS selectors (like #chat-widget) hidden before the shot |
| Hide common cookie banners | Hides the consent boxes of the common cookie tools before the shot (off by default) |
| Change threshold | How different a page must look to count as changed (default 12) |
| Output mode | All results, only new results, or new + changed + removed results |
Output
One row per screenshot:
{"id": "shot:https://example.com/|desktop|0","changeType": "changed","url": "https://example.com/","device": "desktop","screenshotUrl": "https://api.apify.com/v2/key-value-stores/…/records/shot-….png","width": 1366,"height": 768,"partlyLoaded": null,"capped": null,"pageHeight": null,"visualDistance": 31,"previousScreenshotUrl": "https://api.apify.com/v2/key-value-stores/…/records/shot-….png"}
Every row has every key (null when there's no value). changeType is new, changed, unchanged or
removed; a changed row lists changedFields and the previous values. If a source fails or rate-limits the
request, you get one row with changeType: "status" and a statusCode instead of an error, and it's free.
Schedule it
- Fill in the input and save it as a task.
- Run it once with Baseline only switched on: it remembers the current results and lists nothing. Or skip this and accept that the first scheduled run lists everything once.
- Set Output mode to Only new results or New, changed and removed, and add a schedule.
- Connect an integration (Slack, Google Sheets, Zapier, Make, n8n), or put a webhook URL in the input.
Each saved task keeps its own memory; switching a task between modes keeps it. Each run saves a summary (OUTPUT in
the run's key-value store) with the counts.
Apify webhook template (Integrations → Webhook → payload):
{"datasetUrl": "https://api.apify.com/v2/datasets/{{resource.defaultDatasetId}}/items?clean=true&format=json"}
How much does it cost?
- $3.00 per 1,000 screenshots of the visible area, $7.00 per 1,000 full-page screenshots (on paid Apify plans 10-30% less). In 'changes' mode you pay for every screenshot checked, but only the changes are listed.
- Example: 1,000 screenshots cost $3.00 (full page: $7.00); a daily screenshot of 50 pages costs about $4.50 a month (full page: about $10.50), plus Apify's start fee: $0.00010 per run.
- Status rows (errors) are free. Set a spending limit on the run and the tool stops there.
Good to know
- You pay per screenshot taken; pages that fail to load (or answer an error) are free.
- Each shot has 18 seconds in total (full page: 35 seconds). A slow page is captured as soon as its content is there, even if trackers are still loading; a page that can't be captured in time gets a free 'timed out' row.
- Full-page shots scroll down the page first, so images that load on scroll appear, and wait up to 4 seconds for images still loading. If the page couldn't be scrolled to the end or images were still loading, the shot is taken anyway and the row says
partlyLoaded: true. - If a pop-up locks the page so its lower part never renders, the tool undoes the lock (the pop-up stays in the picture). A full-page shot that still comes out blank below the first screen is retried once; if it's still blank, it's attached free with an error saying so.
- Full-page shots are at most 10,000 pixels tall (on mobile, 5,000 page pixels at 2x). A taller page is captured from the top down to that height, and the row says
capped: truewith the page's real height inpageHeight. Most pages fit; long news front pages and articles (such as BBC, 13,000 pixels, or Wikipedia's 'United States', 76,000 pixels) are capped. - Pop-ups and cookie banners appear as a first-time visitor sees them, unless you hide them: 'Hide common cookie banners' hides the consent boxes of the common cookie tools (OneTrust, Cookiebot, Didomi, Usercentrics and others; never accepted, only hidden), and 'Hide these elements' hides anything else you name. Banners made another way may stay.
- Screenshot links are stored in the run's storage; download them if you need them long term.
- A visual change needs to hold on two runs in a row, so a one-off pop-up or rotating banner doesn't alert you.
How it compares
| Instead of | With this tool |
|---|---|
| Taking screenshots by hand | A whole list in one run, desktop or mobile, visible area or full page |
| A monthly screenshot plan | Pay per screenshot taken; nothing when you don't run it |
| Change monitors that compare page text | Compares how the page looks, and a change must hold on two runs in a row, so a one-off pop-up doesn't alert you |
FAQ
What sizes can I get? Desktop (1366×768) or mobile (iPhone size), the visible area or the full page, as PNG or JPEG.
How tall can a full-page shot be? Up to 10,000 pixels (on mobile 5,000 page pixels at 2x). A taller page is captured from the top down to that height, and the row says capped: true with the page's real height.
What about cookie banners and pop-ups? By default they appear as a first-time visitor sees them. Switch on 'Hide common cookie banners' to hide the consent boxes of the common cookie tools (hidden, never accepted), and list anything else, like a chat widget, in 'Hide these elements'. If a pop-up locks the page so it can't scroll, the tool undoes the lock.
How do change alerts work? Set Output mode to 'New, changed and removed results' and schedule it. A page counts as changed when its look moves past a threshold on two runs in a row, and the row links the old and the new screenshot.
Am I charged when a page fails? No. Pages that don't load, answer an error or time out give a free row.
How long are the screenshots kept? They're in the run's storage in your Apify account, under Apify's data retention; download them if you need them for longer.
Source: the pages you provide, rendered in headless Chrome (Playwright). Check only sites you're allowed to.
More Afterstar tools
- Website Tech Stack Detector - CMS, Analytics & Frameworks: Shows which technologies (shop system, CMS, analytics, frameworks) each website in your list uses, and what changed.
Found a problem or need a field? Open an issue on the Issues tab.