October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk7 min

How to Schedule Website Screenshots for a Client Approval Archive

A practical guide to capturing client website pages on a schedule, preserving the images beyond workflow retention, and making approval a clear step.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a browser script to capture agreed client pages, a scheduler to start it on a recurring cadence, and a separate storage and review destination to preserve the evidence. A practical DIY setup is Playwright plus GitHub Actions: it can save timestamped screenshots, but scheduled runs may be delayed and workflow artifacts expire. Treat the schedule as a target interval—not an exact-time guarantee—and choose archive storage and client access deliberately.

Plan what the archive needs to prove

Before automating captures, agree with the client on the evidence each image should show. A screenshot archive is only useful for approval when the pages, framing, timing, and review process are clear.

As an Amazon Associate I earn from qualifying purchases.

  • Pages: list exact URLs, including relevant variants such as campaign or checkout pages.
  • Framing: choose a viewport screenshot, a full-page capture, or a specific page element. Record viewport width and height.
  • Cadence: decide how often captures should run and what events warrant an extra capture, such as a deployment or requested recapture.
  • Review: specify who can view the images, how the client approves, and where comments or change requests belong.
  • Context: associate each capture with its page, timestamp and timezone, browser environment, and deployment or build identifier when available.

These details are practical archive conventions rather than requirements imposed by Playwright or GitHub. Keep client-sensitive images in a destination with appropriate access controls.

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

Build the capture script with Playwright

Playwright can open pages and save screenshots. The example below captures a list of URLs in a consistent Chromium viewport and writes timestamped PNGs to a run-specific folder. Install Playwright and its Chromium browser in the project before running it:

#1 Best Overall
Sale
Epson Workforce ES-50 Compact & Lightweight Mobile Document Scanner
  • 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
npm install --save-dev playwright
npx playwright install chromium

Save this as capture.mjs. Set CAPTURE_URLS to a comma-separated list of the pages you have agreed to archive.

import { chromium } from 'playwright';
import { mkdir } from 'node:fs/promises';

const urls = (process.env.CAPTURE_URLS ?? '')
  .split(',')
  .map((url) => url.trim())
  .filter(Boolean);

if (urls.length === 0) {
  throw new Error('Set CAPTURE_URLS to one or more comma-separated URLs.');
}

const width = Number(process.env.VIEWPORT_WIDTH ?? 1440);
const height = Number(process.env.VIEWPORT_HEIGHT ?? 1000);
const runId = new Date().toISOString().replaceAll(':', '-');
const outputDir = `screenshots/${runId}`;
await mkdir(outputDir, { recursive: true });

const browser = await chromium.launch({ headless: true });
const page = await browser.newPage({ viewport: { width, height } });

try {
  for (const [index, url] of urls.entries()) {
    const response = await page.goto(url, {
      waitUntil: 'domcontentloaded',
      timeout: 60000,
    });
    if (!response || !response.ok()) {
      throw new Error(`Page load failed for ${url}: HTTP ${response?.status() ?? 'no response'}`);
    }

    // Replace this with a page-specific readiness condition when needed.
    await page.waitForTimeout(1000);
    const host = new URL(url).hostname.replace(/[^a-zA-Z0-9.-]/g, '_');
    const filename = `${String(index + 1).padStart(2, '0')}-${host}-${runId}.png`;
    await page.screenshot({ path: `${outputDir}/${filename}`, fullPage: true });
    console.log(`Saved ${url} to ${outputDir}/${filename}`);
  }
} finally {
  await browser.close();
}

Run it locally to verify the URLs, viewport, and framing before adding a schedule:

Rank #2
Sale
Brother DS-640 Compact Mobile Document Scanner, (Model: DS640)
  • 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)
CAPTURE_URLS="https://example.com,https://example.com/pricing" node capture.mjs

The sample uses a short delay only as a basic example; it is not a universal page-readiness rule. Replace it with a page-specific condition, such as waiting for a known selector, when content loads asynchronously. Cookie overlays, animations, changing ad slots, fonts, and personalized content can all affect what appears in a capture. Use fullPage: false for only the viewport, or target a specific locator and capture that element when the approval concerns one component.

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

