How to Compare Hexowatch Page Screenshots Over Time
Set up a Hexowatch visual monitor, review archived screenshots, and compare changes consistently. Learn when to add content or HTML-element monitoring.
To compare Hexowatch page screenshots over time, create a visual monitor for the URL, choose whether to watch the whole page or a selected screen area, set a check frequency and notification channels, and start monitoring. When Hexowatch detects a visual change, review the archived screenshots to see what moved or changed. If you need to verify wording or a specific page field, pair the visual evidence with Hexowatch’s content or HTML-element monitoring.
1. Choose what you need to compare
Start with the question the comparison should answer. A whole-page capture helps when you care about the overall design, a page launch, or broad visual regressions. A selected-region capture is useful when one component matters more than the rest of the page. Keeping the same URL and scope over time makes the snapshots easier to interpret.
Hexowatch describes its visual monitor as a way to watch a whole page or selected screen area and receive alerts when it detects visual changes. Its walkthrough also describes previewing the URL, selecting the scope, choosing a check frequency and notification channels, and starting the monitor. The exact labels in the current account interface may differ from that walkthrough. See Hexowatch’s visual monitoring guide.
2. Set up a visual monitor
- Choose the exact page URL. Prefer a stable canonical URL rather than a temporary redirect or a URL with a session token.
- Preview the page and confirm it loads in the state you intend to monitor. If the page varies by login, region, or user state, make sure the monitoring setup represents the state that matters to you.
- Select whole-page monitoring or the screen area containing the relevant component.
- Choose a check frequency appropriate to how quickly you need to know about changes. More frequent checks can make changes visible sooner, but the right schedule depends on how often the page changes and the monitoring plan available to your account.
- Configure the notification channels you want, then start the monitor.
- When an alert arrives, open the archived snapshots around the detected change and compare the same page scope.
Hexowatch says its visual monitor captures and archives screenshots when it detects visual changes. Its company overview and compliance use case describe archived snapshots as a record that can help compare changes over time.
3. Review screenshots consistently
For each pair of snapshots, compare four things:
- Scope: Are both captures for the whole page, or the same selected region?
- Location: Where does the visible difference begin? Check whether content shifted, appeared, or disappeared.
- Appearance: Look for changes in layout, images, colors, visible controls, and other page elements.
- Purpose: Decide whether you are investigating a visual issue, a wording change, or a data-field change.
These are practical review questions, not a claim that Hexowatch uses a particular pixel-scoring method or that every detected difference is meaningful. A selected region can help keep attention on a component when the rest of the page changes frequently; it does not guarantee fewer alerts.
Keep a short note with the URL, capture scope, approximate time, and the change you are investigating. That makes it easier to distinguish a real page change from a mismatch in what was captured.
4. Add a second monitor when screenshots are not enough
A screenshot answers “what looked different?” It may not establish whether a difference came from changed wording or a particular value. Hexowatch describes distinct monitors for visible content and HTML elements. Use a content monitor when the text itself matters, or an HTML-element monitor when you need to follow a particular page field. Comparing the relevant signal with the screenshot can help explain a visual change. See Hexowatch’s monitoring overview and page-change tracking guide.
5. Retrieve or compare archived evidence
Start with the archived snapshots and change details available in your current Hexowatch account. An official Hexowatch update dated December 2, 2021 said that its API could provide data for monitor changes, including before-and-after screenshots and other change information. That is a dated product announcement, not confirmation of current API behavior or limits. Check current Hexowatch documentation or your account before building an integration around it: the December 2021 API update.
If you already have two image files and need a local visual difference map, this Python example creates a difference image. It does not retrieve screenshots from Hexowatch; save or export images using the options available to your account first.
python -m pip install pillow
from PIL import Image, ImageChops, ImageEnhance
before = Image.open("before.png").convert("RGBA")
after = Image.open("after.png").convert("RGBA")
if before.size != after.size:
raise SystemExit(
f"Images must have the same dimensions: {before.size} vs {after.size}"
)
difference = ImageChops.difference(before, after)
# Increase contrast so subtle changes are easier to inspect.
difference = ImageEnhance.Contrast(difference).enhance(3)
difference.save("difference.png")
print("Saved difference.png")
Install Pillow in an isolated virtual environment if you do not want to add it to a project. Equal dimensions are required by this simple pixel comparison. If dimensions differ, first determine why the captures differ; blindly resizing can conceal a layout or viewport change. Dynamic timestamps, rotating banners, animations, and personalized content can produce differences that are real but irrelevant to your question.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. A single GET request can return a PNG, JPEG, WebP, or PDF. The API parameters used by other screenshot APIs also work, which can make switching straightforward. See the ScreenshotNeo API documentation.
For example, capture a page as WebP with cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
The corresponding Python request is:
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
r.raise_for_status()
with open("shot.webp", "wb") as image_file:
image_file.write(r.content)
And with Node.js:
const q = new URLSearchParams({
access_key: 'YOUR_API_KEY',
url: 'https://stripe.com'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const bytes = new Uint8Array(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot; bot checks, blank pages, and failed loads are never billed; an MCP server lets AI agents take screenshots; and 1,000 screenshots a month are free with no card, with paid plans starting at $5 for 3,000. Only clean shots are billed, and responses include page-verdict and billing headers. The API also supports full-page captures, selected elements, viewport and device settings, waits, custom CSS and JavaScript, caching, and bulk capture. Sign up for 1,000 free screenshots a month with no card.
Troubleshooting
| What you see | Likely cause | What to do |
|---|---|---|
| The two screenshots look different everywhere. | The URL, selected area, viewport, or page state may differ. | Confirm that both snapshots cover the same URL and scope. Check whether the page content depends on login, location, or time. |
| An alert appears for a harmless change. | A rotating image, timestamp, ad, or other dynamic content changed. | Inspect the affected area and consider whether a selected-region monitor better matches the question. The available documentation does not promise that this will suppress every irrelevant alert. |
| The screenshots are blank or incomplete. | The page may not have finished loading, or the relevant content may depend on a page state not represented by the monitor. | Preview the URL and verify the expected content appears. Check current account guidance for page access and loading behavior. |
| You cannot find an old snapshot or export. | Retention and export availability can depend on current product behavior or account settings. | Check the current account documentation or ask Hexowatch support. The sources cited here do not establish retention periods or plan-specific export rights. |
| A local image-diff command fails. | Pillow may be missing, or the input images may have different dimensions or formats. | Install Pillow with pip, use readable image files, and compare matching dimensions. Do not resize until you understand why dimensions differ. |
Performance, reliability, and cost considerations
Choose a monitoring frequency based on the speed at which you need to detect changes and the page’s expected volatility. A smaller selected region can make manual review more focused, while whole-page capture preserves broader context. Neither choice guarantees a particular alert rate. For pages with changing content, use the appropriate content or element monitor alongside the visual record rather than treating every screenshot difference as a meaningful regression.
The sources used for this guide do not establish Hexowatch screenshot retention duration, current API limits, comparison algorithm, current prices, or how dynamic page elements are handled. Confirm those details in current product documentation before making cost, retention, or integration assumptions. For an audit or compliance workflow, confirm that the archived evidence and retention available to your account satisfy your requirements.
FAQ
Can screenshots tell me exactly which text changed?
They show visual evidence, but a content monitor is a better fit when the wording itself is the signal you need to follow.
Should I monitor a whole page or one section?
Use a whole-page capture for broad visual changes and a selected region when a particular area is the focus. Keep the scope consistent when reviewing snapshots.
Can I rely on the Hexowatch API update from 2021?
Use it as historical evidence that an API capability was announced then. Verify current API availability and behavior before depending on it.
Does every visual difference indicate a problem?
No. A difference is evidence to review. It may reflect a meaningful change, expected dynamic content, or a change outside the area you care about.


