changedetection.io is a general page differ. Restocks are a different job: they are won in seconds, on shops that block bots, and read from the shop's own stock data. That is the job StockWatch was built for.
If you want a changedetection.io alternative for restock alerts, the number to compare is how often each one looks. changedetection.io's hosted plan re-checks pages "from 5~ minutes (per runner)". StockWatch checks every 5 seconds on Power, every 15 seconds on Standard and every 60 seconds on the free plan, so even our free plan looks more often than their paid one. changedetection.io is a general page differ. StockWatch was built for the moment a product comes back, and it watches ordinary pages as well. Figures here were read from changedetection.io and its source code on GitHub on 11 September 2026.
| Plan | Price | Fastest check |
|---|---|---|
| changedetection.io hosted | $8.99 a month | "from 5~ minutes (per runner)" |
| StockWatch Free | £0 | 60 seconds |
| StockWatch Standard | £4 a month | 15 seconds |
| StockWatch Power | £20 a month | 5 seconds |
The "per runner" part matters. One runner works through every watch in its queue, and the homepage's own answer to wanting it faster is "the ability to easily add more Chrome Browsers". On StockWatch the interval is set per monitor and there is no monthly check allowance to spend, so a monitor on 5-second checks runs at 5 seconds all month.
Time. A restock can land at any moment between two checks, so on average it waits half an interval before anything notices. On a 5-minute check that is 2.5 minutes of a product sitting in stock with nobody told, and up to 5 minutes when the timing is against you. On a 5-second check it is 2.5 seconds. For a Pokemon Center drop or a Games Workshop pre-order, that gap is the part that matters.
The check is only the first delay. Why restock alerts arrive too late goes through the others, from caching to email, including where StockWatch is still slower than it should be. A fast check cannot fix those, and a slow one makes every one of them worse.
On paper, yes. The project's own docker-compose file sets a recheck floor of 3 seconds by default and runs 10 parallel fetchers out of the box. Its comment on the floor reads:
Absolute minimum seconds to recheck, overrides any watch minimum, change to 0 to disable
So a self-hosted instance will let you type a smaller number than ours. Typing a smaller number does not make the shop answer faster, though. Every check from a self-hosted instance leaves from one address, your server's, and a UK retailer behind Cloudflare, DataDome or Akamai counts requests per address. This is what decides whether restock monitoring works on a protected shop at all, and changedetection.io's own tutorial on it says so:
Some websites restrict access based on geographic location or traffic patterns, leading to blocked requests and incomplete monitoring.
Their fix is a proxy scanner that tests proxies you have already bought, and the same tutorial says "I recommend BrightData or Oxylabs here". Bright Data's pricing page listed residential proxies at $4.00 a GB pay as you go on 11 September 2026, marked as half off an $8 list rate, with its cheapest datacenter plan at 10 IPs for $14 a month. Our page on why a website says verify you are human explains what the shop is measuring when it refuses you. On StockWatch's paid plans, keeping a clean route into the shop is our job rather than yours.
changedetection.io reads the page. Its README describes the restock feature as an option that "will extract any meta-data in the HTML page and give you many options to follow the pricing of the product". That means product schema markup and page text, so what it can tell you depends on what each page chooses to publish.
We read the shop. On a Shopify store that is the product feed, on WooCommerce the Store API, on Magento its GraphQL endpoint. Stock arrives as a field per variant rather than as a region of a page that moved, so the alert says which size came back. It shows on the shops that hide it: Patagonia's listing feed only carries in-stock SKUs, so a size returning is a row appearing rather than a word changing, and Seasalt says outright that a sold-out line is unlikely to restock while returns keep reappearing on the page anyway.
| Fastest check | How stock is read | Per-size detection | Bot walls | |
|---|---|---|---|---|
| changedetection.io | From about 5 minutes, hosted | Metadata and text in the page HTML | Depends on what the page publishes | Bring your own proxies |
| StockWatch | 5 seconds on Power | The shop's own product API | Yes, where the shop exposes variants | Handled per site in the plugin |
For the jobs most people use a page differ for, yes. Custom CSS selectors watch one element on any page, the point-and-click picker does the same without writing a selector, and the Universal monitor takes any URL you paste. Alerts go to Discord, Telegram, email and push. What StockWatch adds is the part a general differ was never built for: reading a shop's own stock data per variant, getting past the bot walls UK retailers put up, and checking every 5 seconds without a server of your own.
Anyone chasing something that sells out or drops in price. Pokemon TCG, retiring Lego, Games Workshop pre-orders, or the sofa you have been watching for a month in case it goes into the sale. If a few minutes' delay would cost you the thing, you need a faster check than a hosted page differ gives you.
The free plan is 5 monitors checked every 60 seconds, with 30 emails a month. Standard is £4 a month for 50 monitors at 15 seconds. Power is £20 a month for unlimited monitors at 5 seconds. Compare the five best-known change detection tools side by side, or see how the arithmetic works out against Visualping.
Find out what the shop runs on
Add /products.json to a Shopify domain, or look for wp-json on a WooCommerce one. If it answers, there is a product feed behind the page you were diffing.
Paste the product link
One box takes a product URL and routes it to the plugin that owns that shop. There is no monitor type to pick and no CSS selector to write.
Set the interval your plan allows
60 seconds on free, 15 on Standard, 5 on Power. There is no monthly check budget to ration.
Send it to Discord or Telegram
Both arrive faster than email. The free plan also includes 30 emails a month.
Bring your page watches with you
Documentation, forums, job boards and anything else you were diffing go on a custom CSS selector or the Universal monitor, so every watch lives in one place.
Than its hosted service, yes, by a distance. changedetection.io's hosted plan re-checks "from 5~ minutes (per runner)" and StockWatch Power checks every 5 seconds. A self-hosted changedetection.io instance can be set lower, but it checks from your own IP address, and a protected shop decides how often that address is answered.
5 seconds on Power, at £20 a month. Standard checks every 15 seconds for £4 a month, and the free plan every 60 seconds.
Not on its own. Its answer to a 403 is a proxy scanner that tests proxies you have supplied, and its own tutorial recommends buying them from BrightData or Oxylabs. The real cost of watching a protected shop that way is the proxy bill.
Yes. Its "Re-stock & Price detection for single product pages" option pulls metadata out of the page HTML. It reads the page rather than the shop's stock feed, so what it can tell you depends on what that page publishes.
No. Everything runs on our side, including the browsers, and on paid plans the network route into protected shops too. You paste a link and pick an interval.
Watch a product for free 5 monitors, 60-second checks, no card. Paste a product link and we work out the rest.