Website Screenshot API – Bulk Full Page PNG, JPEG & PDF
Pricing
$3.00 / 1,000 screenshot takens
Website Screenshot API – Bulk Full Page PNG, JPEG & PDF
Website screenshot API & URL to image converter for many URLs at once: full-page or viewport capture as PNG/JPEG, webpage to PDF, website thumbnails, desktop or mobile, cookie banners hidden. Each image gets a public URL; one dataset row per page with status, final URL, size and errors.
Pricing
$3.00 / 1,000 screenshot takens
Rating
0.0
(0)
Developer
Forever Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
Bulk Website Screenshot (PNG, JPEG, PDF)
Paste a list of URLs and get a screenshot of every page, each with its own public image URL. You can choose full-page or viewport-only, PNG, JPEG or PDF, desktop or mobile, and set a custom viewport, wait strategy and delay. Common cookie consent banners are hidden (best effort) so the page itself is what you see. Runs real Chromium (Playwright).
Use it to: archive or monitor landing pages, check that a redesign rendered correctly across many pages, get competitor page snapshots, add thumbnails to a directory or CMS, make visual QA reports, collect evidence of how a page looked on a date, or save pages as PDFs.
How it works
- You pass a list of URLs. Each is trimmed, given
https://if it has no scheme, and exact duplicates are removed. OnlyhttpandhttpsURLs are accepted. - Each URL is opened in a fresh, isolated Chromium browser context (no cookies, logged out) using your device and viewport settings. Up to 3 pages are captured at the same time.
- The actor waits for the
loadevent or fornetworkidle, then for your optional extra delay, and injects CSS that hides common cookie banners. - It takes the PNG, JPEG or PDF, saves it in the run's key-value store and writes one dataset row with the public link, final URL, HTTP status and image size.
Features
- Bulk: any number of URLs, captured 3 at a time. If one URL fails, the error goes in its row and the run keeps going.
- Formats: PNG (lossless), JPEG (quality 85, much smaller), or PDF (screen styles, backgrounds kept, one tall page).
- Full page or viewport:
fullPagescrolls the whole page into one image. - Devices: Desktop (viewport default 1280×800, configurable from 200 to 3840 wide and 200 to 2160 high) or Mobile (iPhone-class 390×844 at 3× scale with a touch-enabled mobile user agent).
- Wait control:
load(fast) ornetworkidle(better for JS-heavy apps), plus an extra delay of up to 30 seconds for animations and lazy-loaded content. If a page never reaches the wait condition within the timeout but something has rendered, whatever is there is captured and a note is added. - Animations disabled in PNG/JPEG captures, so screenshots are stable and repeatable.
- Cookie banner hiding (best effort): CSS rules for OneTrust, Cookiebot, Didomi, Quantcast, TrustArc,
Usercentrics, Osano, CookieYes, Complianz, iubenda, Sourcepoint, Funding Choices, HubSpot, Klaro, Axeptio,
tarteaucitron, Borlabs, Termly and generic
cookie-banner/cookie-consentpatterns. Banners are hidden, never clicked, so no consent is given on your behalf.
Use cases
Website monitoring and visual archiving
Schedule a run on key pages (pricing, landing pages, terms) and keep the image links as dated evidence of how a page looked.
Visual QA after a redesign
Capture the same URLs on desktop and on mobile, then review them in the dataset's image preview table.
Competitor snapshots and thumbnails
Take full-page shots of competitor pages, or viewport-only JPEGs (fullPage: false) as small previews for a directory or CMS.
PDF copies of web pages
Save documentation or article pages as PDFs with backgrounds kept.
Input
{"urls": ["https://example.com", "apify.com"],"format": "png","fullPage": true,"device": "desktop","viewportWidth": 1280,"viewportHeight": 800,"waitUntil": "load","delayMs": 0,"hideCookieBanners": true,"timeoutSecs": 45}
URLs without a scheme get https://. Duplicate URLs are captured only once. Optional maxConcurrency (1 to 3, default 3) lowers the number of pages captured in parallel. timeoutSecs is the navigation timeout per URL (5 to 180, default 45).
Output (one dataset row per URL)
{"url": "https://example.com/","finalUrl": "https://example.com/","status": 200,"screenshotUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/0001-example.com.png","width": 1280,"height": 800,"bytes": 20874,"format": "png","device": "desktop","error": null}
screenshotUrlis a direct link to the file in the run's key-value store. Open it in a browser, embed it, or download it. Files are named by input position and hostname (JPEG files end in.jpg).width/heightare in pixels. Mobile images are 3× the CSS size, e.g. 1170 px wide. For PDFs they are the page size in CSS px.statusis the HTTP status of the final response. 4xx/5xx pages are still captured anderrorsaysHTTP 404, etc.erroris set when a page couldn't be loaded (DNS failure, timeout with nothing rendered, connection refused...). Those rows have no screenshot. It is also used for the partial-load note. Certificate errors do not fail a capture: the page is loaded anyway.
The Overview table in the Console shows image previews. Export the dataset as CSV, JSON or Excel, or fetch it via the API.
Pricing
$0.003 per screenshot ($3 per 1,000). No subscription, and you also pay Apify platform usage as shown on your plan.
- 100 pages = $0.30
- 1,000 pages = $3.00
- 50 landing pages captured weekly = $0.15 per run
What is charged: one event for every URL where a screenshot file was saved. That includes pages that answered with an error status such as 404 (they are captured, so they are charged) and partially loaded pages. What is not charged: URLs that failed with no screenshot (DNS failure, timeout with nothing rendered, invalid URL). If you set a maximum cost per run, the actor stops once that limit is reached.
Tips
- Single-page apps: with
waitUntil: "load"and nodelayMsthe actor already waits up to 4 s for the network to go quiet, so most script-rendered pages are captured fully; for slow ones usewaitUntil: "networkidle"or adelayMsof 1000–3000. - Very long pages make very large PNGs. Use JPEG, or turn off
fullPage. - PDFs are one continuous page (height capped at about 19,200 px by Chromium), not split into A4 sheets. With
fullPage: false, the PDF contains one page of viewport height. - Pages behind a login, a CAPTCHA or bot protection may capture as the challenge page.
Limitations
- Cookie banner hiding is best effort. Uncommon or custom consent popups may still show.
- The actor captures what the page shows to a fresh, logged-out visitor with no cookies. There is no login, cookie or custom header input.
- There is no element selector or CSS-selector capture; it captures the page or viewport only.
- Respect the terms of the sites you capture.
- Built and maintained with AI assistance. Issues are answered asynchronously.
FAQ
Can I screenshot many URLs at once? Yes. Add any number of URLs; they are captured 3 at a time and each gets its own dataset row and image link.
Can it capture the full scrollable page?
Yes, fullPage is on by default for PNG and JPEG. Turn it off for viewport-only shots.
How do I get a mobile screenshot?
Set device to mobile. It uses a 390×844 iPhone-class viewport at 3× scale with a touch-enabled mobile user agent; the viewport fields are ignored.
Are cookie banners removed? Common ones from the frameworks listed above are hidden with CSS. The actor never clicks "accept". Unusual banners can still appear.
Am I charged for pages that fail? No. Only URLs that produced a saved screenshot are charged. A page that loads but returns 404 is captured and charged.
Related tools
Other actors by the same developer (same flat pay-per-result pricing, no subscription):
- App Store Reviews Scraper – Apple iOS, Multi-Country
- Article Scraper & Text Extractor – Clean Markdown for LLM/RAG
- Job Postings & Career Page Scraper – Workday, Greenhouse, Lever
- Bluesky Posts Scraper – Profiles & Threads, No Login
- Company Enrichment from Domain (Logo, Socials, Tech)
- DNS Lookup & WHOIS Domain Checker — SPF/DMARC, SSL Expiry
- Email Validator & MX Record Checker – Bulk, Disposable, Role
- Bulk PageSpeed Insights, Lighthouse & Core Web Vitals
- PDF Extractor & Parser – Bulk PDF to Text with Metadata
- SEO Audit Crawler & Broken Link Checker – Website Health
- Sitemap Extractor & Bulk URL Status Checker
- Steam Reviews Scraper – Game Reviews & App Details
- Website Technology Detector – Tech Stack, CMS & Analytics
Integrations
Run it from the Apify API, a schedule, or no-code tools: the Apify apps for Zapier, Make and n8n can start any public actor ("Run Actor") and read its dataset. AI agents can call it through the Apify MCP server.
Ready-made examples
One-click tasks you can run or copy and adapt:
- Mobile screenshots of SaaS homepages for design research
- Convert web pages to PDF in bulk (documentation pages)
- Full-page desktop screenshots of competitor landing pages
- Website thumbnails: above-the-fold JPEG screenshots in bulk
- Screenshot news site homepages (above the fold, desktop)
- SaaS pricing page screenshots for competitor tracking
- Above-the-fold screenshots of homepages at 1440×900
- Tablet-width (768 px) screenshots to check responsive layouts