Website Screenshot Generator avatar

Website Screenshot Generator

Pricing

from $0.00005 / actor start

Go to Apify Store
Website Screenshot Generator

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

Akash Kumar Naik

Maintained by Community

Actor stats

2

Bookmarked

43

Total users

2

Monthly active users

2 hours ago

Last modified

Share

Capture high-quality screenshots of any website using Playwright with stealth antiblocking features on Apify

Capture beautiful screenshots of any webpage in PNG format. Built with Playwright for maximum stability and stealth features to bypass anti-bot detection.

What can this Actor do?

  • Website screenshots - Capture any URL as PNG
  • Full page capture - Screenshot entire scrollable pages
  • Stealth mode - Bypass anti-bot detection with advanced techniques
  • High DPI support - Crystal clear screenshots at 2x resolution
  • Public URL access - Screenshot stored with direct API access

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

Quick Start

Using Apify Console

  1. Go to Apify Console
  2. Click "Run" and enter your target URL
  3. View results in the Dataset tab

Input Schema

FieldTypeRequiredDefaultDescription
urlstringYes-The URL to capture (must include http:// or https://)
fullPagebooleanNofalseCapture full scrollable page

Example Input

{
"url": "https://example.com",
"fullPage": false
}

Output

Returns dataset 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:

  1. Download directly: Use the URL to download the PNG file
  2. Embed in HTML: <img src="https://api.apify.com/v2/key-value-stores/STORE_ID/records/screenshot_KEY" />
  3. Use in API calls: Fetch the image programmatically

Features

Stealth Antiblocking

  • User agent rotation with latest 2026 browser versions
  • Navigator property spoofing (webdriver, plugins, languages)
  • Hardware concurrency masking
  • Custom headers simulation
  • Context isolation for fingerprint randomization
  • Anti-detection scripts injection

Performance Optimization

  • Automatic retries (up to 3 attempts) with exponential backoff
  • Browser context isolation per request
  • Memory-optimized settings (max 512MB heap)
  • Fast screenshot capture (~3 seconds average)
  • 1280x800 viewport at 2x resolution (Retina quality)
  • GPU acceleration disabled for stability

Technical Specifications

  • Output format: PNG
  • Viewport: 1280x800 pixels
  • Device scale factor: 2 (Retina)
  • Timeout: 60 seconds per capture
  • Memory: 1024-4096 MB configurable

API Usage Examples

cURL

curl -X POST "https://api.apify.com/v2/actors/akash9078~website-screenshot-generator/runs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{"url": "https://example.com"}'

JavaScript/Node.js

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_API_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);

Python

from apify_client import ApifyClient
client = ApifyClient(token='YOUR_API_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}")

Troubleshooting

Common Issues

  1. Timeout errors: Increase timeout in input or check if the target URL is accessible
  2. Blank screenshots: The page may require JavaScript - ensure the site loads properly
  3. 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:

  • screenshot_captured: $0.01 per successful screenshot capture

Behavior:

  • Successful screenshots trigger one charged screenshot_captured event
  • Failed screenshots are saved as error output items and are not charged
  • If user max-cost limits do not allow another screenshot_captured event, the Actor stops gracefully before processing

Support

For issues or feature requests, please visit the Apify Console or contact the developer.