Website Screenshot API: full-page, element, mobile & PDF
Pricing
from $2.00 / 1,000 screenshots
Website Screenshot API: full-page, element, mobile & PDF
Capture screenshots of any list of URLs with real Chromium: viewport, full-page, element and PDF captures in PNG, JPEG, WebP or PDF, with cookie-banner hiding, ad blocking, dark mode and custom CSS/JS. Also usable as a live HTTP API via Standby mode. By Steadyline Data.
Pricing
from $2.00 / 1,000 screenshots
Rating
0.0
(0)
Developer
Steadyline Data
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Capture pixel-accurate screenshots of any number of web pages with a real Chromium browser (Playwright). You can capture the viewport, the full scrolling page, a single element, or an A4 PDF, in PNG, JPEG or WebP. Every image is stored in the run's key-value store and returned with a shareable link. Built and maintained by Steadyline Data.
Features
- Viewport presets: desktop 1920×1080, laptop 1366×768, tablet 820×1180 @2x, mobile 390×844 @3x (iPhone user agent and touch), or a custom size and pixel density.
- Full page: the Actor scrolls the page first so lazy-loaded images appear, then captures the whole page.
- Element capture: pass a CSS selector such as
headeror#pricingand only that element is captured. - Formats: PNG, JPEG and WebP (with quality), or PDF with backgrounds.
- Clean captures: cookie and consent banners from about 60 common consent managers and generic banners (OneTrust, Cookiebot, Didomi, Quantcast, Usercentrics, CookieYes and more) are hidden, never accepted. Requests to about 60 ad, tracker and chat-widget hosts are blocked, and you can add your own selectors to hide.
- Dark mode (
prefers-color-scheme: dark), custom CSS, and custom JavaScript that runs only inside the page's browser sandbox, for example to open a tab before capturing. waitUntil(networkidle, load or domcontentloaded), an extra delay, per-page timeouts, retries and concurrency.- Standby mode (live HTTP API): call
GET https://steadyline--website-screenshot.apify.actor/?url=example.com&viewport=mobile&fullPage=true&format=jpegwith your Apify token (Authorization: Bearer <token>) and the image comes back directly in the response. Query parameters use the same names as the input fields. Custom JS is only available in batch mode.
Output
Each URL produces one dataset row: url, finalUrl, status (HTTP), title, imageUrl (signed link to the stored image), kvKey, format, viewport, fullPage, width, height, bytes, takenAt and error.
Real output from a cloud test run (mobile preset). The second row shows a site that blocked the request with HTTP 403. That page is still captured so you can inspect it, but it is reported as an error and not charged:
[{"url": "https://www.wikipedia.org/","finalUrl": "https://www.wikipedia.org/","status": 200,"title": "Wikipedia","imageUrl": "https://api.apify.com/v2/key-value-stores/dYFMufuifjQUD6KJK/records/www-wikipedia-org-mobile-239cbc0600.png?signature=\u2026","kvKey": "www-wikipedia-org-mobile-239cbc0600.png","format": "png","viewport": "mobile","fullPage": false,"width": 390,"height": 844,"bytes": 391574,"takenAt": "2026-10-29T22:48:02.131Z","error": null},{"url": "https://www.nytimes.com/","finalUrl": "https://www.nytimes.com/","status": 403,"title": "nytimes.com","imageUrl": "https://api.apify.com/v2/key-value-stores/dYFMufuifjQUD6KJK/records/www-nytimes-com-mobile-5f9de1a079.png?signature=\u2026","kvKey": "www-nytimes-com-mobile-5f9de1a079.png","format": "png","viewport": "mobile","fullPage": false,"width": 390,"height": 844,"bytes": 106777,"takenAt": "2026-10-29T22:48:01.686Z","error": "HTTP 403: page returned an error or blocked the request (captured for reference, not charged)"}]
Pricing and cost example
Pay per event, with platform usage included:
screenshot: $0.002 per successful viewport or element screenshot.screenshot-fullpage-or-pdf: $0.004 per successful full-page screenshot or PDF.
Failed captures are never charged: DNS errors, timeouts, missing selectors and pages that answer with HTTP 4xx or 5xx. For example, 1,000 product pages captured as viewport PNGs cost $2.00, and 500 full-page JPEG captures cost $2.00. You can cap spend with the run's maximum total charge.
Tips and limits
- Use about 3 concurrent pages per 2 GB of memory. Full-page captures of very long pages (above roughly 16,000 px) can be heavy, and WebP is limited by the browser's canvas size.
- Some sites block cloud data-centre IPs, for example with HTTP 403. Those rows are flagged with
errorand not charged. networkidlefalls back gracefully on sites that never stop polling.
Acceptable use and legal
Only capture pages you are allowed to access. Respect each website's terms of service, robots rules and copyright, and do not use this Actor to bypass logins, paywalls or access controls, or to collect personal data unlawfully. Screenshots may contain third-party trademarks and copyrighted material, and you are responsible for how you use them. Steadyline Data is not affiliated with any of the websites you capture.
Support
Questions or feature requests: open an issue on the Actor's Issues tab.
Roadmap: proxy support, so you can capture sites that block data-centre IPs.