Multi-Resolution Screenshot avatar

Multi-Resolution Screenshot

Pricing

from $5.00 / 1,000 screenshot takens

Go to Apify Store
Multi-Resolution Screenshot

Multi-Resolution Screenshot

Capture screenshots at multiple viewports in one run. Default: mobile, tablet, desktop. PNG/JPEG/WebP output, full-page capture, device emulation. Configurable wait for dynamic content. Ideal for responsive QA.

Pricing

from $5.00 / 1,000 screenshot takens

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Multi-Resolution Screenshot Tool

Take screenshots of any URL at multiple viewport sizes in a single run. Capture mobile, tablet, desktop, and 4K screenshots simultaneously with 8 built-in device presets. Supports full-page capture, PNG/JPEG/WebP output, cookie banner dismissal, and element-specific screenshots.

Perfect for responsive design QA, visual regression testing, multi-device previews, SEO audits, and client reporting.

Why Use This Actor

Unlike single-viewport screenshot tools that require separate runs for each device size, this actor captures all viewport variations in one run — saving time, compute costs, and workflow complexity.

FeatureThis ActorOther Screenshot Actors
Multi-resolution per runYes (unlimited)No (1 per run)
Device presets8 built-inNone
Full-page captureYesPartial
WebP outputYesNo
Cookie banner dismissalAuto-detectNo
Element screenshotsYes (clipSelector)No
Structured file namingYes (customizable)Random IDs

How to Use

Zero-config (desktop screenshot of crawlee.dev):

No input needed — runs with defaults.

Multi-resolution responsive QA:

{
"urls": [
{ "url": "https://example.com", "label": "homepage" },
{ "url": "https://example.com/about", "label": "about" }
],
"presets": ["mobile", "tablet", "desktop"],
"fullPage": true
}

Custom viewport dimensions:

{
"urls": [{ "url": "https://example.com", "label": "og-image" }],
"viewports": [{ "width": 1200, "height": 630, "label": "og" }],
"format": "jpeg",
"quality": 90
}

Screenshots are saved to the Key-Value Store. Retrieve them via the Apify API or download from the Console.

Input Configuration

ParameterDefaultDescription
urlscrawlee.devArray of { url, label } objects. Max 100.
presets["desktop"]Device presets: mobile, tablet, desktop, desktopHd, 4k, ultrawide
fullPagefalseCapture full scrollable page
formatpngOutput: png, jpeg, or webp
quality80JPEG/WebP quality (1-100)
clipSelectorScreenshot only this CSS element
hideSelectors[]Hide elements before capture
dismissCookieBannerstrueAuto-dismiss cookie consent
waitForSelectorWait for element before capture
waitForTimeout3000Wait ms after page load
fileNamePattern{label}_{preset}_{width}x{height}KV store key pattern

Output Format

Each screenshot produces a dataset item:

{
"url": "https://example.com",
"label": "homepage",
"viewport": {
"width": 375,
"height": 812,
"deviceScaleFactor": 2,
"isMobile": true,
"preset": "mobile"
},
"screenshot": {
"kvStoreKey": "homepage_mobile_375x812.png",
"kvStoreUrl": "https://api.apify.com/v2/key-value-stores/.../records/homepage_mobile_375x812.png",
"format": "png",
"width": 750,
"height": 1624,
"fileSizeBytes": 245760,
"fileSizeHuman": "240.0 KB"
},
"page": {
"title": "Example Domain",
"statusCode": 200,
"fullPageHeight": 812,
"loadTimeMs": 1234
},
"capturedAt": "2025-01-15T10:30:00.000Z",
"errors": []
}

A RUN_SUMMARY JSON is saved to the KV store with totals, durations, and per-screenshot status.

Tips and Advanced Usage

  • Cookie banners: Enabled by default. Auto-detects OneTrust, CookieBot, Quantcast, and generic consent banners.
  • Authenticated pages: Pass session cookies via the cookies input for pages behind login.
  • Custom JS: Use javascript to modify the page before capture (e.g., change theme, remove elements).
  • Performance: Set blockResources: ["image", "font"] for faster captures when full rendering isn't needed.
  • Element screenshots: Use clipSelector: "#hero" to capture just one component.
  • Lazy loading: scrollToBottom (default: true) triggers intersection observers for lazy images.

Pricing

Pay-per-event pricing: $0.005 per screenshot ($5.00 per 1,000).

One screenshot = one URL at one viewport. Examples:

  • 1 URL x 1 viewport = 1 screenshot = $0.005
  • 10 URLs x 3 viewports = 30 screenshots = $0.15
  • 100 URLs x 8 viewports = 800 screenshots = $4.00

Failed screenshots (navigation errors, timeouts) are not charged.

FAQ

What viewport sizes are supported?

8 built-in presets: mobile (375x812), mobileLandscape (812x375), tablet (768x1024), tabletLandscape (1024x768), desktop (1280x800), desktopHd (1920x1080), 4k (3840x2160), ultrawide (2560x1080). Custom dimensions also supported.

Can I capture full-page screenshots?

Yes. Set fullPage: true to capture the entire scrollable page. Lazy-loaded images are triggered by auto-scrolling before capture.

Enabled by default via dismissCookieBanners: true. Supports major consent managers. Use hideSelectors or clickSelectors for custom banners.

Can I screenshot pages that require login?

Yes. Pass session cookies via the cookies input or set auth headers via httpHeaders.

What's the maximum number of URLs per run?

100 URLs per run with up to 20 viewports each.

What output formats are supported?

PNG (default, lossless), JPEG (lossy, smaller files), and WebP (modern, best compression). Quality configurable for JPEG/WebP.

How are screenshots named in the Key-Value Store?

Following the fileNamePattern template. Default: {label}_{preset}_{width}x{height}.{format}. Example: homepage_mobile_375x812.png.

How is a "screenshot" defined for pricing?

One URL captured at one viewport = one billable screenshot. Multiple viewports of the same URL count as multiple screenshots.