October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

How to Set Up a Monthly Website Screenshot Archive with Playwright

Capture a website monthly with Playwright, schedule it in GitHub Actions, and choose storage that keeps your screenshot history for as long as you need.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a Playwright script to capture each configured URL, save each image under a date-based path, and run the script on a monthly schedule. For a GitHub Actions setup, a cron workflow is straightforward; choose permanent storage separately, because GitHub Actions artifacts expire and default to 90-day retention.

What the archive captures—and what it does not

A monthly screenshot is a record of one page rendering at one point in time. It is useful for reviewing visual changes, but it does not establish that a site was available or behaved consistently throughout the month. Save the capture timestamp and rendering environment alongside each image, especially if you plan to compare screenshots.

As an Amazon Associate I earn from qualifying purchases.

Decide whether you need the visible viewport or the whole scrollable page. Playwright’s screenshot guide shows the screenshot methods, and its Page API documents the available options.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • For a viewport capture, omit fullPage.
  • For a full-page capture, set fullPage: true. This expands the screenshot to the full scrollable page.

Build a dated Playwright capture script

The example below is an illustrative Node.js implementation. It uses UTC dates in filenames, creates a year/month directory, and captures every URL in the configured list. Install Playwright and its Chromium browser using the current official setup instructions before running it.

#1 Best Overall
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400) | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
  • Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

1. Configure the URLs and capture code

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

const urls = ['https://example.com'];
const now = new Date();
const year = String(now.getUTCFullYear());
const month = String(now.getUTCMonth() + 1).padStart(2, '0');
const day = String(now.getUTCDate()).padStart(2, '0');

const browser = await chromium.launch();
try {
  const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });
  for (const url of urls) {
    const safeName = new URL(url).hostname.replaceAll('.', '-');
    const dir = `archive/${year}/${month}`;
    await mkdir(dir, { recursive: true });
    await page.goto(url, { waitUntil: 'networkidle', timeout: 60_000 });
    await page.screenshot({
      path: `${dir}/${safeName}-${year}-${month}-${day}.png`,
      fullPage: true,
      animations: 'disabled'
    });
  }
} finally {
  await browser.close();
}

The resulting path is such as archive/2026/10/example-com-2026-10-03.png. The year/month/day pattern is a practical organization choice, not a Playwright requirement. If you may run more than once per URL per day, include a time or unique run identifier too; otherwise a later capture on the same date will overwrite the earlier file.

2. Choose a readiness condition suited to the site

The sample waits for networkidle, but that is not a universal signal that a page is ready to capture. Some sites keep connections open or continue background requests, so navigation may wait too long. For those pages, use a less restrictive navigation condition and wait for a meaningful page-specific selector with page.waitForSelector(). If the page loads images lazily as content enters view, add a site-specific scrolling or readiness step before taking a full-page screenshot; full-page mode alone does not guarantee that every lazy image has loaded.

Schedule the capture once a month with GitHub Actions

GitHub Actions scheduled workflows use cron. Schedules are interpreted in UTC, run against the latest commit on the default branch, and can be delayed or dropped during periods of high Actions load. GitHub recommends avoiding the top of the hour when delays matter. See the schedule event documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
  • Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

This example schedules a run at 04:17 UTC on the first day of each month, and also supports manual runs through workflow_dispatch:

name: Monthly website archive
on:
  schedule:
    - cron: '17 4 1 * *'
  workflow_dispatch:
