Screenshot Websites With Ease avatar
Screenshot Websites With Ease

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Screenshot Websites With Ease

Screenshot Websites With Ease

Capture pixel-perfect screenshots and PDFs of any website. Features smart crawling, auto-scrolling, authentication, and waiting strategies for SPAs.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Erinle Samuel

Erinle Samuel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Screenshot & PDF Generator with Smart Crawling

Sophisticated Apify Actor that captures screenshots and PDFs of websites with intelligent crawling for complex web applications. Perfect for documentation, archiving, monitoring, and testing purposes.

Features

Flexible Capture Modes

  • Screenshots (PNG or JPEG)
  • PDFs with customizable formats
  • Both simultaneously

🎯 Smart Waiting & Scrolling

  • Auto-scroll to load lazy elements
  • Wait for specific CSS selectors
  • Network idle detection
  • Custom timeout delays
  • Perfect for SPAs and dynamic webapps

🕷️ Intelligent Crawling

  • Configurable depth (0-5 levels)
  • Same-domain restriction
  • Per-domain page limits
  • Automatic link discovery

🎨 Customization Options

  • Custom viewport sizes (320x240 to 3840x2160)
  • Full-page or viewport captures
  • Element removal (hide cookie banners, chat widgets, etc.)
  • Custom cookies and headers

📦 Organized Storage

  • Screenshots and PDFs in key-value store
  • Metadata in dataset with links
  • Unique file naming with URL hash + timestamp

Quick Start

Basic Usage

{
"startUrls": [
{ "url": "https://apify.com" }
],
"captureMode": "both",
"fullPage": true,
"waitForNetworkIdle": true
}

Advanced Example

{
"startUrls": [
{ "url": "https://example.com" }
],
"captureMode": "both",
"fullPage": true,
"viewportWidth": 1920,
"viewportHeight": 1080,
"crawlDepth": 1,
"maxPagesPerDomain": 10,
"waitForNetworkIdle": true,
"waitTime": 2000,
"removeElements": [
".cookie-banner",
"#chat-widget"
],
"screenshotFormat": "png",
"pdfFormat": "A4"
}

Input Parameters

FieldTypeDefaultDescription
startUrlsarrayrequiredList of URLs to capture
captureModestring"both""screenshot", "pdf", or "both"
fullPagebooleantrueCapture entire page or just viewport
autoScrollbooleantrueScroll page to load lazy elements
viewportWidthinteger1920Viewport width (320-3840)
viewportHeightinteger1080Viewport height (240-2160)
crawlDepthinteger0Crawl depth (0 = start URLs only)
maxPagesPerDomaininteger50Max pages per domain
waitForSelectorstring""CSS selector to wait for
waitForNetworkIdlebooleantrueWait for network idle
waitTimeinteger1000Additional wait time (ms)
removeElementsarray[]CSS selectors to hide
screenshotFormatstring"png""png" or "jpeg"
screenshotQualityinteger90JPEG quality (1-100)
pdfFormatstring"A4"Paper format
maxRequestsPerCrawlinteger100Total page limit

Output

Dataset

Each page creates an entry with metadata and links to files:

{
"url": "https://example.com",
"title": "Example Page",
"timestamp": "2025-12-04T13:00:00.000Z",
"screenshotUrl": "https://api.apify.com/v2/...",
"pdfUrl": "https://api.apify.com/v2/...",
"viewport": "1920x1080",
"depth": 0
}

Key-Value Store

Binary files in organized collections:

  • screenshots: PNG/JPEG files (prefix: screenshot-)
  • pdfs: PDF documents (prefix: pdf-)

Tips for Complex Webapps

Single Page Applications (SPAs)

{
"waitForNetworkIdle": true,
"waitTime": 2000,
"waitForSelector": "#app-loaded"
}

Authentication

{
"cookies": [
{
"name": "session_token",
"value": "your-token",
"domain": "example.com"
}
]
}

Remove Distractions

{
"removeElements": [
".cookie-consent",
"#intercom-container",
".live-chat-widget"
]
}

Local Development

# Install dependencies
npm install
# Run locally
apify run
# Deploy to Apify
apify login
apify push

Resources

License

ISC