Website Screenshot & PDF: Full-Page, No Cookie Banners
Pricing
from $2.60 / 1,000 screenshots
Website Screenshot & PDF: Full-Page, No Cookie Banners
Capture any URL or HTML as a full-page PNG/JPEG screenshot or PDF. Auto-accepts cookie banners, loads lazy images, blocks ads, device presets, bulk URLs. $3/1,000, compute included, failed captures free.
Pricing
from $2.60 / 1,000 screenshots
Rating
0.0
(0)
Developer
Nicholas Powers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Website Screenshot & PDF: full-page captures without cookie banners
Turn any URL (or your own HTML) into a full-page PNG/JPEG screenshot or a PDF in seconds. Cookie banners are accepted automatically, lazy-loaded images are scrolled into view, ads are blocked, and emoji and Asian characters render correctly. Run one URL or thousands in bulk from the Console, the API, Make, Zapier, n8n, or an AI agent.
One simple price, no surprise compute bill: $3 per 1,000 captures, and failed captures are free.
What can it do?
- 📸 Full-page screenshots of long pages, capped at a height you choose (
maxHeight, default 16,000 px) so files stay usable - 🍪 Cookie banners dismissed: clicks "Accept" on OneTrust, Cookiebot, Didomi, Quantcast, Sourcepoint, Usercentrics, TrustArc, Google consent, CookieYes, iubenda, and generic banners in 10+ languages, then hides any leftovers
- 🖼️ Lazy-loaded images loaded: fast, time-bounded scrolling that stops at your
maxHeightand returns to the top, so infinite feeds never stall a run - 📄 PDF output: A4, Letter, Legal, A3, or Tabloid; portrait or landscape; margins; screen or print CSS
- 📱 Device presets: desktop 1920/1440, laptop 1366, MacBook Retina, iPad, iPhone 15, Pixel 9, Open Graph 1200×630, or a custom size and pixel density
- 🎯 Element capture: screenshot only
#pricing, a chart, or a tweet card with a CSS selector - 🌙 Dark mode, sticky-header freezing, hide any element (chat widgets, popups)
- 🧾 Raw HTML to PDF/PNG: invoices, reports, certificates, social images
- 🚫 Ads and trackers blocked, video streams skipped, for faster and cleaner captures
- ⏱️ Never "loading forever": slow trackers and pages that never reach network idle fall back to what has loaded, with a note in the output
- 🔗 Direct file links in the dataset (
screenshotUrl,pdfUrl) and image previews in the Console table - 🛡️ Safe by default: private, internal, and cloud-metadata addresses are refused
How much does it cost?
You pay per successful file. Platform compute is included, so there is no separate usage bill.
| Event | Free & Bronze | Silver | Gold & above |
|---|---|---|---|
| Screenshot (PNG or JPEG) | $0.003 | $0.0028 | $0.0026 |
| $0.003 | $0.0028 | $0.0026 | |
| Run start (once per run) | $0.0005 | $0.0005 | $0.0005 |
Examples (Free/Bronze price):
- 1 screenshot: about $0.0035
- 1,000 full-page screenshots: about $3.00
- 1,000 URLs as PNG + PDF: about $6.00
- 10,000 screenshots per month for SEO or visual monitoring: about $30 (Gold: $26)
- 100,000 Open Graph images from HTML: about $300 (Gold: $260)
Failed pages (DNS errors, timeouts, blocked sites) cost nothing. Set Max cost per run in the run options and the Actor stops before going over it.
How to use it
- Add one or more URLs (or paste HTML).
- Pick formats (PNG, JPEG, PDF) and a device.
- Click Start. Open the Captures tab to see previews, or download files from the Files tab.
Input example
{"urls": [{ "url": "https://www.bbc.com/news" }, { "url": "https://react.dev" }],"formats": ["png", "pdf"],"device": "desktop-1440","fullPage": true,"dismissCookieBanners": true,"maxHeight": 16000}
Output example (one dataset item per URL)
{"url": "https://www.bbc.com/news","finalUrl": "https://www.bbc.com/news","status": 200,"title": "BBC News - Breaking news, video and the latest top stories","success": true,"screenshotUrl": "https://api.apify.com/v2/key-value-stores/<store>/records/bbc.com-news-2b552f.png?signature=...","pdfUrl": "https://api.apify.com/v2/key-value-stores/<store>/records/bbc.com-news-2b552f.pdf?signature=...","outputs": { "png": { "key": "bbc.com-news-2b552f.png", "bytes": 4065487, "width": 1440, "height": 6766 } },"pageHeight": 6766,"loadTimeMs": 5902,"notes": ["Cookie banner: clicked \"Accept and Continue\"."],"error": null}
Failed URLs appear with success: false, a plain-English error, and an errorCode (DNS, TIMEOUT, TLS, BLOCKED_HOST, SELECTOR_TIMEOUT, ELEMENT_NOT_FOUND, CRASH).
Call it from the API
curl -X POST "https://api.apify.com/v2/acts/genesis.labs.co~website-screenshot-pdf/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"urls":[{"url":"https://example.com"}],"formats":["png"]}'
The response holds each item with its screenshotUrl, so a single HTTP call works as a screenshot API.
Use cases
- SEO and marketing: archive SERP landing pages, competitor homepages, and pricing pages
- Visual monitoring and QA: daily screenshots of your site on desktop and mobile
- Compliance and evidence: PDF snapshots of terms, ads, and listings with timestamps
- AI agents and RAG: give vision models a clean, banner-free image of a page
- Social images: render HTML templates into 1200×630 Open Graph images
- Documents: turn HTML invoices and reports into PDFs
Tips and troubleshooting
- Blank or "access denied" captures: the site blocks datacenter browsers. Turn on Proxy (residential), and add
waitForSelectorordelayMs. - Part of the page missing: raise
maxHeight(up to 30,000 px) ormaxScrollMsfor long feeds. - A header repeats down the page: turn on Freeze sticky headers.
- Only want the top of the page: set
fullPageto false, or use a smallmaxHeight. - Heavy single-page apps: use
waitUntil: networkidle; the Actor still captures if the network never goes quiet. - A banner was not dismissed: add its selector to Hide elements.
FAQ
Is there an extra compute charge? No. The price above includes platform compute. You only pay Apify separately if you turn on a proxy.
How long are files kept? In the run's key-value store, under your account's data retention. Links in the dataset are signed, so they work without your token.
How many URLs can I run at once? Thousands. Pages are captured in parallel (about 3 per 2 GB of memory; set maxConcurrency to change it).
Can I screenshot pages behind a login? Not yet. Public pages and your own HTML only.
Is it legal? Capturing public web pages is generally fine, but respect each site's terms and copyright, and don't capture personal data without a legal basis.
Questions or a site that doesn't capture well? Open an issue on the Issues tab; we read every one.