Playwright notes that screenshot output can vary with the host operating system, browser version, settings, hardware, power source, and headless mode. For more repeatable records, keep the browser and runner environment consistent; avoid comparing images captured across different environments as if they were guaranteed pixel-identical. See Playwright’s screenshot comparison documentation.

Rank #3
Sale
Epson Workforce ES-400 II High-Speed Color Duplex Desktop Document Scanner
  • FAST DOCUMENT SCANNING — Document scanner with feeder allows you to speed through stacks with a 50-sheet Auto Document Feeder (ADF); Efficient office scanner to help you scan more productively
  • INTUITIVE, HIGH-SPEED SOFTWARE — Quickly scan with this desktop document scanner; Epson ScanSmart Software lets you easily preview scans, email files, upload to the cloud, and more; Plus, automatic file naming saves even more time
  • SEAMLESS INTEGRATION — Easily incorporate your data into most document management software with the included TWAIN driver; Office document scanner integrates seamlessly with business workflows
  • EASY SHARING — Duplex scanner allows you to scan straight to email or popular cloud storage2 services like Dropbox, Evernote, Google Drive, and OneDrive for simple storage and sharing
  • SIMPLE FILE MANAGEMENT — Scanner allows the creation of searchable PDFs with Optical Character Recognition (OCR) and convert scans to editable Word or Excel files effortlessly; Designed for home and office document scanning

Schedule recurring captures with GitHub Actions

A scheduled GitHub Actions workflow can run the script on a cron cadence. Add a workflow file such as .github/workflows/client-screenshots.yml to the repository’s default branch:

name: Client website screenshots

on:
  schedule:
    - cron: '17 9 * * 1-5'
  workflow_dispatch:

jobs:
  capture:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npx playwright install --with-deps chromium
      - name: Capture approved pages
        run: node capture.mjs
        env:
          CAPTURE_URLS: ${{ secrets.CAPTURE_URLS }}
          VIEWPORT_WIDTH: '1440'
          VIEWPORT_HEIGHT: '1000'
      - name: Upload screenshot archive for this run
        uses: actions/upload-artifact@v4
        with:
          name: client-screenshots-${{ github.run_id }}
          path: screenshots/
          retention-days: 30

The example runs at 09:17 UTC on weekdays, avoiding the top of the hour. Change the cron expression to suit the agreed cadence; GitHub Actions cron schedules use UTC. The workflow also supports a manual run through the Actions interface because it includes workflow_dispatch. Store URLs that should not be exposed in repository history as an Actions secret; for public pages, a committed configuration file may be simpler.

Rank #4
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
  • Scanner type: Document
  • Connectivity technology: USB
  • With Auto Scan Mode, the scanner automatically detects what you're scanning
  • Digitize documents and images

GitHub says scheduled workflows run against the latest commit on the default branch. The schedule event can be delayed during periods of high Actions load, especially around the start of an hour, so it should not be treated as a precise-time clock. The minimum permitted schedule interval is five minutes. Scheduled workflows in public repositories are automatically disabled after 60 days of repository inactivity. See GitHub’s schedule event documentation.

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

Preserve files beyond a workflow run

GitHub Actions artifacts are useful for collecting files from a run, but retention is limited and configurable. GitHub documents a 90-day default for build logs and artifacts, subject to repository, organization, or enterprise settings. The workflow above explicitly sets a 30-day retention period; it is an example choice, not GitHub’s default. Playwright’s CI example also configures 30 days. See GitHub’s artifact retention documentation and Playwright’s CI example.

