What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
For a repeatable batch of Indian ecommerce product pages, use a script that reads each URL, opens it in a browser, and saves one screenshot with a filename tied to that URL. Playwright is a practical do-it-yourself option: its default screenshot is the visible viewport, and its fullPage option captures the page’s full scrollable length. If you do not want to manage browser setup and list processing, ScreenshotNeo offers a one-request-per-URL screenshot API and bulk capture of up to 100 URLs per call.
Choose a workflow for your URL list
| Route | Good fit when | What to account for |
|---|---|---|
| Playwright script | You want control over browser navigation, capture settings, file naming, and integration with your own workflow. | You implement list parsing, pacing, retries, output organization, and storage. |
| ScreenshotNeo API | You want hosted rendering, API-driven capture, or a bulk request workflow. | You need an API key and should handle each response and its status headers in your own process. |
| Urlbox / CaptureDeck | You prefer hosted or no-code list handling; Urlbox documentation describes CSV, Google Sheets, and Airtable as list sources. | Its bulk guide describes automation or CaptureDeck for bulk work rather than one request capturing an entire site. Confirm current canonical setup instructions; the cited bulk guide is served from a staging hostname. |
There is no established universal winner for speed or cost across these routes. Choose based on the amount of browser control you need, the desired image scope, how you will organize results, and whether a hosted service fits your use case.
As an Amazon Associate I earn from qualifying purchases.
Run a URL list with Playwright
The example below uses Node.js and Playwright. It reads one absolute URL per line from urls.txt, opens each URL, saves a viewport screenshot, and writes a JSON manifest linking each result to its original URL. Playwright documents the navigation and screenshot operations; pacing, filenames, retries, and the manifest are workflow choices implemented here. Install Playwright and its browser before running the script.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →-
Create a project and install Playwright:
npm init -y npm install playwright npx playwright install chromium -
Create
urls.txtwith one product URL per line. Blank lines and lines beginning with#are ignored.#1 Best Overall
SaleEpson Workforce ES-50 Compact & Lightweight Mobile Document Scanner | For Computers including PC and Mac Receipt and Document Scanner USB Powered- PORTABLE SCANNER FOR USE ON-THE-GO — The fastest and lightest mobile single-sheet-fed compact document scanner in its class¹
- QUICK DOCUMENT SCANNING ― This Epson ultra-fast scanner scans a single page as quickly as 5.5 seconds²; Windows and Mac compatible
- VERSATILE PAPER HANDLING ― Portable scanner scans documents up to 8.5 x 72 in; Also easily digitizes receipts and ID cards to make accounting, bookkeeping, and organizing simpler
- INTUITIVE, HIGH-SPEED SOFTWARE — Epson ScanSmart Software³ is a smart tool allowing you to easily scan, review, and save; Stay organized easily with the help of this Epson scanner
- EASY SETUP — USB-powered connect to your computer for quick and simple scanning; No batteries or external power supply required to operate portable document scanner; Standard Connectivity: USB 2.0
https://example.in/product-one https://example.in/product-two -
Save this as
capture.mjs:import { chromium } from 'playwright'; import { mkdir, readFile, writeFile } from 'node:fs/promises'; import { createHash } from 'node:crypto'; const inputPath = process.argv[2] ?? 'urls.txt'; const outputDir = process.argv[3] ?? 'screenshots'; const fullPage = process.env.FULL_PAGE === '1'; const delayMs = Number(process.env.DELAY_MS ?? '1000'); if (!Number.isFinite(delayMs) || delayMs < 0) { throw new Error('DELAY_MS must be a non-negative number'); } const lines = (await readFile(inputPath, 'utf8')) .split(/r?n/) .map(line => line.trim()) .filter(line => line && !line.startsWith('#')); const urls = lines.map((value, index) => { let parsed; try { parsed = new URL(value); } catch { throw new Error(`Line ${index + 1} is not an absolute URL: ${value}`); } if (!['http:', 'https:'].includes(parsed.protocol)) { throw new Error(`Line ${index + 1} must use http or https: ${value}`); } return value; }); await mkdir(outputDir, { recursive: true }); const browser = await chromium.launch({ headless: true }); const results = []; try { const page = await browser.newPage({ viewport: { width: 1365, height: 900 } }); for (const [index, url] of urls.entries()) { const id = createHash('sha256').update(url).digest('hex').slice(0, 12); const file = `${String(index + 1).padStart(4, '0')}-${id}.png`; const startedAt = new Date().toISOString(); try { const response = await page.goto(url, { waitUntil: 'domcontentloaded', timeout: 45000 }); await page.screenshot({ path: `${outputDir}/${file}`, fullPage }); results.push({ url, file, startedAt, finishedAt: new Date().toISOString(), httpStatus: response?.status() ?? null, outcome: 'saved' }); } catch (error) { results.push({ url, file: null, startedAt, finishedAt: new Date().toISOString(), outcome: 'failed', error: error instanceof Error ? error.message : String(error) }); } if (delayMs) await new Promise(resolve => setTimeout(resolve, delayMs)); } } finally { await browser.close(); await writeFile(`${outputDir}/manifest.json`, JSON.stringify(results, null, 2)); } const failures = results.filter(result => result.outcome === 'failed'); console.log(`Processed ${results.length} URL(s); ${failures.length} failed.`); if (failures.length) process.exitCode = 1; -
Run it:
node capture.mjs urls.txt screenshotsThat captures the visible viewport at 1365 × 900 CSS pixels. To capture the full scrollable page, run
FULL_PAGE=1 node capture.mjs urls.txt screenshots. SetDELAY_MS=2000to wait two seconds between URLs; adapt the interval to the destination site’s rules and your workload.
What the script records
Each screenshot filename combines its list position with a short hash of the original URL, so duplicate URLs at different positions remain distinct. manifest.json records the URL, filename, timestamps, outcome, and available HTTP status. Failed navigations are recorded and the script continues to later URLs. A successful file save does not establish that the page is a product page or that all dynamic content has finished rendering.
Viewport or full-page capture?
Playwright screenshots capture the current viewport by default. Set fullPage: true to capture the full scrollable page in one image. Use viewport captures when you need a consistent first-screen view across products; use full-page images when below-the-fold specifications, descriptions, or imagery matter. Very long pages can produce large images, and full-page capture alone does not guarantee that lazy-loaded images have appeared. For dynamic product pages, consider an explicit wait for a page element that indicates the content you need is ready.
Rank #2
- FAST SPEEDS - Scans color and black and white documents a blazing speed up to 16ppm (1). Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
- ULTRA COMPACT – At less than 1 foot in length and only about 1. 5lbs in weight you can fit this device virtually anywhere (a bag, a purse, even a pocket).
- READY WHENEVER YOU ARE – The DS-640 mobile scanner is powered via an included micro USB 3. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan.
- WORKS YOUR WAY – Use the Brother free iPrint&Scan desktop app for scanning to multiple “Scan-to” destinations like PC, Network, cloud services, Email and OCR. (2) Supports Windows, Mac and Linux and TWAIN/WIA for PC/ICA for Mac/SANE drivers. (3)
- OPTIMIZE IMAGES AND TEXT – Automatic color detection/adjustment, image rotation (PC only), bleed through prevention/background removal, text enhancement, color drop to enhance scans. Software suite includes document management and OCR software. (4)
Or skip the browser setup
ScreenshotNeo accepts a URL in a GET request and returns an image or PDF. This cURL example saves a WebP image; see the ScreenshotNeo API documentation for API-key setup and request options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
For a URL list, send one request per URL or use its bulk capture option for up to 100 URLs per call. ScreenshotNeo can accept cookie banners before capture and remove more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server gives AI agents tools for taking screenshots, getting page information, and capturing PDFs. Plans include 1,000 screenshots a month free with no card; paid plans start at $5 for 3,000 shots.
Learn about ScreenshotNeo, or sign up for 1,000 free screenshots a month with no card.
Use hosted list workflows carefully
Urlbox documentation describes list-based workflows using CSV, Google Sheets, and Airtable. Its bulk guide discusses feeding a list to CaptureDeck or automating API calls from a script, with batching and attention to rate limits for large jobs. The guide says its API does not natively capture an entire site in one request. These are Urlbox-specific descriptions, not a general rule for screenshot APIs; check its current canonical documentation before relying on exact setup steps.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesRank #3
- STAY ORGANIZED – Easily convert your paper documents into digital formats like searchable PDF files, JPEGs, and more.Power Consumption : 2.5W or less (Energy Saving Mode: 0.7W). Suggested Daily Volume : 500 scans..Does it contain liquid: no
- CONVENIENT AND PORTABLE –lightweight and small in size, you can take the scanner anywhere from home offices, classrooms, remote offices, and anywhere in between
- HANDLES VARIOUS MEDIA TYPES – Digitize receipts, business cards, plastic or embossed cards, reports, legal documents, and more
- FAST AND EFFICIENT – No technical hurdles or complicated setups here; easily scan both sides of a document at the same time, in color or black-and-white, at up to 12 pages-per-minute, and with a 20 sheet automatic feeder
- BROAD COMPATIBILITY – Works with both Windows and Mac devices, be it laptop or computer
Make the batch traceable and considerate
- Keep the source list unchanged. Preserve each original URL in the manifest so a screenshot can be traced back to its input.
- Choose stable output names. Avoid using product titles alone: titles can be duplicated, changed, or contain characters unsuitable for filenames.
- Use conservative pacing. Process sequentially or in small batches rather than launching a burst of parallel requests. Large jobs should be paced with destination-site load and rate limits in mind.
- Retain failure details. Record timeouts and navigation errors rather than silently dropping those URLs; retry selectively and avoid infinite retry loops.
- Check the relevant site rules first. Permission to render a URL technically does not establish permission to access, retain, or republish its screenshot.
Troubleshooting common batch failures
The script rejects an input line
Each nonblank entry must be an absolute http:// or https:// URL. Add the scheme and remove spreadsheet labels or surrounding quotation marks. The line number in the error points to the entry to fix.
A navigation times out or fails
The destination may be slow, unavailable, or inaccessible to the browser route being used. The example records the failure and proceeds; inspect the manifest, verify the URL independently, and retry only where appropriate. Increasing the timeout can help with a genuinely slow page, but it will also make a batch take longer.
The screenshot is blank or misses product details
The page may need more time or a specific element to load after the initial document navigation. The sample waits for domcontentloaded, not for every network request or product widget. Add a targeted selector wait or a bounded delay only when the page requires it. For lazy-loaded content, full-page mode is not a substitute for verifying that the images have loaded.
Rank #4
- IRIScan Express, portable scanner : scans color and black and white documents a blazing speed up to 8ppm simplex. Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
- IRIScan Express mobile scanner is powered via an included micro USB 2. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan. USB cable provided. AC Adapter not provided and not needed.
- IRIScan flatbed scanner uses a simplex scanning mode allows for quick and straightforward scanning of single-sided documents. IRIScan with its full portable features is the ideal document scanners for computers.
- IRIScan document scanner : Versatile scanning capabilities, including scanning to Word, PDF, and Excel formats with companion software provided Readiris OCR
- Receipt scanner and card scanner with Additional features include scanning business cards directly to Outlook, photo scanning, and receipt scanning for efficient document management
One retailer blocks or challenges automation
Browser rendering does not override a retailer’s access controls. Do not attempt to bypass a CAPTCHA or other restriction; check the site’s terms and access rules, and seek permission or an authorized data route where needed.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteFiles are hard to match to products
Use the manifest rather than relying on filename interpretation. Keep the URL, list position, capture timestamp, and outcome together; if the same URL appears more than once, the list position keeps the output filenames separate.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Site access and limits
The retailer domains, intended use, and any redistribution plans are not specified here, so no general permission or legal conclusion can be made for Indian ecommerce pages. Check the applicable terms and access restrictions for each actual site, and obtain appropriate permission where required. Urlbox describes how its own signed bot requests handle robots.txt, including fallback behavior, but that vendor policy does not establish permission for other services or resolve the rules for a particular retailer.
Best Value
- Scanner type: Document
- Connectivity technology: USB
- With Auto Scan Mode, the scanner automatically detects what you're scanning
- Digitize documents and images
Frequently Asked Questions
Can I capture a whole URL list in one request?
It depends on the service. ScreenshotNeo supports bulk capture of up to 100 URLs per call; a Playwright script processes URLs by navigating to each one.
Does a full-page screenshot include every lazy-loaded product image?
Not necessarily. Full-page mode captures the scrollable page, but dynamic and lazy-loaded content may need an additional wait or other page-specific handling.
Quick Recap
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.




