Website Screenshot Pro
Pricing
from $2.00 / 1,000 screenshot captureds
Website Screenshot Pro
Pixel-perfect screenshots of any URL: full page, mobile devices, dark mode, cookie-banner removal, PNG/JPEG/WebP.
Pricing
from $2.00 / 1,000 screenshot captureds
Rating
0.0
(0)
Developer
Andrew Schneidwind
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Website Screenshot Pro ๐ธ โ full-page screenshots that actually work
Capture pixel-perfect screenshots of any website โ full page or viewport, desktop or mobile, light or dark mode โ and get back clean image files plus a structured dataset with download URLs.
Built for reliability: automatic cookie-banner removal, lazy-load scrolling, animation freezing, and a smart fallback when pages never finish loading.
Why this Actor?
- โ Full-page screenshots that actually work โ auto-scrolls first so lazy-loaded images render instead of showing up as blank gaps
- ๐ช Cookie banners removed automatically โ covers OneTrust, Cookiebot, Didomi, Usercentrics, Quantcast, Osano, HubSpot, and more
- ๐ฑ Real device presets โ iPhone 15, iPhone SE, Pixel 7, iPad, Galaxy S23, or any custom desktop viewport up to 4K
- ๐ Dark mode rendering โ capture how your site looks with
prefers-color-scheme: dark - ๐ผ๏ธ PNG, JPEG, or WebP output with quality control
- ๐ฏ Wait controls โ wait for a CSS selector, add a fixed delay, or tune the navigation timeout
- ๐งน Hide anything โ pass extra CSS selectors to remove sticky headers, chat widgets, or popups
- ๐ฐ Pay only for successful screenshots โ failed pages are never charged
How to screenshot a website
- Paste one or more URLs.
- Pick full page or viewport, a device preset or custom viewport, and the image format.
- Click Start. Images land in the key-value store with direct download links in the dataset.
One URL or ten thousand โ same three steps.
Input example
{"urls": [{ "url": "https://apify.com" }],"fullPage": true,"format": "png","device": "desktop","viewportWidth": 1920,"hideCookieBanners": true,"darkMode": false}
Output
Screenshots are saved to the run's key-value store. The dataset contains one record per URL with a direct download link:
{"url": "https://apify.com","screenshotUrl": "https://api.apify.com/v2/key-value-stores/.../records/screenshot_001_apify.com.png","format": "png","fullPage": true,"device": "desktop","bytes": 245133,"status": "SUCCEEDED"}
Failed URLs get "status": "FAILED" with an error message โ and are not charged.
Pricing
$2.00 per 1,000 screenshots captured, plus a few cents of platform usage. Failed pages are never charged. No subscriptions, no minimums โ perfect for both one-off batches and scheduled monitoring.
Use cases
- AI agents & LLM apps โ give your agent eyes; capture pages for visual analysis or archiving
- Monitoring โ schedule daily screenshots of your site, competitors, or price pages
- Link previews & social cards โ generate preview images for URLs at scale
- Archiving & compliance โ keep visual records of pages at a point in time
- QA & design review โ check how pages render on mobile devices and in dark mode
Using via API
Like every Apify Actor, you can run it via REST API, the Apify JavaScript/Python clients, CLI, or on a schedule. Integrate with Make, Zapier, n8n, LangChain, and more.
curl -X POST "https://api.apify.com/v2/acts/originalvi~website-screenshot-pro/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{ "urls": [{ "url": "https://example.com" }] }'
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("originalvi/website-screenshot-pro").call(run_input={"urls": [{"url": "https://example.com"}, {"url": "https://news.ycombinator.com"}],"fullPage": True,"device": "iphone15",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["url"], "โ", item["screenshotUrl"])
FAQ
Does it work on sites that block bots? Most sites render fine. For strict ones, enable Apify Proxy (residential) in the input.
How do I screenshot pages behind a login? Not supported in this version โ reach out via the Issues tab if you need it and I'll prioritize it.
A page renders incompletely โ what should I try?
Add a waitForSelector for the main content element, or set delayMs to 2000โ5000. For full-page shots keep scrollToBottom enabled.
Can I capture a specific element only?
Pass CSS selectors in hideSelectors to strip everything else, or open an issue โ element-clipping is on the roadmap.
What's the maximum page size? Full-page captures handle very long pages (tens of thousands of pixels). Extremely long pages are capped by Chromium's internal limits; the Actor falls back to the maximum capturable height.
How fast is it? A typical page takes 3โ8 seconds including navigation. Batches run URLs sequentially within one run; start several runs in parallel for large jobs.
More Actors by this developer
- eBay Sold Listings Scraper โ real sold prices + price statistics
- Google Trends Explorer โ interest over time, related queries & topics
- Google News Scraper โ structured news articles by keyword
- App Store Reviews Scraper โ iOS reviews & ratings across 20+ countries
- Hacker News Scraper โ HN stories & comments by keyword
Found a problem?
Open an issue on the Issues tab and I'll fix it fast โ usually within a day.