Use Playwright with BrowserCat’s hosted Chromium: connect to its WebSocket endpoint, navigate to each URL, and save a screenshot before moving to the next. BrowserCat documents the connection and single-page capture; a URL loop is an implementation pattern, not a verified BrowserCat bulk-screenshot endpoint.
Capture multiple URLs with BrowserCat and Playwright
BrowserCat’s quick start describes creating an account and API key, then connecting Playwright to wss://api.browsercat.com/connect with the key in an Api-Key header. The cloud session runs Chromium. The example below applies the documented navigation and screenshot operations to a list, sequentially. BrowserCat quick start
As an Amazon Associate I earn from qualifying purchases.
Install playwright-core in a Node.js project and set BROWSERCAT_API_KEY in the environment. Create the output directory before running the script; Node’s screenshot call does not create parent directories.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsimport * as pw from 'playwright-core';
const urls = [
'https://example.com/',
'https://example.org/',
];
async function captureAll() {
const browser = await pw.chromium.connect(
'wss://api.browsercat.com/connect',
{ headers: { 'Api-Key': process.env.BROWSERCAT_API_KEY } },
);
try {
const context = await browser.newContext();
const page = await context.newPage();
for (const [index, url] of urls.entries()) {
try {
await page.goto(url, { waitUntil: 'load', timeout: 30_000 });
await page.screenshot({
path: `screenshots/page-${index + 1}.png`,
fullPage: true,
});
console.log(`Saved ${url}`);
} catch (error) {
console.error(`Screenshot failed for ${url}`, error);
}
}
} finally {
await browser.close();
}
}
captureAll().catch(console.error);
The connection, navigation, and capture calls follow BrowserCat’s documented quick-start pattern. The loop, output filenames, full-page option, timeout, and per-URL error handling are choices in this example, so test them with your sites and runtime. Keep the API key out of source control.
#1 Best Overall
- CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
- WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
- A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
Prepare and run the script
- Install the Playwright Core package in your project with
npm install playwright-core. - Create a
screenshotsdirectory in the project, for example withmkdir -p screenshotson macOS or Linux. - Set
BROWSERCAT_API_KEYin your shell or secret manager. Do not hard-code it in the script. - Replace the sample URLs with the pages you want to capture, then run the file with Node.js.
- Check the output directory and the console. A failed URL is reported and does not stop later URLs from being attempted.
Choose when each page is ready to capture
waitUntil: 'load' waits for the browser’s load event, which is a useful starting point but does not guarantee that every site’s dynamically rendered content is ready. For JavaScript-heavy pages, wait for a meaningful page element or application condition before calling screenshot(). A fixed delay can help when no reliable condition is available, but it adds time to every capture and may still be too short or unnecessarily long. BrowserCat’s quick start demonstrates page-load waiting; it does not prescribe one universal wait policy. BrowserCat quick start
Use fullPage: true when you need the page beyond the current viewport. For a viewport-only capture, omit it or set it to false. Test long or unusual pages: full-page output can be large, and page layout may change as content loads.
Rank #2
- CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
- SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
Sequential capture or bounded parallelism?
Start sequentially
The sample processes one URL at a time using one page. This is easy to reason about, limits simultaneous work, and isolates failures: the catch inside the loop logs a failed URL and proceeds to the next. It is a practical starting point for modest lists or when target sites have uncertain behavior.
Increase throughput carefully
If sequential processing is too slow, use a bounded worker pool rather than launching every URL at once. Limit the number of simultaneous pages, record which URLs failed, and test concurrency against both your BrowserCat account and the sites being captured. BrowserCat’s pricing page displays 1,000 concurrent requests for its plans, but that headline is not a recommended worker count or a guarantee for an individual screenshot script. BrowserCat pricing
Rank #3
- Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
- Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
- Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
- In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
- Ultra-thin bezels: Maximize your viewing experience with thin bezels.
Understand BrowserCat credit use and batch limits
The BrowserCat pricing page, at the time reflected in the published details cited here, listed a Hobby plan at $0 per month with 1,000 credits per month and $0.0025 per extra credit, and a Business plan at $50 per month with extra credits at $0.00175. It said WebSocket activity costs one credit per 30 seconds, rounded up, while successful Utility API requests cost one credit each. These are vendor-published, time-sensitive plan terms; check the live page before budgeting or purchasing. BrowserCat pricing
The pricing page also describes soft and hard usage limits. Requests are rejected at the hard limit until the billing period resets or limits are increased, so monitor usage during large runs and treat navigation failures as possible rather than assuming every URL will succeed. The documented workflow here repeatedly uses Playwright operations; it does not establish a dedicated BrowserCat bulk screenshot endpoint.
Rank #4
- CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
- SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
- MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
- KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
- INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
Troubleshoot common failures
- Connection or authentication fails: Confirm that the API key is present in
BROWSERCAT_API_KEYand that the header name is exactlyApi-Key. Check that the endpoint iswss://api.browsercat.com/connectand that your account key is active. Do not print the key in logs. - The script cannot save a file: Ensure the
screenshotsdirectory exists and that the process has permission to write there. Adjust the output path if you run the script from a different working directory. - A navigation times out: The site may be slow, unreachable, or waiting on resources that do not settle within 30 seconds. Check the URL and site accessibility, then adjust the per-navigation timeout if appropriate. Keep failures logged so one slow page does not silently erase the rest of the batch.
- The screenshot is missing late-loading content: The load event may have fired before the application finished rendering. Wait for a selector or other site-specific readiness condition before capturing.
- The wrong amount of the page appears: Check whether the desired output is viewport-only or full-page and set
fullPageaccordingly. Verify that lazy content has loaded before taking a full-page capture. - Later URLs do not run after an error: Keep the per-URL
try/catchinside the loop. If you move error handling outside it, a thrown navigation or screenshot error can end the batch early. - Requests stop during a large run: Review account usage and limits on the pricing page; requests may be rejected at a hard usage limit. Reduce the batch size, wait for reset, or adjust limits as applicable to your account.
Use BrowserCat MCP for an agent-driven single-page capture
BrowserCat’s MCP server documents a screenshot action for the current page or a CSS-selected element, with width and height inputs that default to 800 by 600. The reviewed documentation does not show a bulk list-of-URLs screenshot action, so a list still needs to be handled through a repeated workflow such as the Playwright loop above. BrowserCat MCP server
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchOr skip the browser setup
If you need a screenshot per URL without managing a hosted Playwright session, ScreenshotNeo provides a one-request screenshot API. Its API also accepts the parameter names used by other screenshot APIs, which can make switching easier. The code below uses the documented endpoint and saves the response as a WebP file; see the ScreenshotNeo documentation for request options.
Best Value
- 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
- 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
- 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.
Learn about ScreenshotNeo, or sign up free for 1,000 screenshots a month with no card.
Frequently asked questions
Does BrowserCat have a batch screenshot API?
The documentation cited here establishes single-page Playwright capture and an MCP screenshot action, not a dedicated endpoint that accepts a list of URLs. The example processes the list by repeating the single-page operations.
Free tools Windows power users keep installed
One-click scans. No signup required.
Can I use Puppeteer instead of Playwright?
BrowserCat’s FAQ says it supports Playwright, Puppeteer, and CDP-based libraries. This walkthrough uses Playwright. BrowserCat FAQ
Is Cloudflare Browser Run’s snapshot endpoint a BrowserCat feature?
No. Cloudflare Browser Run separately documents a /snapshot endpoint that can combine a screenshot with page content; it is a different service, not a BrowserCat endpoint. Cloudflare Browser Run snapshot documentation
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.




