Website Screenshot & URL to PDF avatar

Website Screenshot & URL to PDF

Pricing

from $2.00 / 1,000 screenshot or pdfs

Go to Apify Store
Website Screenshot & URL to PDF

Website Screenshot & URL to PDF

Full-page screenshots (PNG, JPEG, WebP) or PDFs of any list of URLs. Desktop, laptop, tablet and mobile views. Cookie banners and chat widgets hidden, lazy images loaded. Failed URLs and blank pages are free.

Pricing

from $2.00 / 1,000 screenshot or pdfs

Rating

0.0

(0)

Developer

Tran Nam

Tran Nam

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Security

Limited permissions

Share

Take full-page screenshots of any list of URLs as PNG, JPEG or WebP, or turn web pages into PDF documents. Capture desktop, laptop, tablet and mobile views in one run. Cookie banners and chat widgets are hidden, lazy-loaded images are loaded, and you only pay for real captures: failed URLs and blank pages are free.

What it does

  • 📸 Full-page or first-screen screenshots, up to 16,384 px tall and exactly as wide as the screen you chose. Long pages come out right instead of repeating the top of the page halfway down.
  • 🖼️ PNG, JPEG, WebP or PDF. PDFs in A4, Letter, Legal, A3 or Tabloid, portrait or landscape, with selectable text.
  • 📱 Desktop (1920×1080), laptop (1440×900), tablet (820×1180), mobile (393×852) or any custom size, with real mobile emulation and an optional retina (2×, 3×) pixel density.
  • 🍪 Clean captures: cookie and consent banners (OneTrust, Cookiebot, Didomi, Quantcast, Usercentrics, CookieYes, Sourcepoint and many more) and chat widgets (Intercom, Drift, HubSpot, Zendesk, Crisp, Tidio, LiveChat…) are hidden. Nothing is clicked and no consent is given.
  • 🐢 Lazy-loaded images appear: the page is scrolled through before the capture.
  • 🧩 Web apps captured whole: dashboards and apps that scroll a panel instead of the page come out complete, not just their first screen.
  • ⏳ No loading screens: a page that is still blank or shows only a spinner after loading gets up to 10 more seconds to show its content.
  • 🎯 Element screenshots: capture only #pricing, main or any CSS selector.
  • 🌙 Dark mode, browser language, custom CSS, hide any element, wait for an element, extra delay.
  • ⏱️ Slow pages still work: a page that has not finished loading after 15 seconds is captured anyway.
  • ✅ Clear results: one row per file with a preview, a download link, the HTTP status and a plain-English error for every failed URL.

How to use it

  1. Paste your URLs (one per line; example.com works too).
  2. Choose the format and the devices.
  3. Click Start. Each file shows up in the Output tab with a preview, and fileUrl is its download link.

Pricing

$2.00 per 1,000 files ($0.002 per screenshot or PDF), with pay-per-event pricing.

  • You pay only for files that were saved, plus a tiny start fee of about $0.0001 per run. URLs that time out, fail to load or show a bot check cost nothing.
  • A page that stays blank or keeps showing only a loading message is free too. You still get its file, marked "status": "blank".
  • Each URL × device is one file. 500 pages on desktop and mobile = 1,000 files = $2.00.
  • Set a maximum cost per run in the run options, and the Actor stops when it reaches it.

Input example

{
"urls": ["https://apify.com", "example.com/pricing"],
"format": "png",
"devices": ["desktop", "mobile"],
"fullPage": true,
"hideCookieBanners": true
}

All other settings are optional. See the Input tab for the full list.

Output example

One dataset row per file:

{
"url": "https://apify.com/",
"finalUrl": "https://apify.com/",
"device": "desktop",
"format": "png",
"status": "success",
"fileUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/apify-com-desktop-1a2b3c4d.png",
"previewUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/apify-com-desktop-1a2b3c4d.png",
"key": "apify-com-desktop-1a2b3c4d.png",
"httpStatus": 200,
"pageTitle": "Apify: Full-stack web scraping and data extraction platform",
"width": 1920,
"height": 8412,
"pixelRatio": 1,
"bytes": 2317412,
"truncated": false,
"durationSecs": 4.1,
"capturedAt": "2026-10-27T06:38:42.862Z",
"error": null
}

A failed URL has "status": "failed", no file, and a reason such as "The domain does not exist (DNS lookup failed)." A page that stayed blank has "status": "blank" and its file, and costs nothing.

The files themselves are in the run's key-value store, named after the page and device.

Use it from your code or an AI agent

Run the Actor and get the results in one call:

curl -X POST "https://api.apify.com/v2/acts/Hpbt~website-screenshot-pdf/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://example.com"], "devices": ["mobile"]}'
  • JavaScript or Python: use the Apify client (see the API tab for ready-made code).
  • AI agents: the Actor works through the Apify MCP server, so agents can open a page and "see" it as an image.
  • No-code: connect it to Zapier, Make, n8n, Google Drive or Slack through Apify integrations.

Tips

  • Charts or animations missing? Set Wait until to Network idle, add an Extra delay, or use Wait for element.
  • Sharper images: set Pixel density to 2. A page that would then be taller than 16,384 px is captured at 1× so it still fits completely, and pixelRatio in the output says which one was used.
  • Only the top of the page: turn off Full page, or set Maximum page height to the height you want.
  • Very long or endless pages: lower Maximum page height. truncated: true tells you when a page was cut.
  • PDF looks like a phone layout? PDFs are laid out for the paper width, as when printing in Chrome. Try Landscape or a bigger paper size.

Limitations

  • No logging in, no CAPTCHA solving and no bot-protection bypass. Pages that answer with a bot check are reported as failed, and they are free.
  • Local and private network addresses (localhost, 10.x, 192.168.x…) are blocked.
  • Images are at most 16,384 px tall (WebP 16,383 px). Browsers can't render taller images correctly.
  • Residential and SERP proxies are not supported. Automatic and datacenter Apify Proxy, and your own proxies, are.

FAQ

Is taking screenshots of websites legal? Capturing public pages for testing, monitoring, archiving or research is common practice. If you publish screenshots of someone else's site, respect their copyright and terms. This is not legal advice.

Can it capture social networks? Usually not in a useful way. Social networks show a login wall or a bot check to visitors who are not logged in, and this Actor does not log in. Bot checks are free. A login wall is captured as it appears.

How long are the files kept? As long as your Apify plan keeps run storage. Download them or send them on with an integration if you need them longer.

Something looks wrong? Open an issue in the Issues tab with the URL and the input you used.