Website Screenshot API - Page Screenshot Generator
Pricing
$10.00/month + usage
Website Screenshot API - Page Screenshot Generator
Website screenshot API to capture any webpage as an image. This screenshot API supports full page, viewport, and element screenshots. Website screenshot generator API for automated website screenshot capture, visual testing, monitoring, and thumbnail generation. Reliable page screenshot API.
Pricing
$10.00/month + usage
Rating
0.0
(0)
Developer

CodeNodeTools
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Website Screenshot API
Capture high-quality website screenshots programmatically with this powerful screenshot API. Generate full-page, viewport, or element-specific screenshots of any webpage using Playwright browser automation.
What is Website Screenshot API?
This website screenshot generator API is an Apify Actor that captures pixel-perfect screenshots of any URL. Whether you need a simple page screenshot API for monitoring, a website screenshot generator for thumbnails, or automated visual testing — this tool handles it all.
Key Features
- Full Page Screenshots - Capture entire scrollable pages
- Viewport Screenshots - Screenshot only the visible area
- Element Screenshots - Target specific page elements with CSS selectors
- Batch Processing - Screenshot multiple URLs in a single run
- Mobile Emulation - Test responsive designs
- Dark Mode Support - Capture dark theme variants
- Lazy Loading Support - Auto-scroll to load dynamic content
- Element Removal - Hide cookie banners, popups, and ads
- Proxy Support - Bypass geo-restrictions and avoid blocking
Use Cases
Website Monitoring
Track visual changes on websites over time. Perfect for detecting layout breaks, content updates, or competitor changes.
Visual Testing & QA
Automate screenshot capture across different viewports and devices for regression testing.
Thumbnail Generation
Create website previews and thumbnails for link previews, portfolios, or directories.
Social Media Previews
Generate Open Graph images and social media cards from web content.
Documentation
Capture clean screenshots for product documentation, tutorials, and marketing materials.
Archiving
Create visual archives of web pages for compliance, legal, or historical purposes.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | - | Single URL to screenshot |
urls | array | - | Multiple URLs for batch processing |
screenshotType | string | fullPage | Type: fullPage, viewport, or element |
selector | string | - | CSS selector for element screenshots |
format | string | png | Image format: png or jpeg |
quality | integer | 80 | JPEG quality (0-100) |
width | integer | 1920 | Viewport width in pixels |
height | integer | 1080 | Viewport height in pixels |
deviceScaleFactor | number | 1 | Scale factor (2 for retina) |
isMobile | boolean | false | Enable mobile emulation |
waitForSelector | string | - | Wait for element before capture |
waitForTimeout | integer | 0 | Additional wait time (ms) |
waitUntil | string | load | Page load state to wait for |
removeElements | array | - | Selectors of elements to remove |
scrollToBottom | boolean | false | Scroll for lazy-loaded content |
darkMode | boolean | false | Enable dark color scheme |
proxyConfiguration | object | - | Proxy settings |
Example Input
Basic Screenshot
{"url": "https://example.com","screenshotType": "fullPage","format": "png"}
Batch Screenshots with Custom Viewport
{"urls": ["https://example.com","https://github.com","https://apify.com"],"width": 1440,"height": 900,"format": "jpeg","quality": 90}
Element Screenshot
{"url": "https://example.com","screenshotType": "element","selector": ".hero-section","removeElements": [".cookie-banner", ".chat-widget"]}
Mobile Screenshot with Dark Mode
{"url": "https://example.com","width": 390,"height": 844,"isMobile": true,"darkMode": true,"deviceScaleFactor": 2}
Output
Each screenshot generates a dataset item with:
{"url": "https://example.com","screenshotUrl": "https://api.apify.com/v2/key-value-stores/.../records/screenshot-0","screenshotKey": "screenshot-0","format": "png","width": 1920,"height": 1080,"screenshotType": "fullPage","timestamp": "2024-01-15T10:30:00.000Z","success": true}
API Integration
Using the Apify API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_USERNAME/website-screenshot-api').call({url: 'https://example.com',screenshotType: 'fullPage',format: 'png'});// Get screenshot URL from datasetconst { items } = await client.dataset(run.defaultDatasetId).listItems();console.log('Screenshot URL:', items[0].screenshotUrl);
Using cURL
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~website-screenshot-api/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"url": "https://example.com", "format": "png"}'
Performance Tips
- Use viewport screenshots when you don't need the full page — they're faster
- Block unnecessary resources if you only need the layout
- Set appropriate timeouts for slow-loading sites
- Use batch processing for multiple URLs instead of separate runs
- Enable proxy for sites that block datacenter IPs
Limitations
- Maximum screenshot dimensions depend on available memory
- Some sites may block automated browsers
- JavaScript-heavy sites may need longer wait times
- Rate limiting may apply to target websites
Support
License
ISC