Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To screenshot thousands of URLs without overwhelming a browser, screenshot service, or target website, process them as individual jobs in a durable queue. Limit both active captures and how quickly new ones start; save each result and its status; and retry only temporary failures with backoff. A batch is a way to submit work, not proof that every URL runs at once or shares one quota.

Choose between managing browsers and using a hosted API

With Playwright, you control the browser, capture settings, network environment, and storage, but your application must provide batching, scheduling, persistence, retries, and monitoring. A hosted screenshot API can take browser operation off your hands, but its batch size, quotas, rate limits, retention, and delivery options are provider-specific. Verify those details against current provider documentation before committing to a service.

ScreenshotNeo is one hosted option to consider first: it removes cookie banners, popups, and chat widgets before capture, bills only clean shots, and has a free plan with 1,000 shots per month. Its API accepts one URL per GET request, so build a queue and controlled worker pool around individual calls rather than treating it as a bulk-submit endpoint. See ScreenshotNeo for the service.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build a reliable batch pipeline

The following is an implementation pattern, not a universal rate or concurrency prescription. Start conservatively, then tune using your target sites, browser resources, capture settings, and service plan. Check target-site terms and access policies before running captures at scale.

  1. Normalize and deduplicate inputs. Validate URLs and remove duplicates so retries or repeated source entries do not create avoidable work.
  2. Persist jobs before processing. Store each URL and a stable job identifier in a durable queue or database. Track states such as pending, running, succeeded, and failed, along with attempt count and timestamps.
  3. Set two controls. Cap simultaneous captures and pace job starts. Where appropriate, also schedule per domain so a large set from one site does not become a burst. These controls are separate: concurrency limits active work, while pacing controls how frequently new work begins.
  4. Capture and record each outcome. Save the image under a deterministic identifier, not a path derived directly from an untrusted URL. Keep a sidecar record with the source URL, final URL after redirects, completion time, capture settings, and navigation status or error.
  5. Retry selectively. Respect Retry-After when present. For transient failures, use bounded exponential backoff with jitter. Do not endlessly retry invalid URLs or pages that are blocked by the target.
  6. Monitor and adjust. Watch completion and timeout rates, blocked responses, queue delay, memory, browser crashes, output size, and API quota use. Slow or pause the queue when failures rise, then determine whether the cause is the target site, browser pressure, or provider throttling.

Capture URLs with Playwright

Playwright provides browser navigation and screenshot primitives, including viewport and full-page capture, file or buffer output, and options such as image type, quality, scale, and clipping. It does not prescribe a universal batch size, concurrency level, or request rate. The example below shows the capture worker; connect it to a durable queue and apply the scheduling and retry controls described above.

#1 Best Overall
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
  • Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
  • Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
  • CanaKit Turbine Black Case for the Raspberry Pi 5
  • CanaKit Low Noise Bearing System Fan
  • Mega Heat Sink - Black Anodized

Install Playwright and its browser using the steps in the Playwright installation documentation. Save this as capture.mjs and run it with node capture.mjs https://example.com. It uses one URL supplied on the command line, writes a PNG, and prints the navigation result. For a large job, invoke the worker from your queue system and ensure the scheduler—not an unbounded loop—controls concurrency and pacing.

import { chromium } from 'playwright';

const url = process.argv[2];
if (!url) {
  throw new Error('Usage: node capture.mjs <url>');
}

const browser = await chromium.launch();
try {
  const page = await browser.newPage({ viewport: { width: 1440, height: 900 } });
  const response = await page.goto(url, { waitUntil: 'load', timeout: 60000 });
  await page.screenshot({ path: 'capture.png', fullPage: true, type: 'png' });
  console.log(JSON.stringify({
    requestedUrl: url,
    finalUrl: page.url(),
    status: response?.status() ?? null,
    output: 'capture.png'
  }));
} finally {
  await browser.close();
}

The example deliberately leaves queueing and retries outside the worker: those are workload policy choices. Persist a job as running before capture and record the final outcome afterward, so a process restart does not silently lose completed or in-progress work. Classify navigation errors separately from HTTP responses; a page can return an HTTP error status and still produce an image.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the capture and output settings

Viewport or full page

Use a viewport screenshot when the initial visible screen is what you need to compare. Use full-page capture when the complete scrollable document matters. Full-page images can take more time and storage, particularly on long pages, so test representative pages from your own URL set before estimating capacity.

Rank #2
CanaKit Raspberry Pi 5 16GB Starter Kit PRO - Turbine Black (128GB Edition) (16GB RAM)
  • Includes Raspberry Pi 5 16GB with 2.4Ghz 64-bit quad-core CPU (16GB RAM)
  • Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
  • CanaKit Turbine Black Case for the Raspberry Pi 5
  • CanaKit Low Noise Bearing System Fan
  • Mega Heat Sink - Black Anodized