jobs:
  capture:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v6
        with:
          node-version: lts/*
      - run: npm ci
      - run: npx playwright install --with-deps chromium
      - run: node capture.mjs
      - uses: actions/upload-artifact@v5
        with:
          name: website-screenshots-${{ github.run_id }}
          path: archive/
          retention-days: 30

Action version tags can change; check them against current releases and your repository’s policy before using the workflow. The 30-day artifact retention shown here is an explicit example setting, not a recommendation for a lasting archive.

Choose storage based on how long you need the screenshots

Workflow artifacts are convenient for retrieving output from a run, but are not permanent storage. GitHub documents a default retention period of 90 days for workflow artifacts; that period can be configured subject to repository and account policy. See GitHub’s artifact documentation.

Rank #3
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
  • Easily store and access 1TB to content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop. Reformatting may be required for Mac
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.
  • Short-lived review or downloads: use workflow artifacts and check the effective retention settings for your repository.
  • Longer-term history: commit images to a repository only if the growing image volume and access pattern suit it, or store them in a durable object-storage service with a lifecycle policy. Choose a provider based on your retention, privacy, access-control, portability, and cost requirements.
  • Easy browsing: maintain an index or manifest that maps each URL to its capture timestamp, viewport, browser environment, and file path. Filenames help with chronology; a manifest makes comparisons and retrieval easier.

Playwright’s CI guidance demonstrates artifact upload and cautions that reports and traces should go only to trusted artifact stores or be encrypted before upload. Apply the same care to screenshots if they contain private or sensitive page content.

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

Keep visual comparisons interpretable

Rendered screenshots can change when the environment changes, even if the page itself has not. Playwright’s visual comparisons guide identifies operating system, browser version, settings, hardware, power source, and headless mode as factors that can affect output.

  • Keep the runner, browser installation, viewport, and screenshot settings consistent across runs when the goal is visual diffing.
  • Record the capture time and environment in a manifest or report so a changed image can be interpreted.
  • Use the same wait condition and any page-specific preparation each month; otherwise a difference may reflect capture timing or unloaded content rather than a site change.

Troubleshoot common archive failures

The workflow runs, but no image appears

Check the workflow logs for navigation or script errors, confirm the configured URL list, and verify the script writes under the same archive/ path that the artifact step uploads. Also confirm that the job runs on the default branch, since scheduled workflows use that branch’s latest commit.

Rank #4
Seagate Portable 4TB External Hard Drive HDD – USB 3.0, 1-Year Rescue | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
  • Easily store and access 4TB of content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

Navigation times out on a page that looks usable

A persistent network connection or recurring request can prevent networkidle from completing. Replace that wait condition with a less restrictive navigation state, then wait for a page-specific selector that indicates the content you need is ready.

Some images or lower-page content are missing

Lazy-loaded elements may not load until they are approached by scrolling. Add site-specific scrolling or readiness logic before the screenshot and check that the page has reached the content you intend to archive.

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.

Scheduled captures arrive late or do not run at the exact minute

GitHub warns that scheduled events may be delayed or dropped when Actions is under high load. Avoid scheduling at minute zero and treat cron as a recurring trigger, not a guarantee of an exact capture time.

Best Value
Sale
UnionSine 500GB Ultra Slim Portable External Hard Drive HDD-USB 3.0 | for PC, Mac, Laptop, PS4, Xbox one, Xbox 360-(Black)
  • [Upgraded Version] - This external hard drive features a mirrored logo stripe combined with a striped anti-slip design, and the rounded corners of the casing make it easier to grip. The stripes also have a heat dissipation function, ensuring stable and fast data transfer.
  • 【Ultra-thin and quiet】 - The motherboard adopts JMicron 578 noise-free solution, giving you a quiet working environment. Lightweight and portable size designed to fit in your pocket for easy portability.
  • 【Ultra-Fast Data Transfers】 - Pairing this external hard drive with JMicron 578 solution USB 3.0 and USB 2.0 interfaces enables blazing-fast data transfer. It boasts theoretical read speeds of up to 125MB/s and write speeds of up to 103MB/s.
  • 【Plug and Play】 - With no software to install, just plug it in and the drive is ready to use.The hard disk chip is wrapped with an aluminum anti-interference layer to increase heat dissipation and protect data.
  • 【What You Get】 - 1 x Portable Hard Drive, 1 x USB 3.0 Cable, 1 x User Manual, Gift-type shell packaging ,Three-year manufacturer's warranty and free technical support services.

Old screenshots have disappeared

Check the artifact retention configuration and repository/account policy. Artifacts expire; for history that must outlast the configured window, copy or write images to a separate durable archive.

Images differ even though the page appears unchanged

Compare runner and browser versions, viewport and settings, and headless mode. Changes in those rendering conditions can alter pixels independently of page content.

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 is a website screenshot API and MCP server for developers. One GET request can return an image or PDF, and its documented options include full-page capture and viewport control. Cookie banners, newsletter popups, and chat widgets are removed before the shot; bot checks, blank pages, failed loads, timeouts, and cache hits are not billed. AI agents can use its MCP server, and the free plan includes 1,000 shots a month with no card; paid plans start at $5 for 3,000 shots. See ScreenshotNeo and its API documentation.

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://example.com -o shot.webp

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

Quick Recap

Bestseller No. 1
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400) | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400) | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$129.99
Bestseller No. 2
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$208.99
Bestseller No. 3
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$119.80
Bestseller No. 4
Seagate Portable 4TB External Hard Drive HDD – USB 3.0, 1-Year Rescue | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
Seagate Portable 4TB External Hard Drive HDD – USB 3.0, 1-Year Rescue | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$208.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.

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
PC Slower Than It Used to Be?Free scan - under a minute

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.