Website Screenshot Generator
Pricing
from $0.00005 / actor start
Website Screenshot Generator
Generate a screenshot of any website by entering its URL. The image is stored in a key-value store, making it ideal for tracking visual changes on webpages—especially when run on a scheduled basis.
Pricing
from $0.00005 / actor start
Rating
0.0
(0)
Developer
Akash Kumar Naik
Maintained by CommunityActor stats
2
Bookmarked
94
Total users
3
Monthly active users
13 days ago
Last modified
Categories
Features
Share
Website Screenshot Generator is an Apify Actor that captures high-quality PNG screenshots of any website using Playwright with stealth antiblocking features on Apify.
What Is Website Screenshot Generator?
Capture beautiful screenshots of any webpage in PNG format. Built with Playwright for maximum stability and stealth features to bypass anti-bot detection. Each capture returns screenshot metadata with a direct API URL to the stored image.
Key Features
- Website screenshots — capture any URL as PNG
- Full page capture — screenshot entire scrollable pages with
fullPage - Stealth mode — bypass anti-bot detection with advanced techniques
- High DPI support — crystal clear screenshots at 2x resolution (Retina quality)
- Public URL access — screenshot stored with direct API access
- Automatic retries — up to 3 attempts with exponential backoff
- Fast capture — ~3 seconds average per screenshot
Screenshot Specifications
- Output format: PNG
- Viewport: 1280x800 pixels
- Device scale factor: 2 (Retina)
- Timeout: 60 seconds per capture
- Memory: 1024–2048 MB configurable
Stealth Antiblocking
- User agent rotation with latest browser versions
- Navigator property spoofing (webdriver, plugins, languages)
- Hardware concurrency masking
- Custom headers simulation
- Context isolation for fingerprint randomization
- Anti-detection scripts injection
- Browser context isolation per request
- GPU acceleration disabled for stability
Use Cases
- Website monitoring and archiving
- Visual regression testing
- Generate preview thumbnails
- Documentation and reporting
- SEO audit screenshots
- Competitor analysis
- Social media preview generation
- Web archive creation
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Yes | — | The URL to capture (must include http:// or https://) |
fullPage | boolean | No | false | Capture the full scrollable page |
Example input:
{"url": "https://example.com","fullPage": false}
Sample Output
Returns a dataset item with screenshot metadata and direct URL access:
{"url": "https://example.com","screenshotKey": "screenshot_https___examplecom_1234567890","screenshotUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/screenshot_KEY","size": 32820,"contentType": "image/png","timestamp": "2026-02-18T10:00:00.000Z","success": true,"retryCount": 0,"durationMs": 2500}
Accessing the Screenshot
The screenshotUrl field provides direct API access to the captured image. You can:
- Download directly — use the URL to download the PNG file
- Embed in HTML —
<img src="https://api.apify.com/v2/key-value-stores/STORE_ID/records/screenshot_KEY" /> - Use in API calls — fetch the image programmatically
How to Use
- Go to the Actor on Apify Console or the Apify Store page.
- Click "Run" and enter your target URL.
- Toggle
fullPageif you want the entire scrollable page. - View results in the Dataset tab and open the
screenshotUrlto get the PNG.
How to Use via API
cURL:
curl -X POST "https://api.apify.com/v2/acts/akash9078~website-screenshot-generator/runs" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-d '{"url": "https://example.com"}'
Python:
from apify_client import ApifyClientclient = ApifyClient(token='YOUR_APIFY_TOKEN')run = client.actor('akash9078/website-screenshot-generator').call(run_input={'url': 'https://example.com'})results = client.dataset(run['defaultDatasetId']).list_items()print(f"Screenshot URL: {results.items[0].screenshotUrl}")
Node.js with Apify Client:
const { ApifyClient } = require('apify-client');const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('akash9078/website-screenshot-generator').call({url: 'https://example.com',fullPage: true,});const results = await client.dataset(run.defaultDatasetId).listItems();console.log('Screenshot URL:', results.items[0].screenshotUrl);
Troubleshooting
- Timeout errors — increase timeout in input or check if the target URL is accessible
- Blank screenshots — the page may require JavaScript; ensure the site loads properly
- Blocked by anti-bot — the Actor includes stealth features, but some sites may still block
Pricing
This Actor uses Apify Pay Per Event (PPE) pricing:
| Event | Price |
|---|---|
screenshot_captured | $0.01 per successful screenshot capture |
Behavior:
- Successful screenshots trigger one charged
screenshot_capturedevent - Failed screenshots are saved as error output items and are not charged
- If user max-cost limits do not allow another
screenshot_capturedevent, the Actor stops gracefully before processing
Limitations
- Captures are 1280x800 at 2x scale — other viewports are not configurable
- 60-second timeout per capture
- Pages that fully block automated browsers may still fail despite stealth features
FAQ
What format are the screenshots?
PNG, captured at 1280x800 with a 2x device scale factor for Retina-quality output.
Can I capture the entire page?
Yes — set fullPage: true to screenshot the full scrollable page instead of just the viewport.
How are failed captures billed?
They aren't. Failed screenshots are saved as error output items and no screenshot_captured event is charged.
How do I get the actual image?
Every dataset item includes a screenshotUrl with direct API access to the stored PNG — download it, embed it, or fetch it programmatically.
Related Actors
- Google Maps Scraper - Extract business data, contact info, ratings & reviews
- Reddit Scraper - Find Reddit discussions and content
- Indian Stocks Financial Data - Scrape Indian stock market data
- Lorem Ipsum Generator - Generate placeholder text
- Random Facts API - Random facts and trivia
- YouTube Channel Transcripts - Extract YouTube video transcripts
Built and maintained by akash9078 on the Apify platform. For issues or feature requests, visit the Apify Console or contact the developer.