Format and image scale

Choose PNG, JPEG, or WebP according to fidelity and storage requirements, and set scale deliberately. Playwright’s CSS scale produces one image pixel per CSS pixel; device scale can produce more pixels on high-density displays. Larger output increases storage needs, and may increase transfer and processing work. The cited documentation does not establish a universal size or timing estimate.

Stable outputs and useful metadata

Use a generated job ID or stable URL hash for filenames; do not use raw URL strings as filesystem paths. Preserve enough metadata to reproduce and audit the capture: requested and final URL, capture timestamp, viewport, full-page setting, format and scale, HTTP status when available, error details, and attempt number.

Set a rate limit that fits the workload

There is no evidence-based universal requests-per-minute value or concurrency setting for thousands of captures. Appropriate limits depend on the target set, capture mode, browser capacity, provider plan, and site behavior. Start with a small representative sample and low concurrency, then raise the pace only while error rates and resource use remain acceptable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
CanaKit Raspberry Pi 5 Essentials Starter Kit (4GB RAM)
  • CanaKit Raspberry Pi 5 Essentials Starter Kit

Keep provider limits distinct from target-site behavior. A provider quota can constrain how many URLs your account may process, while a target website can independently slow, block, or disallow requests. A batch endpoint can queue work rather than start it immediately, and quota accounting may be per URL rather than per submission. For example, ScreenshotRun’s batch documentation describes per-URL quota and rate accounting, queueing when a submitted batch exceeds its current per-minute capacity, and polling or per-screenshot webhooks. Those are ScreenshotRun-specific behaviors, not general guarantees for hosted screenshot APIs. Check its batch documentation and verify current terms directly before relying on any limits or delivery behavior.

Hosted batch APIs and what to verify

A hosted batch API may accept many URLs in one submission, but confirm the difference between maximum submission size and actual processing concurrency. Before selecting any service, check how it counts quota and charges, what happens when limits are reached, whether it queues work, how results are returned, how long results remain available, and whether it exposes error details and retries.

Also verify support for full-page capture, authentication, interactions, dynamic pages, and geographic rendering if your workflow needs them. These are comparison questions, not capabilities established for every provider. No current vendor price or universal throughput figure is established here, so calculate cost from the current plan and its actual per-URL accounting for your volume.

Rank #4
SANOOV Raspberry Pi 5 4GB Kit, 4GB RAM Single Board Computer with Active Cooler and ABS Case, Complete Raspberry Pi 5 Starter Kit for IoT Robotics Retro Gaming
  • All-in-One Complete Kit: This SANOOV RPi 5 bundle comes with Raspberry Pi 5 4GB RAM single board, active cooler, durable ABS case and screwdriver. No extra parts needed, ready to use right out of the box for beginners and hobbyists
  • Powerful Single Board Computer: Equipped with 4GB RAM and high-performance processor, delivers fast running speed for 4K playback, AI projects, programming and daily computing tasks. SANOOV for raspberry pi 5 4GB is equipped with broadcom 64 quad-core Arm Cortex A76 processor with gigabit ethernet and upgraded with IEEE 802.11ac Wi-Fi, Bluetooth 5.0 dual-band 2.4Ghz and 5Ghz and Power Over Ethernet (POE). Upgrading delivers 2-3 x speed vs Pi 4, redefining the experience
  • Efficient Active Cooler: Effectively lowers operating temperature and prevents performance throttling. Runs quietly even under long-time heavy load, ensures stable operation all day long. SANOOV RPi 5 4GB kit offer an active cooler, which combines an aluminium heatsink with a high-performance PWM fan. Active cooler is fully compatible with the Pi OS, which can effectively reduce the temperature of RPi5 and ensure its good performance during long-term high load operation
  • Sturdy ABS Protective Case: Well-fitted for Raspberry Pi 5 board, can be secured with 4 screws to effectively protect the Pi 5 motherboard from damage, reserves full access to all ports and buttons. SANOOV uses ABS material to produce the case, which has a softer texture and feel. Meanwhile, SANOOV case adopts a layered design for easy disassembly and installation. (Tip: The Case cannot install M.2 HAT Add on Board and Solid State Drive!)
  • Wide Application & Full Compatibility: Seamlessly compatible with official OS and mainstream peripheral accessories for Raspberry Pi 5. Whether you are a beginner, student, electronics hobbyist or professional developer, this all-in-one kit meets your diverse needs. It excels in IoT projects, robotics design, retro gaming devices, home media servers and other DIY creations. Backed by a large global community, you can easily find guides, technical support and shared projects online
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

