Website Screenshot API — Capture Screenshots from Any URL avatar

Website Screenshot API — Capture Screenshots from Any URL

Pricing

Pay per usage

Go to Apify Store
Website Screenshot API — Capture Screenshots from Any URL

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

C R

Maintained by Community

Actor 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

FieldTypeDefaultDescription
urlstring(required)Website URL to capture (must start with http:// or https://)
viewportstringdesktopdesktop, tablet, mobile, or custom
widthinteger1920Custom viewport width (when viewport=custom)
heightinteger1080Custom viewport height (when viewport=custom)
fullPagebooleanfalseCapture entire scrollable page
delayinteger0Milliseconds to wait before capture
formatstringpngpng or jpeg
darkModebooleanfalseEmulate 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
}