Features Visual Diff Change Detection Scheduled Screenshots Watermark & Timestamp PDF Export API Pricing Blog How It Works About Contact
Back to Blog

We were monitoring Amazon prices and kept finding error pages instead

We were monitoring Amazon prices and kept finding error pages instead

A few weeks ago, we added about a dozen Amazon pages to Snapshot Archive. The goal was straightforward — collect pricing data on headphones and a few other product categories to see how often prices change. But something unexpected happened: we started getting alerts about major changes on those pages, and the changes had nothing to do with prices.

Snapshot Archive notification panel showing multiple change alerts for www.amazon.com pages

At first we assumed prices had changed, but the sheer scale of the differences told a different story. Several times a day, Amazon was serving an error page instead of the product catalog. Visual diff flagged those snapshots as Major (26% change) because the entire page content was replaced — product cards disappeared, and an error message took their place. Alerts hit our inbox within minutes, so we could see exactly when a page went down and when it came back.

Visual diff showing normal Amazon product page on the left and error maintenance page on the right

That observation led us to realize something we hadn't planned for: scheduled screenshots are, in effect, availability monitoring. Not the kind that tells you "site is down" based on a status code, but the kind that shows you what the user actually sees — which, in this case, was a maintenance error page that returned HTTP 200 OK.

Why traditional uptime monitors miss content-level outages

A typical uptime monitor is simple. It sends an HTTP request, gets a response, and checks the status code. If it's 200, the site is up. If it's 500 or a timeout, the site is down. The problem is that not every error returns an honest status code.

Amazon's error page came back with a 200 OK. The server responded, HTML was delivered, the page loaded. Any uptime monitor — Pingdom, UptimeRobot, Better Stack — sees a green checkmark and moves on. But the user sees something entirely different: an empty catalog, an error message, broken layout. These tools can't tell you about content-level failures because they don't render the page — they check the connection, not what's on the other end of it.

This isn't an edge case. Soft 404s (error pages that return 200 OK) are common across e-commerce platforms, CDN-served sites, and single-page applications where the server always returns a shell page regardless of whether the content inside it loaded correctly. Your monitoring dashboard says green, your customers see broken.

What a screenshot catches that a ping never will

When Snapshot Archive takes a scheduled snapshot, it opens the page in a real browser — the same way any regular visitor would. A maintenance page replacing the catalog shows up in the screenshot. Broken layout with overlapping elements shows up too. An unexpected redirect to a different page, a CDN error message with a generic "sorry" banner, a page that loaded structurally but with all images missing — all of this is visible in the screenshot because the capture reflects what the browser actually rendered.

Then visual diff takes over. The system compares each new snapshot with the previous one, pixel by pixel, and sends an alert if the difference exceeds the configured threshold. In our Amazon case, the differences ranged from 4% (minor content shuffles, which we covered in our article on layout shifts in price monitoring) to 26% (full page replaced by the error screen). The 26% alert came in as "Major change," and one look at the diff was enough to understand what happened — no log diving, no status code analysis, just a visual comparison showing products on the left and an error message on the right.

We didn't set up a separate availability check for this. The scheduled screenshots were already configured for price tracking, and availability monitoring came as a side effect — a useful one that we now consider a standard part of the monitoring setup.

Where screenshot-based availability monitoring is useful in practice

Checking your own site after a deploy is the most immediate use case. Technical monitoring might report everything as normal — HTTP 200, response time within bounds, no errors in the log — while the screenshot shows your homepage rendering a blank block instead of the product grid, or your pricing page displaying a cached version from two releases ago. We covered visual regression monitoring in our post about monitoring after deployment, but that focused on CSS and layout changes. Here the issue is different: the content is completely unavailable, even though the server says everything is fine.

Holding your hosting provider accountable is another scenario where timestamps matter. If you're paying for hosting and want to know how reliably your site actually runs — not according to their status page, but from the visitor's perspective — scheduled screenshots give you a visual availability history. Every snapshot carries a timestamp: at 09:28 the page looked normal, at 21:29 it showed an error. That's more concrete than a "99.9% uptime" figure in your host's monthly report, because you're looking at the real page state, not a status code aggregation. If you need those screenshots to hold up as documentation, our guide to screenshots as legal evidence covers what makes them credible in a dispute.

Watching third-party services your business depends on rounds out the picture. A payment processor, an API partner, a marketplace where you sell — when Amazon shows an error on your product page, buyers leave, and you lose money every minute the error persists. Getting a notification about that within minutes is valuable information, even if you can't fix Amazon yourself. At minimum, you can pause ad spend pointing to that page, redirect traffic, or contact the platform's support with a timestamped screenshot showing exactly what happened.

This isn't a Pingdom replacement — it's what Pingdom can't do

Screenshot-based monitoring doesn't replace traditional uptime monitoring, and we want to be clear about that. Pingdom checks a page every 30 seconds and reacts almost instantly — for mission-critical services where every second of downtime costs money, that response time matters. A scheduled screenshot runs once an hour or once every 30 minutes, which means there's a window where an outage could start and resolve before the next capture.

But if you're already tracking a page in Snapshot Archive for another reason — competitor monitoring, pricing page tracking, ToS monitoring — you get availability monitoring as a free side effect. Visual diff and alerts are already doing the work. There's nothing extra to configure.

The two approaches answer different questions. Uptime monitors answer "is the server responding?" — screenshots answer "what does the user see right now?" And sometimes that second question matters a lot more, because a server that responds with HTTP 200 and an error message is technically "up" but practically broken.

What we saw over two weeks of Amazon monitoring

Recent Changes list with detected incidents ranging from Minor 1.37% to Major 26.08%

Over two weeks of monitoring, we caught several cases where Amazon pages served an error instead of the catalog. Some incidents lasted a single cycle — the page went down and recovered before the next snapshot. Others persisted for two or three cycles in a row, which at hourly captures means the error page was visible to users for 2-3 hours.

Alerts fired correctly: every transition from a normal state to an error (and back) generated a notification. No need to check manually — just look at your inbox and see the timestamp, the diff percentage, and a link to the visual comparison.

Even Amazon — one of the most reliable websites in the world — periodically serves errors on specific pages. Smaller sites have these problems more often, and catching them through a standard uptime monitor doesn't work when the error returns a 200 status code. We set up monitoring to track prices, and we ended up with a complete availability picture as a bonus: timestamps, visual evidence, and a history of every incident. If you're already using Snapshot Archive for any other purpose, you already have this — just make sure your alert threshold is set to catch the large diffs (10%+) that indicate a full page replacement rather than a minor content shuffle.

Start archiving websites today

Free plan includes 3 websites with daily captures. No credit card required.

Create free account

More from the blog

View all posts
How to find a stable CSS selector when the page only has utility classes
· 13 min read

How to find a stable CSS selector when the page only has utility classes

The video element highlighted in DevTools on cohere.com/careers. The class attribute h-full w-full object-cover looks like a valid selector at first glance, but the values come from Tailwind utilities and will change at the next redesign. The <video> tag itself stays stable.

What the change percentage actually means in screenshot monitoring
· 7 min read

What the change percentage actually means in screenshot monitoring

Visual diff shows 22% changed, but the page looks the same. The percentage is always mathematically correct — but it only tells the truth when the page template stays stable between captures. Here's how to tell the difference and what to do about it.