Website Screenshot & PDF — full page, element, print CSS
Pricing
$6.00 / 1,000 results
Website Screenshot & PDF — full page, element, print CSS
Render any public URL in real Chromium: full-page PNG/JPEG, one element by CSS selector, or a print-quality PDF. Wait for JS, suppress consent banners, choose desktop/mobile and 2x retina, and get sha256 metadata per result. Optional proxy; pay per result.
Pricing
$6.00 / 1,000 results
Rating
0.0
(0)
Developer
Andy Wang
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
Turn any public URL into a PNG or JPEG screenshot — the whole page, the viewport, or one element by CSS selector — or a print-quality PDF. Real Chromium, so JavaScript apps render, and a short wait for the content you actually want.
What you get
One dataset item per URL, with the file in the run's key-value store:
{"url": "https://example.com","finalUrl": "https://example.com/","statusCode": 200,"title": "Example Domain","format": "png","width": 1280,"height": 10036,"bytes": 86742,"sha256": "…","key": "example-com-136e68.png","billed": true,"fetchedAt": "2026-10-22T20:24:00.000Z","elapsedMs": 1161}
billed is false for 4xx/5xx pages: you still get the image (often the error
or challenge page), but it is not charged.
What makes it different
- Element capture — screenshot one card, table, chart or map with
selector, not the whole page. - True full page — captures the entire scroll height, not just a scroll to the bottom.
- Retina output —
deviceScaleFactor2 or 3. - Wait for a selector —
waitForSelectorfor results that load after the page settles. - Consent suppression — common cookie/GDPR/paywall overlays are hidden
automatically, plus up to 20 custom
hideSelectors. - Honest metadata — final URL, HTTP status, title, bytes and sha256.
- Optional Apify Proxy — one session per URL for bot-protected sites.
Input
| Field | Default | What it does |
|---|---|---|
startUrls | — | Pages to render (1–50 per run) |
format | png | png, jpeg or pdf |
fullPage | true | Entire scrollable page, not just the viewport |
selector | — | Capture only the first element matching this CSS selector |
viewportWidth / viewportHeight | 1280 / 800 | Browser size; 390×844 for a phone layout |
deviceScaleFactor | 1 | 2–3 for retina output |
waitUntil | networkidle | load, domcontentloaded, networkidle, commit |
waitForSelector | — | Wait for this selector before capturing |
delayMs | 0 | Extra wait for animations/late paints |
hideBanners | true | Hide common cookie/consent/paywall overlays |
hideSelectors | — | Up to 20 selectors to hide |
pdfFormat | A4 | A4 or Letter |
printBackground | true | Include background colours in PDFs |
quality | 80 | JPEG quality |
proxyConfiguration | — | Optional Apify Proxy |
maxPages / timeoutSecs | 10 / 30 | Run bounds |
Use cases
- Visual regression and change monitoring with the scheduler
- Social previews and OG images for CMS content
- Archiving a receipt, invoice or dashboard as PDF
- Capturing a single chart or table for a report
- Rendering JS-heavy pages that plain HTTP fetchers return empty
Pricing
Pay per result: $0.006 per capture (screenshots and PDFs the same). A 4xx/5xx page is delivered but not charged. The Apify free tier still applies.
Limits
- Public HTTP(S) pages only; private, loopback and link-local addresses are refused at the top level and for subresources.
- Sites behind aggressive bot checks may return the challenge page; the status code is recorded and the run does not crash. Optional Apify Proxy helps.
- Login-gated pages are out of scope. No captcha solving.
- PDFs follow the browser's print layout; heavily virtualised pages may not paginate perfectly.