To capture competitor landing pages on a schedule, use a browser to render and save each page, then run that capture script repeatedly with cron or a hosted workflow. Keep the viewport, browser, and capture mode consistent so the archive is useful for spotting visual changes. If you also want alerts, add comparison logic and a delivery step—or use a hosted service that offers them.
Choose between a script and a hosted service
A self-managed workflow separates the job into two parts: a browser captures the page, and a scheduler starts the job at regular intervals. A hosted scheduled-capture service may combine the trigger, capture, storage, and notifications. Which is better depends on how much control and maintenance your team wants.
As an Amazon Associate I earn from qualifying purchases.
| Approach | Useful when | What you manage or verify |
|---|---|---|
| Playwright script plus cron or a scheduled workflow | You want control over browser behavior, target URLs, output files, and storage. | You maintain the script, browser environment, retries, and screenshot archive. |
| Managed scheduled-capture service | You want hosted recurring captures, retained results, or email and webhook delivery. | Check the service’s current quota, retention period, notification options, export process, and plan terms. Allscreenshots describes scheduled captures and optional change notifications in its scheduled-screenshots guide; those are vendor-described capabilities, not an independent service comparison. |
Compare the setup and maintenance involved, support for page interactions and capture modes, archive access, notification options, quotas, and current pricing. No comparative performance or pricing figures are established here, so verify current terms directly before choosing a provider.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Build a recurring capture with Playwright
The example below uses Playwright’s Node.js library to save a full-page PNG. It reads target URLs from a JSON file and creates a separate image for each URL. Install Node.js and Playwright in the environment that will run the job, and install Playwright’s browser before scheduling it. See the official Playwright screenshot documentation for viewport, element, full-page, and output-format options.
#1 Best Overall
- 【Fanless Design for Uninterrupted Stability】Perfect for noise-sensitive environments and 24/7 operation. This mini PC delivers completely silent performance with an efficient cooling system that prevents overheating. It reliably runs office software and HD video without slowdowns, making it ideal for focused offices, home theaters, and demanding industrial IoT applications
- 【Ultra-Portable & Ready for Any Screen】Extremely compact and lightweight, this is a full Windows 10/Ubuntu computer that fits in your pocket. It's the ultimate plug-and-play solution for business presentations on a projector, digital signage in classrooms, or entertainment on your home TV. Achieve true "work from anywhere" flexibility with one device for all scenarios
- 【Stunning UHD 600 Graphics】Experience vibrant, fluid visuals with 4K @ 60Hz output. Powered by Intel UHD 600 Graphics, this mini PC is your perfect home entertainment center for streaming movies, attending online classes, or hosting video conferences. It turns any display into a sharp, high-definition visual experience
- 【Versatile Ports for Easy Expansion】Tackle multiple tasks with ease using our comprehensive selection of ports. Connect storage, keyboards, monitors, and more simultaneously with 2x USB 3.0 ports, a Gigabit LAN port, and a TF card reader. With convenient USB-C charging, it becomes the effortless control center for your office or home setup
- 【Pre-Installed & Ready to Go】Get started immediately with the genuine Windows 10 Pro operating system pre-installed. Paired with 4GB LPDDR4 RAM and 64GB eMMC storage, it's fully equipped for everyday office tasks and HD content right out of the box. This hassle-free setup is perfect for businesses, schools, and users who want a simple, ready-to-run computer
1. Create a project and install the browser
In a new project directory, run:
npm init -y
npm install playwright
npx playwright install chromium
2. List the pages to capture
Create urls.json in the project directory:
[
"https://example.com/pricing",
"https://example.org/product"
]
Use public landing-page URLs you are permitted to access. If a page requires a login, has a consent banner, or needs another interaction before its final appearance is visible, the script must handle that interaction or use an appropriate capture service; an ordinary page load may capture an interstitial instead.
3. Save one consistent screenshot per page
Create capture.mjs:
import { chromium } from 'playwright';
import { mkdir, readFile } from 'node:fs/promises';
const urls = JSON.parse(await readFile(new URL('./urls.json', import.meta.url), 'utf8'));
const outputDir = new URL('./screenshots/', import.meta.url);
await mkdir(outputDir, { recursive: true });
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage({
viewport: { width: 1440, height: 1000 },
deviceScaleFactor: 1
});
try {
for (const url of urls) {
const response = await page.goto(url, {
waitUntil: 'networkidle',
timeout: 60000
});
if (!response || !response.ok()) {
console.warn(`Page returned ${response?.status() ?? 'no response'}: ${url}`);
}
const filename = new URL(url).hostname + new URL(url).pathname
.replace(/[^a-z0-9]+/gi, '-')
.replace(/^-|-$/g, '');
await page.screenshot({
path: new URL(`${filename || 'home'}.png`, outputDir).pathname,
fullPage: true
});
}
} finally {
await browser.close();
}
Run it once before adding a schedule:
node capture.mjs
It creates a screenshots folder and stores one full-page PNG per URL. The fixed viewport and device scale factor help keep framing stable. The filename is derived from the hostname and path, so review naming if your URL list includes paths that produce the same normalized name.
4. Schedule the script
On a Unix-like machine with cron, edit the crontab with crontab -e and add a line like this to run the capture daily at 08:00 in the machine’s local time:
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →0 8 * * * cd /path/to/project && /usr/bin/node capture.mjs >> capture.log 2>&1
Replace /path/to/project and /usr/bin/node with the actual project and Node.js paths. Cron uses the host’s time zone; confirm it is the intended one. For a team workflow, a hosted scheduler can run the same script, but configure its secrets, artifact retention, timeout, concurrency, and failure notifications explicitly.
Rank #2
- Compact and efficient: The Lenovo ThinkCentre M710q mini desktop PC is a compact and efficient mini desktop PC with reliable performance, plenty of memory, and efficient storage.
- Stable Processor - 6th Gen Intel Core i3-6100T, delivering reliable processing power for a variety of tasks including office productivity, web browsing and multimedia consumption.
- AMPLE CAPACITY - 8GB DDR4 RAM provides ample memory for seamless multitasking, smooth performance and runs multiple applications at the same time; 256GB solid state drive offers fast boot times, quick data access, and enough storage space for essential files, documents and applications.
- FLEXIBLE EXPANSION - USB Type-A, DisplayPort, RJ-45, headphone/microphone combo jack, ensuring easy connection to peripherals and accessories.
- Operating System: Windows 11 Pro - a powerful, secure, compatible and more manageable operating system that helps you better manage and protect your devices and data for greater productivity and security.
Make screenshots comparable and useful
Keep capture conditions stable
Use the same viewport, full-page or viewport mode, browser version, operating system, and rendering settings across captures. Playwright notes that rendering can vary with the host OS, browser version, settings, hardware, power source, and headless mode in its visual comparisons documentation. Differences between environments can therefore look like changes to the competitor’s page.
Choose full-page capture if you need the entire landing page, or a fixed viewport if you want to monitor what visitors see above the fold. Playwright also supports screenshots of a selected element and PNG, JPEG, or WebP output; see its screenshot tool reference. Keep the same choice for every run.
Separate an archive from change alerts
A folder of timestamped images gives you a visual history, but it does not by itself determine whether a page changed meaningfully or notify anyone. To build alerts, retain a baseline or prior image, compare captures, decide how to treat dynamic regions such as rotating banners, and send a message through your chosen email or webhook system.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Playwright Test can compare visual snapshots against a baseline. Its screenshot assertion waits for two consecutive screenshots to match before comparing the final capture with the expected image, as described in the PageAssertions reference. This is test-runner behavior; a basic scheduled script such as the one above does not automatically perform baseline comparison or send alerts.
Rank #3
- [Stable Performance] AMD Ryzen 5 Pro 2400GE. The Renewed Lenovo ThinkCentre M715q Tiny desktop computer driven by the Quad Core AMD Ryzen 5 Pro 2400GE processor up to 3.8 GHz for efficient multitasking.
- [Multitask Smoothly] This Refurbished ThinkCentre M715q Mini PC is equipped with a blazing fast 256GB SSD to store important files and applications, support faster Boot speed and faster storage rates.
- [Rich Ports] The ThinkCentre M715q Tiny comes equipped with two DisplayPort outputs for supporting dual-monitor setups, as well as three USB 3.0 and three USB 2.0 ports to access printers, external storage drives, and other useful devices.
- [Windows 11 Pro] This ThinkCentre M715q Tiny desktop is Pre-installed with the Windows 11 Professional operating system, Microsoft has re-imagined how the PC should work for you and with you. This Windows 11 Pro desktop computer is redefining productivity.
Use a community GitHub workflow example carefully
If you prefer a repository-hosted workflow, the community-maintained github-screenshot-action documents an example that keeps URLs in a JSON list and uses cron syntax to schedule captures. Its configuration covers output, concurrency, retries, timeout, wait strategy, and viewport width. It is a community project, not an official GitHub feature or endorsement. Check the repository’s current version, maintenance status, and requirements before relying on it.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. One GET request can return an image or PDF; its clean-shot workflow accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture, with each step configurable. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents and other MCP clients. Use your key and set the target URL in this cURL request; see the ScreenshotNeo API documentation for 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
ScreenshotNeo includes 1,000 screenshots per month free with no card; paid plans start at $5 for 3,000 screenshots. Its API captures on request, so to make recurring captures you still need to invoke it from cron or another scheduler and decide how to retain or compare the results. Sign up for 1,000 free screenshots a month, with no card required.
Troubleshoot common capture problems
- The script times out: A page may keep network activity open or load slowly. Increase the timeout if appropriate, or use a different wait condition and a deliberate delay after navigation. Test the chosen condition against the target pages rather than assuming every site reaches network idle.
- The image shows a consent screen, popup, or chat widget: The page may require an interaction, or the overlay appeared after navigation. Add a deliberate browser interaction or use a capture workflow that handles supported consent banners and overlays; confirm the resulting image before automating many targets.
- Images or page sections are missing: Lazy-loaded content may not appear until the page is scrolled. Check whether the page fully rendered and whether the chosen capture mode includes the content you need.
- Files overwrite one another: Two URLs can normalize to the same filename. Include a stable unique identifier in filenames, and add a timestamp or capture date if you need to preserve every run rather than overwrite the latest image.
- Images differ even though the page appears unchanged: Dynamic content, browser updates, or a changed host environment can alter pixels. Keep the environment stable and consider excluding genuinely volatile page regions from comparison logic.
- The scheduled job creates no new images: Check the scheduler’s working directory, Node.js path, permissions, logs, and whether the browser is installed in that runtime. A command that works in an interactive shell may fail under cron if it relies on a different PATH or environment variables.
- Captures run at the wrong time: Cron uses the host’s local time zone. Verify the server time zone and cron configuration, or use a hosted scheduler whose time-zone behavior is documented.
Control reliability, storage, and cost
For a self-managed script, plan for browser installation and updates, failed navigation, retries, logs, and storage growth. Full-page images use more storage than viewport captures; set a retention policy or move older files to suitable storage. If an alert matters, make failures visible rather than treating a missing screenshot as evidence that the page did not change.
Rank #4
- Ultra HD: still picture resolution: 3264x2448 Max.
- 64degree no distortion lens, HFOV about 64degree.
- Built in Microphone: Capture video with audio, Super small and mini strip size for your lightburn laser engraver. Compact lightburn laser camera for all kinds of machine vision.
- Mini strip size, light weight, small outline and thin profile for embedded machine vision.
- Embedded with 1/3.2” Imx179 image sensor for better picture performance, mini strip usb camera,with 1meter/3.3ft USB cable for laptop.
For hosted services, check the current plan’s capture quota, retained history, export options, notification channels, and overage behavior before depending on it. A screenshot archive and a change-monitoring service are not interchangeable: the latter needs comparison rules and a way to deliver alerts. Vendor features, limits, and pricing can change, so confirm them with the provider.
Frequently asked questions
Can I monitor a page that requires authentication?
Only if the capture environment can reach the authenticated page using an authorized session or credentials. The example script does not configure login, and credentials should be stored as scheduler secrets rather than committed in the project.
Does taking a scheduled screenshot automatically tell me what changed?
No. Scheduling produces captures. Change detection requires a baseline or previous capture, comparison rules, and a notification mechanism.
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.

