Screenshot Saver avatar

Screenshot Saver

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Screenshot Saver

Screenshot Saver

Capture screenshots of websites and save to cloud storage. Supports multiple URLs, full page capture, custom viewports, and various output destinations.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

2

Bookmarked

10

Total users

0

Monthly active users

14 days ago

Last modified

Share

Capture screenshots of websites and save to cloud storage. Supports multiple URLs, full page capture, custom viewports, and various output destinations.

Features

  • Direct URL mode — scrape specific pages by providing target URLs
  • Cloud-ready — runs on Apify with scheduling, proxy rotation, and webhook support

Use Cases

  • Data collection and research automation at scale
  • Building structured datasets from public web content
  • Monitoring for new listings, updates, or changes over time
  • Competitive intelligence and market benchmarking

Input

FieldTypeDefaultRequiredDescription
urlsarrayList of URLs to capture screenshots of.
formatstringpngScreenshot format. PNG is lossless, JPEG is smaller, PDF renders the whole page as a document. Options: png, jpeg, pdf
fullPagebooleanTrueCapture the entire scrollable page height, not just the visible viewport.
windowWidthinteger1920Browser window width in pixels. Use 375 for mobile, 768 for tablet, 1920 for desktop.
windowHeightinteger1080Browser window height in pixels.
qualityinteger80JPEG compression quality (1–100). Lower = smaller file size. Only applies when format is 'jpeg'.
waitUntilstringnetworkidle2When to consider the page fully loaded before taking the screenshot. Options: domcontentloaded, load, networkidle0, networkidle2
waitForSelectorstringCSS selector to wait for before taking the screenshot. Useful for dynamic pages. Example: '#main-content' or '.product-list'
waitForTimeoutinteger0Additional time to wait (in milliseconds) after the page loads before taking the screenshot. Useful for animations or lazy-loading content.
scrollToBottombooleanTrueSlowly scroll to the bottom of the page before taking the screenshot, triggering lazy-loaded images and content.
clickSelectorstringCSS selector of an element to click before taking the screenshot. Useful for closing cookie banners, opening menus, or dismissing popups. Example: '.cookie-accept', '#close-popup'
selectorsToHidestringComma-separated CSS selectors of elements to hide before taking the screenshot. Example: '.cookie-banner, .ads, .newsletter-popup'
injectCssstringCustom CSS to inject into the page before taking the screenshot. Example: 'body { background: white; } .banner { display: none; }'
injectJsstringCustom JavaScript to execute on the page before taking the screenshot. Example: 'document.querySelector(".sidebar").remove();'
captureSelectorstringCSS selector of a specific element to screenshot instead of the whole page. Example: '#product-card' or '.data-table'. Overrides fullPage setting.
mobileEmulationstring``Emulate a specific mobile device. Overrides windowWidth/windowHeight settings. Options: ``, iPhone 15 Pro, iPhone SE, Pixel 7, iPad Pro, Galaxy S23, Samsung Galaxy Tab S8
deviceScaleFactornumber1Device pixel ratio for retina/HiDPI screenshots. Use 1 for standard, 2 for retina quality.
blockResourcesarray[]Block specific resource types to speed up page loading. Useful for getting a text-only or CSS-only view.
usernamestringUsername for HTTP Basic Authentication (for password-protected pages).
passwordstringPassword for HTTP Basic Authentication.
cookiesarrayArray of cookies to set before navigating. Use to bypass cookie consent or inject session tokens. Example: [{"name": "session", "value": "abc123", "domain": ".example.com"}]
headersobjectAdditional HTTP headers to send with every request. Example: {"Authorization": "Bearer token123", "X-Custom": "value"}
proxyobject{'useApifyProxy': True}Proxy settings. Use Apify Proxy for better success rates on protected sites.
maxItemsinteger20Maximum number of items to scrape
proxyConfigurationobjectApify ResidentialProxy settings. Residential proxy is strongly recommended

Output

Each scraped item includes:

FieldDescription
timestampTimestamp
startUrlStart url
urlDirect URL to the listing/item page
screenshotUrlScreenshot url
screenshotKeyScreenshot key
formatFormat
statusCodeStatus code
pageTitlePage title
errorError

Sample Output

{
"timestamp": "timestamp_value",
"startUrl": "startUrl_value",
"url": "https://example.com/item/123",
"screenshotUrl": "screenshotUrl_value",
"screenshotKey": "screenshotKey_value",
"format": "format_value",
"statusCode": "statusCode_value",
"pageTitle": "pageTitle_value"
}

Notes

  • Proxy: Residential proxy is highly recommended — set proxyConfiguration: { useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"] }
  • Rate limits: Keep maxItems reasonable per run to avoid IP bans or rate throttling
  • Scheduling: Use Apify Scheduler to run this actor on a recurring basis for a consistently fresh dataset