Website Screenshot Pro avatar
Website Screenshot Pro

Pricing

Pay per usage

Go to Apify Store
Website Screenshot Pro

Website Screenshot Pro

Developed by

One Scales

One Scales

Maintained by Community

Capture high-quality, full-page screenshots of any website across multiple device sizes in one go. Perfect for responsive design testing, presentations, documentation, or archiving web pages. Supports viewport, full page scrolling. Export to json, csv (excel or google sheets) and api and automation.

5.0 (4)

Pricing

Pay per usage

3

2

1

Last modified

3 minutes ago

Capture high-quality, full-page screenshots of any website across multiple device sizes in one go. Perfect for responsive design testing, client presentations, documentation, or archiving web pages. Simply provide URLs, select your desired viewport widths, and get professional PNG screenshots for mobile, tablet, desktop, and large displays.

Whether you're a designer checking how your site looks across devices, a QA tester documenting bugs, or a marketer capturing competitor pages, this tool automates the entire screenshot process at scale.

Key Features

  • Multiple Viewport Widths: Capture screenshots at 10 different standard viewport sizes:

    • Mobile S (320px), Mobile M (375px), Mobile L (414px)
    • Tablet (768px), Tablet L (1024px)
    • Laptop (1280px), Laptop L (1366px)
    • Desktop (1440px), Desktop FHD (1920px), Desktop QHD (2560px)
  • Full-Page or Viewport-Only Capture: Choose between capturing the entire scrollable page from top to bottom, or just the visible viewport (above the fold) for faster results

  • Smart Lazy-Load Handling: Automatically detects and triggers lazy-loaded images, videos, iframes, and dynamic content to ensure complete screenshots

  • Batch Processing: Process 1 to 100,000 URLs in a single run

  • High-Quality PNG Output: All screenshots are saved as crisp, full-resolution PNG images with permanent download links

  • Proxy Support: Built-in proxy configuration to avoid rate limiting and blocks when processing large batches

  • Customizable Delays: Add wait time after page load to capture animations or dynamic content

Tips

Processing Time

This tool takes time to process URLs, especially with full-page capture enabled. Here's what to expect:

  • Viewport-only screenshots: ~10-30 seconds per URL
  • Full-page screenshots: ~60+ seconds per URL (depending on page length and content)

Why does it take time?

  • The tool scrolls through entire pages to trigger lazy-loaded content
  • It waits for all images, videos, and dynamic elements to fully load
  • Multiple viewport sizes require separate captures for each URL
  • This ensures you get complete, accurate screenshots

Time estimates for common scenarios:

  • 10 URLs, 2 widths, full-page: ~10-20 minutes
  • 100 URLs, 2 widths, full-page: ~2-3 hours
  • 1000 URLs, 2 widths, full-page: ~18-24 hours

Pro tip: Start with viewport-only mode (captureFullPage: false) for faster results if you don't need the entire scrollable page.

Best Practices

  • Start small: Test with 5-10 URLs first to verify settings before running large batches
  • Use fewer widths: Select only the viewport sizes you actually need (default is 768px and 1920px)
  • Viewport-only for speed: Disable full-page capture if you only need above-the-fold content
  • Add delays for animations: If your pages have loading animations, add 1000-3000ms delay before screenshot
  • Valid URLs only: Ensure all URLs include http:// or https:// protocol

Input

UI Input

Configure your screenshot job using the visual interface:

  1. URLs to screenshot: Add one or more URLs (up to 100,000)

    • Each URL must include http:// or https://
    • Maximum 700 characters per URL
  2. Screenshot widths: Select which viewport sizes to capture

    • Default: 768px (Tablet) and 1920px (Desktop FHD)
    • Choose any combination of the 10 available widths
  3. Capture full page: Toggle full-page vs viewport-only capture

    • Enabled (default): Captures entire scrollable page
    • Disabled: Only captures visible viewport (much faster)
  4. Delay before screenshot: Optional wait time in milliseconds

    • Default: 0ms (no delay)
    • Use 1000-3000ms if your pages have loading animations
    • Maximum: 60000ms (60 seconds)
  5. Proxy configuration: Optional proxy settings

    • Recommended for large batches to avoid rate limiting

JSON Input

{
"urls": [
"https://example.com/",
"https://example.com/about",
"https://example.com/contact"
],
"widths": ["768", "1920"],
"captureFullPage": true,
"delayBeforeScreenshot": 0,
"proxyConfiguration": {
"useApifyProxy": true
}
}

API Input

Use the Apify API to integrate screenshots into your workflows:

curl -X POST https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"urls": ["https://example.com/"],
"widths": ["768", "1920"],
"captureFullPage": true
}'

Input Schema:

FieldTypeRequiredDescription
urlsarrayYesList of URLs to screenshot (1-100,000)
widthsarrayYesViewport widths to capture (at least 1 required)
captureFullPagebooleanYestrue for full page, false for viewport only
delayBeforeScreenshotintegerNoWait time in ms (0-60000), default: 0
proxyConfigurationobjectNoProxy settings for requests

Output

UI Output

View results in a table with columns for each viewport width. Each cell contains a download link to the PNG screenshot.

Columns:

  • URL (original URL)
  • 320px, 375px, 414px (mobile sizes)
  • 768px, 1024px (tablet sizes)
  • 1280px, 1366px, 1440px, 1920px, 2560px (desktop sizes)
  • Error (error message if screenshot failed)

Click any screenshot link to download the PNG file.

JSON Output

{
"url": "https://example.com/",
"width_320": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_320",
"width_375": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_375",
"width_414": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_414",
"width_768": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_768",
"width_1024": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_1024",
"width_1280": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_1280",
"width_1366": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_1366",
"width_1440": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_1440",
"width_1920": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_1920",
"width_2560": "https://api.apify.com/v2/key-value-stores/.../screenshot_abc123_2560",
"error": ""
}

Output Fields:

FieldTypeDescription
urlstringOriginal URL that was screenshotted
width_[size]string/nullDownload URL for screenshot at specified width, or null if not captured
errorstringError message if screenshot failed, empty string if successful

API Output

Access results via the Apify API:

# Get dataset items
curl https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs/LAST/dataset/items \
-H "Authorization: Bearer YOUR_API_TOKEN"

Export Options

CSV Export: Click "Export to CSV" in the UI to download all results as a spreadsheet

Excel Export: Click "Export to Excel" for an XLSX file compatible with Microsoft Excel

Google Sheets: Click "Export to Google Sheets" to send results directly to a new Google Sheet

Bulk Download: All screenshot PNG files are stored in the actor's key-value store and can be downloaded via their permanent URLs

Roadmap

  • Include Setting to Remove Popups and Overlays

Support

Have Questions or Need Additional Features?

We're here to support you! Whether you need help with setup, have questions about interpreting results, or want to request additional features, we've got you covered.

Contact Us: Just fill out the form at https://docs.google.com/forms/d/e/1FAIpQLSfsKyzZ3nRED7mML47I4LAfNh_mBwkuFMp1FgYYJ4AkDRgaRw/viewform?usp=dialog, and we'll try our best to help as quickly as possible.