I Stopped Running Playwright in Cron and Built a Screenshot Archive Instead

Taking one website screenshot with Playwright is easy. Keeping a scheduled screenshot job healthy for months is where the work starts: browser updates, missing system libraries, hanging pages, and a growing pile of images with names nobody can search.

I moved the browser part to the Website Screenshot API and kept the useful part locally: scheduling, file naming, manifests, retention, and failure reporting. The result is a small Python archive that captures the same pages in desktop, mobile, and dark mode without running Chromium on the cron host.

The archive, not the screenshot, is the feature

My first version saved files like screenshot.png, screenshot-1.png, and final-new.png. That was fine until I needed to answer a basic question: what did the pricing page look like on mobile last Tuesday?