{
  "id": 11674449,
  "title": "Catching visual regressions between deploys with two API calls",
  "url": "https://urgent.news/2026/10/03/catching-visual-regressions-between-deploys-with-two-api-calls",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-03T11:54:14.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/ghezam_capital_0898/catching-visual-regressions-between-deploys-with-two-api-calls-4no5"
  },
  "original_language": "en",
  "account": "Catching visual regressions between deploys can be done with just two API calls, as demonstrated by the Screenshot Happy service. The first option involves taking a screenshot of the page from your CI job using a single request. This can be achieved by making a curl request to the screenshot API endpoint, specifying the URL of the page to capture and setting full_page=true to capture the entire scrollable page. The output can be stored as a PNG, JPEG, or PDF file as a build artifact. The second option is to create a monitor that watches the page for visual changes between deploys. This is accomplished by making a POST request to the monitor API endpoint, providing the URL of the page to monitor, a webhook URL to send notifications to, the frequency in minutes for checks (minimum is 6 hours), and a pixel difference threshold. If the percentage of changed pixels exceeds the threshold, a POST request is sent to the specified webhook with details of the monitor ID, URL, check time, detected change, and percentage difference. The service retries the delivery up to 3 times if the endpoint does not return a 2xx status code. The threshold for detecting visual changes is a flat percentage of changed pixels across the entire page, which may need to be adjusted for noisy pages with frequent updates like rotating ads or live timestamps. The service runs checks on a schedule (every 6 hours on the free plan, hourly on paid plans) rather than in real-time after a deploy. Free tier includes 200 screenshots per month and 3 monitored pages, while paid plans offer additional features at €9 (Starter) and €29 (Growth) per month.",
  "summary": "I build Screenshot Happy, so take this with that in mind. This post is about a problem I kept running into on client sites: something looks fine in code review, ships on Friday, and nobody notices the broken hero section until Monday. The gap between \"tests pass\" and \"it looks right\" Unit and end-to-end tests tell you the logic works. They rarely tell you the page still looks right: a CSS change…",
  "key_points": [
    "Two API calls detect visual regressions between deploys",
    "First call takes screenshot via curl request",
    "Second call creates monitor for visual changes"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}