Website Screenshot API — Capture Screenshots from Any URL
Pricing
Pay per usage
Go to Apify Store

Website Screenshot API — Capture Screenshots from Any URL
Capture PNG or JPEG screenshots from any website with configurable viewports, full-page mode, dark mode, and custom delays. Built on Playwright for pixel-perfect rendering. Ideal for web monitoring, visual testing, archiving, and competitive research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
C R
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Website Screenshot API
A serverless Apify Actor that captures clean, high-resolution PNG/JPEG screenshots of any website using Playwright.
Features
- Configurable viewports — Desktop (1920×1080), Tablet (768×1024), Mobile (375×812), or custom dimensions
- Full-page capture — Capture the entire scrollable page, not just the visible viewport
- Delay support — Wait for lazy-loaded content before capturing
- PNG & JPEG output — Choose lossless PNG or smaller JPEG files
- Dark mode emulation — Capture pages as they appear in dark mode (
prefers-color-scheme: dark) - Robust error handling — Clear, structured error messages for timeouts, DNS failures, SSL errors, and invalid URLs
- Structured metadata — Every capture records URL, viewport, format, timestamp, and the public screenshot URL
Input
| Field | Type | Default | Description |
|---|---|---|---|
url | string | (required) | Website URL to capture (must start with http:// or https://) |
viewport | string | desktop | desktop, tablet, mobile, or custom |
width | integer | 1920 | Custom viewport width (when viewport=custom) |
height | integer | 1080 | Custom viewport height (when viewport=custom) |
fullPage | boolean | false | Capture entire scrollable page |
delay | integer | 0 | Milliseconds to wait before capture |
format | string | png | png or jpeg |
darkMode | boolean | false | Emulate dark color scheme |
Output
Each run pushes a single item to the default dataset:
{"url": "https://example.com","screenshotUrl": "https://api.apify.com/v2/key-value-stores/.../records/screenshot","viewport": {"width": 1920, "height": 1080},"format": "png","fullPage": false,"darkMode": false,"timestamp": "2026-07-07T12:00:00.000000+00:00","success": true,"error": null}
The screenshot binary is stored in the key-value store and accessible via the screenshotUrl.
Example Usage
Via Apify API
curl -X POST "https://api.apify.com/v2/acts/<USER>~website-screenshot-api/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"url": "https://example.com", "viewport": "desktop", "fullPage": true, "delay": 2000}'
Mobile Screenshot
{"url": "https://example.com","viewport": "mobile","fullPage": true,"format": "jpeg"}
Dark Mode
{"url": "https://example.com","viewport": "desktop","darkMode": true}