Screenshot Websites With Ease

Screenshot Websites With Ease

by erinle_sam

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

16 runs
2 users
Try This Actor

Opens on Apify.com

About Screenshot Websites With Ease

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

What does this actor do?

Screenshot Websites With Ease is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.

Key Features

  • Cloud-based execution - no local setup required
  • Scalable infrastructure for large-scale operations
  • API access for integration with your applications
  • Built-in proxy rotation and anti-blocking measures
  • Scheduled runs and webhooks for automation

How to Use

  1. Click "Try This Actor" to open it on Apify
  2. Create a free Apify account if you don't have one
  3. Configure the input parameters as needed
  4. Run the actor and download your results

Documentation

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 json { "startUrls": [ { "url": "https://apify.com" } ], "captureMode": "both", "fullPage": true, "waitForNetworkIdle": true } ### Advanced Example json { "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 | Field | Type | Default | Description | |-------|------|---------|-------------| | startUrls | array | required | List of URLs to capture | | captureMode | string | "both" | "screenshot", "pdf", or "both" | | fullPage | boolean | true | Capture entire page or just viewport | | autoScroll | boolean | true | Scroll page to load lazy elements | | viewportWidth | integer | 1920 | Viewport width (320-3840) | | viewportHeight | integer | 1080 | Viewport height (240-2160) | | crawlDepth | integer | 0 | Crawl depth (0 = start URLs only) | | maxPagesPerDomain | integer | 50 | Max pages per domain | | waitForSelector | string | "" | CSS selector to wait for | | waitForNetworkIdle | boolean | true | Wait for network idle | | waitTime | integer | 1000 | Additional wait time (ms) | | removeElements | array | [] | CSS selectors to hide | | screenshotFormat | string | "png" | "png" or "jpeg" | | screenshotQuality | integer | 90 | JPEG quality (1-100) | | pdfFormat | string | "A4" | Paper format | | maxRequestsPerCrawl | integer | 100 | Total page limit | ## Output ### Dataset Each page creates an entry with metadata and links to files: json { "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) json { "waitForNetworkIdle": true, "waitTime": 2000, "waitForSelector": "#app-loaded" } Authentication json { "cookies": [ { "name": "session_token", "value": "your-token", "domain": "example.com" } ] } Remove Distractions json { "removeElements": [ ".cookie-consent", "#intercom-container", ".live-chat-widget" ] } ## Local Development bash # Install dependencies npm install # Run locally apify run # Deploy to Apify apify login apify push ## Resources - Crawlee Documentation - Apify SDK - Playwright ## License ISC

Common Use Cases

Market Research

Gather competitive intelligence and market data

Lead Generation

Extract contact information for sales outreach

Price Monitoring

Track competitor pricing and product changes

Content Aggregation

Collect and organize content from multiple sources

Ready to Get Started?

Try Screenshot Websites With Ease now on Apify. Free tier available with no credit card required.

Start Free Trial

Actor Information

Developer
erinle_sam
Pricing
Paid
Total Runs
16
Active Users
2
Apify Platform

Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.

Learn more about Apify

Need Professional Help?

Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.

Find a Specialist

Trusted by millions | Money-back guarantee | 24/7 Support