Best Value
Sale
ScanSnap iX2500 Wireless or USB High-Speed Document Scanner, Black
  • OUR MOST ADVANCED SCANSNAP. Large touchscreen, fast 45ppm double-sided scanning, 100-sheet document feeder, Wi-Fi and USB connectivity, automatic optimizations, and support for cloud services. Upgraded replacement for the discontinued iX1600
  • CUSTOMIZABLE. SHARABLE. Select personalized profiles from the touchscreen. Send to PC, Mac, mobile devices, and clouds. QUICK MENU lets you quickly scan-drag-drop to your favorite computer apps
  • STABLE WIRELESS OR USB CONNECTION. Built-in Wi-Fi 6 for the fastest and most secure scanning. Connect to smart devices or cloud services without a computer. USB-C connection also available
  • PHOTO AND DOCUMENT ORGANIZATION MADE EFFORTLESS. Easily manage, edit, and use scanned data from documents, receipts, photos, and business cards. Automatically optimize, name, and sort files
  • AVOIDS PAPER JAMS AND DAMAGE. Features a brake roller system to feed paper smoothly, a multi-feed sensor that detects pages stuck together, and skew detection to prevent paper damage and data loss

If the client needs a long-lived or permanent archive, do not rely on Actions artifacts alone. Copy approved outputs to a storage location with a retention policy and access controls that match the engagement. Keep a small manifest alongside each run, for example a CSV or JSON file containing the URL, capture time and timezone, viewport, browser/version, and deployment identifier. These fields help explain differences between images; they do not make the rendering identical.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Make client approval a separate, explicit step

A capture workflow creates evidence; it does not itself establish that the client has approved the work. Provide a stable location the client can access and define how review is recorded. For a simple archive, that might mean a dated folder and a written approval in the project tracker. For teams that need automated change review, Playwright supports screenshot assertions, and Percy documents a Playwright integration. Those comparison tools address visual changes, which is related to—but distinct from—preserving a dated screenshot record. See Playwright’s screenshot assertions and Percy’s Playwright integration.

Use access-controlled storage for client-sensitive screenshots. Playwright’s CI guidance advises using trusted artifact stores or encrypting uploaded reports and traces; apply the same care to screenshot archives.

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.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request can return an image or PDF; its clean-shot flow accepts consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture. Each of those cleanup steps can be turned off. The API identifies page outcomes and billing in response headers: bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. For a scheduled archive, you still need a scheduler and a place to store and share the returned files.

Example cURL request, saving a WebP screenshot of a page (replace the URL and use your API key):

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

See the ScreenshotNeo API documentation for the request options, including full-page capture, viewport and device settings, PDF output, caching, and async jobs. It also has an MCP server with take_screenshot, get_page_info, and capture_pdf tools for AI agents using Claude, Cursor, or another MCP client. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. See ScreenshotNeo for plan details. Sign up free for 1,000 screenshots a month with no card.

Quick Recap

Bestseller No. 4
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Scanner type: Document; Connectivity technology: USB; With Auto Scan Mode, the scanner automatically detects what you're scanning
$75.00

Troubleshoot inconsistent or missing captures

  • The page is blank or incomplete: a navigation event may finish before client-side content is ready. Wait for a page-specific selector or known state instead of increasing a generic delay indefinitely.
  • A cookie notice or popup obscures the page: decide whether approval should record the visitor-facing state or the unobstructed page. If using a browser script, handle the site’s consent state intentionally and lawfully; do not silently dismiss a state the client needs to review.
  • Images or fonts differ across runs: keep the runner OS and browser version consistent and avoid comparing captures made under different rendering conditions as exact matches.
  • A workflow did not run at the expected minute: scheduled Actions may be delayed during high load. Check the Actions run history, confirm the workflow is on the default branch, and avoid relying on top-of-hour timing.
  • Artifacts are gone: check the configured retention and repository or organization policy. Export files to longer-term storage before expiration if they are part of the client record.
  • Only some URLs were captured: inspect the failed URL and HTTP status in the workflow log. A failing page currently aborts the sample script; for larger batches, modify the loop to log per-page errors and continue, then fail the job at the end if any pages failed.
  • Client cannot open the archive: verify the storage permissions and link access with a reviewer account, not only the workflow owner’s account.

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.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.