Screenshot Websites With Ease
Pricing
from $1.00 / 1,000 results
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
| 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:
{"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 dependenciesnpm install# Run locallyapify run# Deploy to Apifyapify loginapify push
Resources
License
ISC