Website Screenshot Generator avatar

Website Screenshot Generator

Pricing

from $14.00 / 1,000 results

Go to Apify Store
Website Screenshot Generator

Website Screenshot Generator

Renders a list of URLs in a headless browser and returns a screenshot for each one, with optional HTML snapshots and mobile variants.

Pricing

from $14.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

71

Total users

22

Monthly active users

3 days ago

Last modified

Share

ParseForge

Website Screenshot Generator

Capture pixel-perfect screenshots from any URL, in bulk, with one API call. Render full pages or viewports as PNG, JPEG, or PDF, and optionally save the HTML snapshot. No browser extensions or manual setup needed.

Taking manual screenshots of dozens of URLs is slow and inconsistent. This Website Screenshot Generator renders each page in a real browser, waits for dynamic content to load, and captures the exact image you need. It handles the infrastructure so you get a clean, repeatable output every time.

Who uses itWhat they scrape Website Screenshot Generator for
QA engineersAutomating visual regression tests for web deployments.
Marketing managersCapturing ad landing pages for compliance archives.
SEO specialistsRecording daily SERP layouts for rank tracking.
Web designersBuilding a visual portfolio of live site designs.

What it does

This Actor renders a list of URLs in a headless browser and returns a screenshot for each one, along with an optional HTML snapshot.

  • 🖥️ Full-page or viewport: capture the entire scrollable page or the visible area.
  • 📱 Mobile variant: optionally produce a second screenshot with an iPhone-class viewport.
  • 📄 Multi-format output: export as PNG, JPEG, or PDF to match your workflow.
  • Smart waiting: wait for a specific CSS selector or a custom delay before the snapshot.
  • 📝 HTML snapshots: save the rendered DOM alongside each screenshot for debugging.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Website Screenshot Generator data

🧪 Automate visual QA checks.

A QA engineer runs the Actor against a staging sitemap after each deploy and diffs the screenshots against the previous run to catch layout regressions.

📋 Archive ad landing pages.

A marketing manager captures every paid-search landing page as a PDF every morning to prove compliance and keep a searchable record.

🔍 Track SERP appearance daily.

An SEO specialist feeds a list of Google search result URLs and captures full-page screenshots to monitor featured snippets and competitor positions.

🎨 Build a live design gallery.

A web designer points the Actor at a portfolio list and collects high-resolution PNGs of each site for a visual showcase.

Why choose this scraper

What you get
Consistent renderingA fixed viewport and wait logic give you the same output every run.
Bulk captureProcess up to a million URLs in a single run without queuing them yourself.
No local browserRuns entirely on Apify infrastructure, so your local machine stays free.

How it compares

This Actor focuses purely on high-quality, bulk screenshot capture with flexible rendering options, while the alternatives listed below either prioritize text extraction or add AI-driven browsing.

FeatureParseForgeWebsite Content CrawlerAI Web Agent
Full-page screenshot captureYesNot listedYes
Output as PDFYesNot listedNot listed
Mobile viewport variantYesNot listedNot listed
Wait for a CSS selectorYesNot listedNot listed
HTML snapshot alongside imageYesYesNot listed
Extract clean text/MarkdownNot listedYesNot listed

Configure the run

Feed the Actor a list of URLs and control the output with viewport dimensions, format, wait conditions, and optional mobile or HTML captures. The Input tab lists every parameter.

A first run with the defaults:

{
"startUrls": [
{
"url": "https://apify.com"
}
],
"maxItems": 10,
"viewport": {
"width": 1920,
"height": 1080
},
"fullPage": true,
"format": "png",
"captureMobile": false,
"captureHtml": true,
"waitMs": 2000,
"navigationTimeoutSecs": 45
}

A larger pull:

{
"startUrls": [
{
"url": "https://apify.com"
}
],
"maxItems": 200,
"viewport": {
"width": 1920,
"height": 1080
},
"fullPage": true,
"format": "png",
"captureMobile": false,
"captureHtml": true,
"waitMs": 2000,
"navigationTimeoutSecs": 45
}

Pricing

Pay-per-result: $0.016 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$1.60
1,000 results$16.00
10,000 results$160.00

Optional mobile screenshot: with captureMobile on, each mobile screenshot saved adds a mobile-screenshot event at $0.005 ($5 per 1,000). Leave it off and you pay only the per-result price above.

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Website Screenshot Generator.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Website Screenshot Generator through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/screenshot-url"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why is my screenshot blank or white?

The page may rely on JavaScript that hasn't finished. Increase the 'Wait Milliseconds' value or set a 'Wait for Selector' that appears after the content renders.

Why am I getting a timeout error?

The target site might be slow or blocking the request. Increase the 'Navigation Timeout' value and consider adding a longer wait time. If the site blocks datacenter IPs, you may need a proxy.

The full-page screenshot is cut off or too short.

Some pages with infinite scroll or lazy-loaded images may not report their full height. Try increasing the wait time or waiting for a footer element to appear.

Why does the mobile variant look the same as the desktop one?

The site you are capturing may have a responsive design that looks identical at both widths, or it may serve the same assets regardless of viewport size.

My PDF output is missing fonts or styles.

Web fonts or external stylesheets may not load in time for the print. Increase the wait time before capture to ensure all resources are fetched.

FAQ

QuestionAnswer
Can I capture a screenshot of a page that requires a login?This Actor renders public URLs in a fresh browser session. If the page requires authentication, you would need to pass session cookies or use a specialized logging-in Actor first.
How long does it take to capture one screenshot?It depends on the target page's load time and your wait settings. With the default 2-second wait and a fast page, a single screenshot often completes in under 10 seconds.
What is the maximum file size for a screenshot?There is no hard file-size limit, but very long full-page captures can produce large images. You can limit the viewport height or switch to JPEG to reduce file size.
Can I set a custom user agent or headers?The current input schema does not expose custom headers or user-agent overrides. The Actor uses a standard headless Chrome user agent.
Does the Actor execute JavaScript on the page?Yes, it renders the page in a full Chromium browser, so JavaScript executes before the screenshot is taken. You can use the wait-for-selector option to wait for JS-rendered elements.
Can I get a PDF instead of an image?Yes, set the output format to PDF. The Actor will print the page as a PDF document instead of capturing a raster image.
How do I capture a mobile version of a site?Enable the 'Capture Mobile Variant' option. The Actor will take a second screenshot using an iPhone-class viewport for each URL.
What happens if a URL fails to load?The Actor will wait for the navigation timeout you set and then capture whatever is on the screen at that moment, or record an error if nothing loaded.
Can I run this on a schedule to monitor website changes?Yes, you can set up an Apify schedule to run this Actor hourly, daily, or weekly and compare the new screenshots against the previous run.
Where are the screenshots stored after the run?Each screenshot is saved in the Apify key-value store and a reference to it is included in the dataset record, so you can download them individually or in bulk.

Browse the full ParseForge collection for more scrapers.

🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Apify. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.