Bulk Website Screenshot - Full Page PNG/JPEG from URL List avatar

Bulk Website Screenshot - Full Page PNG/JPEG from URL List

Pricing

from $1.60 / 1,000 screenshot saveds

Go to Apify Store
Bulk Website Screenshot - Full Page PNG/JPEG from URL List

Bulk Website Screenshot - Full Page PNG/JPEG from URL List

Screenshot many URLs in one run: full-page or viewport, PNG/JPEG, desktop/mobile, cookie banners hidden, public image links. $0.002/screenshot ($2/1k), no compute fees; failed URLs free.

Pricing

from $1.60 / 1,000 screenshot saveds

Rating

0.0

(0)

Developer

TinyRex

TinyRex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Bulk Website Screenshot: full-page PNG/JPEG screenshots from a URL list

Take screenshots of hundreds of web pages in one run for $0.002 per screenshot ($2 per 1,000), with no compute fees on top. Paste a list of URLs and get one PNG or JPEG per page, full-page or viewport-only, on a desktop, laptop, tablet or mobile viewport. Cookie banners are hidden automatically. Unreachable pages, timeouts and HTTP errors are free.

What you get from Bulk Website Screenshot

  • One image per URL: PNG (lossless) or JPEG (3-10x smaller), saved in the run's key-value store with a ready-to-open public screenshotUrl in the dataset.
  • Full-page or viewport: full-page shots scroll first so lazy images load, and are capped at a max height you choose so endless feeds don't create giant files.
  • Clean shots: common consent popups (OneTrust, Cookiebot, Didomi, Quantcast, Usercentrics, TrustArc and generic cookie bars) are hidden with CSS, so nothing is clicked or accepted. Add your own selectors for chat widgets or promos.
  • Device presets: Desktop 1920x1080, Laptop 1366x768, Tablet 768x1024, Mobile 390x844 (2x retina, mobile user agent) or any custom size.
  • A status row for every URL: statusCode, title, finalUrl after redirects, image size and load time, plus a clear error when a page couldn't be captured.

Sample output (JSON)

{
"input": "https://example.com",
"url": "https://example.com/",
"finalUrl": "https://example.com/",
"statusCode": 200,
"title": "Example Domain",
"screenshotUrl": "https://api.apify.com/v2/key-value-stores/MdP7oCEqlqnxkARdq/records/example-com-b559c7edd3.png?signature=...",
"screenshotKey": "example-com-b559c7edd3.png",
"format": "png",
"device": "desktop",
"width": 1920,
"height": 1080,
"fullPage": false,
"bytes": 64221,
"loadTimeMs": 1626,
"charged": true,
"error": null,
"takenAt": "2026-10-17T07:30:00.000Z"
}

Export the dataset as CSV, Excel or JSON, or send it to Google Sheets, Google Drive, Make, Zapier, n8n, webhooks or the Apify API. The screenshotUrl column opens the image directly.

How to configure Bulk Website Screenshot

  1. Paste URLs, one per line. Bare domains like example.com work too.
  2. Pick Full page or viewport-only, a Device, and PNG or JPEG.
  3. Run. Each saved screenshot is one charge; everything that fails is free.

Example input

{
"urls": ["https://example.com", "https://apify.com"],
"fullPage": true,
"device": "desktop",
"format": "jpeg",
"jpegQuality": 80,
"hideCookieBanners": true,
"delaySecs": 1
}
SettingDefaultNotes
urls(required)Pages you supply; duplicates removed
fullPagefalseWhole scrollable page, clipped at maxFullPageHeight (10,000 px)
devicedesktopdesktop, laptop, tablet, mobile or custom (viewportWidth x viewportHeight)
formatpngpng or jpeg (with jpegQuality)
hideCookieBannerstrueHides consent popups with CSS; nothing is accepted
hideSelectors[]Extra CSS selectors to hide
waitUntilloaddomcontentloaded, load or networkidle
delaySecs1Extra wait after load for animations
maxConcurrency3Pages in parallel (3 fits the default 2 GB memory)
pageTimeoutSecs30Page load timeout; slow third-party scripts don't block the shot once the page itself has loaded
maxScreenshots0Optional cap per run (0 = no cap)
proxyConfigurationoffOptional Apify Proxy, e.g. to see a page from another country

Common use cases

  • Website monitoring and archiving: schedule a daily run and keep dated snapshots of your own or competitors' landing pages.
  • SEO and agency reports: before/after shots of every page in a sitemap during a redesign or migration.
  • Lead lists and directories: add a homepage thumbnail to each company row in a CRM or spreadsheet.
  • QA: check how pages look on mobile vs desktop in one batch.
  • Pipelines with TinyRex: Sitemap Scraper gives you every URL, this Actor captures them, and SEO On-Page Audit checks the tags.

Pricing (failed = free)

Pay per event, platform usage included:

  • Screenshot (screenshot): $0.002 per image saved, which is $2 per 1,000 screenshots. Bronze, Silver and Gold plans get tier discounts.
  • Free: DNS errors, refused connections, timeouts, file downloads and pages that answer with HTTP 4xx/5xx (no image is taken).
  • A tiny apify-actor-start event is charged once per run.

Set a max cost per run; the Actor stops gracefully when it's reached.

Limitations

  • Pages behind a login, paywall or bot wall (CAPTCHA) can't be captured. Try a proxy for sites that block datacenter IPs.
  • Cookie hiding uses CSS for common providers; rare custom banners may still show. Add their selector to hideSelectors.
  • Image links live as long as your plan keeps run storage (7 days on the free plan). Download them or send them to your own storage if you need them longer.
  • Full-page shots of very long pages are clipped at maxFullPageHeight.

FAQ: Bulk Website Screenshot

How do I screenshot every page of a website? Run Sitemap Scraper to get all URLs, then pass its url field into urls (strings or { "url": "..." } objects both work).

Can I take a full-page screenshot of a long page? Yes. Turn on Full page. The Actor scrolls once to load lazy images and captures up to maxFullPageHeight pixels (default 10,000, max 30,000). Retina presets are capped at 16,000 image pixels tall, which is 8,000 CSS pixels on mobile and tablet, because Chromium can't render taller images.

How do I get mobile screenshots? Set Device to mobile (390x844 at 2x, mobile user agent) or tablet. For both versions of each page, run twice with different devices.

Do failed URLs cost anything? No. You only pay for screenshots that are actually saved. Errors still get a dataset row so you can see what went wrong.

How do I save screenshots to Google Drive or S3? Use the dataset's screenshotUrl column in Make, Zapier or n8n to download each image and upload it, or use an Apify integration on run success.

Does it work with AI agents / MCP? Yes. Connect Claude, Cursor, VS Code, n8n or any MCP client to https://mcp.apify.com?tools=tinyrex/bulk-website-screenshot and ask e.g. "Take full-page screenshots of https://example.com and https://apify.com".

Built by TinyRex. Questions or feature requests? Open an issue on the Actor page.