ScreenshotNeo lets you run a controlled worker pool against a single-URL screenshot endpoint. See the API documentation for request options. Example using cURL:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Use your own API key and replace the target URL as needed. In your batch worker, submit one request per queued URL, record each response, and pace starts according to your workload and applicable limits.

  • Cookie and consent banners, newsletter popups, and chat widgets are removed before capture; each cleanup step can be turned off.
  • Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing; responses include X-Page-Verdict and X-Billed headers.
  • An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients.
  • The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Every feature is available on every plan, and yearly billing gives two months free.

Sign up for ScreenshotNeo’s free plan to start with 1,000 screenshots a month and no card.

Best Value
RasTech Raspberry Pi 5 8GB Kit with Active Cooler and Pi5 Case
  • 【What you Get】You will get 1*Pi 5 8GB Single Board,1*RasTech Case,1*Active Cooler,1*Screwdriver,1*Installation instructions,12-month free warranty, lifetime service, 24-hour prompt and friendly response.
  • 【More Connectors】There are two USB 3.0 ports(5Gbps simultaneously) and two USB 2.0 ports, which triple total bandwidth ,support any combination of up to two cameras or displays. Peak SD card performance is doubled through support for the SDR104 high-speed mode. It provides a smooth desktop experience for you. Offer Gigabit Ethernet and a PCIe interface, along with dual-band Wi-Fi and Bluetooth 5.0/BLE wireless capability. The RasTech Pi 5 Kit use the new 27W 5.1V 5A USB-C power connector.
  • 【 Support Dual 4Kp60 Display 】Each of the two microHDMI sockets can control a 4K display at 60 Hertz, now support HDR, offering super HD video for media streaming projects. RPi 5 is the first RPi model that comes with a PCI Express port (PCIe 2.0 x1 with 500 MB/s) to attach SSDs (requires separate M.2 HAT).
  • 【 Excellent Chips And Applications】Pi 5 is a full-size Pi computer using silicon built in-house at Pi. The RP1 “southbridge” provides the bulk of the I/O capabilities for Pi 5. Pi 5 is more friendly and convenient in the development of Internet of Things, Web development, machine identification, automatic control and other electronic equipment applications and network.
  • 【 Faster CPU, Better GPU 】 Pi 5 features a Broadcom BCM2712 64-bit quad-core Arm Cortex-A76 processor running at 2.4GHz, it delivers a 2–3× increase in CPU performance relative to RaspberryPi 4. The 800MHz VideoCore VII GPU is compatible to OpenGL ES 3.1 and Vulkan 1.2, substantial uplift in graphics performance. Pi 5 Offers lightning-fast CPU speed, a PCI Express interface, a Real Time Clock (RTC) and a power button and runs significantly cooler than Pi 4.

Troubleshoot common batch failures

  • The process stops partway through: If progress existed only in memory, a restart can lose job state. Persist jobs and outcomes, then resume pending jobs rather than restarting the whole list.
  • Many captures fail or time out together: Reduce concurrency and pacing, then inspect target responses, browser resource use, and provider limits to identify the bottleneck.
  • Some pages are blocked or return errors: Record the status and final URL. Do not treat a blocked or invalid page as a transient error to retry forever; check access policies and classify the outcome.
  • Results arrive later than expected from a hosted batch: A batch may be queued when provider capacity is reached. Check that provider’s documented polling or webhook workflow rather than assuming submission means completion.
  • Images are unexpectedly large or slow to store: Review full-page mode, scale, and format. Test representative pages before changing settings across the whole queue.
  • Duplicate files overwrite one another: Replace URL-derived filenames with stable unique job identifiers, and store the original URL in the metadata record.

Frequently Asked Questions

Does a batch request mean all URLs are captured simultaneously?

No. Submission size and processing concurrency are different; the provider may queue work according to its capacity and limits.

What rate limit should I start with?

There is no universal value supported for every target set and environment. Begin with low concurrency and a small sample, then adjust based on responses, resource use, and the applicable provider and site limits.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 1
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM); CanaKit Turbine Black Case for the Raspberry Pi 5
$259.95
Bestseller No. 2
CanaKit Raspberry Pi 5 16GB Starter Kit PRO - Turbine Black (128GB Edition) (16GB RAM)
CanaKit Raspberry Pi 5 16GB Starter Kit PRO - Turbine Black (128GB Edition) (16GB RAM)
Includes Raspberry Pi 5 16GB with 2.4Ghz 64-bit quad-core CPU (16GB RAM); CanaKit Turbine Black Case for the Raspberry Pi 5
$419.99
Bestseller No. 3
CanaKit Raspberry Pi 5 Essentials Starter Kit (4GB RAM)
CanaKit Raspberry Pi 5 Essentials Starter Kit (4GB RAM)
CanaKit Raspberry Pi 5 Essentials Starter Kit
$189.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.