Get Started

Get an alert the moment a price drops or a web page changes

Pick the price you'd pay and your phone buzzes the moment the shop hits it, or the moment a sold-out item is back. changedetection.io runs on your own computer: free, open source, no account.

36 minBeginnerTools: FreeStep 1 free
Tested 9 Oct 2026 · changedetection.io 0.60.8 (installed with uv, Python 3.12), ntfy, Windows 11
A phone alert when a price drops below the number you pick
A loud back-in-stock alert for the thing that keeps selling out
Alerts that ignore the noisejust the price, not the adverts and "12 people are viewing this" counters
  • Your own page watcher running on your computer, with no account and no monthly fee
Before you start
  • A Windows 11, Mac or Linux computer
  • About 400MB of free disk space
  • Optional: the free ntfy app on your phone for push alerts. No account needed.
01/07Install changedetection.io0 done
STEP 01 of 07~5 min

Install changedetection.io

One command installs the whole thing as an app you start from the terminal. No Docker, no admin rights.

  1. changedetection.io is free and open source (Apache-2.0), with about 34,800 stars on GitHub. It visits the pages you give it on a schedule, compares each visit with the last one, and tells you what changed.

  2. We install it with uv, a small tool that sets up Python apps in their own tidy folder. On Windows open PowerShell (search for it in the Start menu); on a Mac or Linux open Terminal. Paste these:

    Windows (only if you don't have uv)
    winget install --id astral-sh.uv -e
    Mac with Homebrew (only if you don't have uv)
    brew install uv
    Mac / Linux without Homebrew (only if you don't have uv)
    curl -LsSf https://astral.sh/uv/install.sh | sh
    Terminal
    uv tool install changedetection.io --python 3.12 --prerelease=allow
  3. If you just installed uv, close the terminal and open a new window before the second line. It pulls in about 170 packages and takes a minute or so. The last line should be:

    Output
    Installed 2 executables: changedetection.io, changedetection.py
    CarefulDon't leave out --prerelease=allow. The current version needs one test-release package, and without that flag uv quietly installs an old version (0.45.14) that crashes on Python 3.12 with No module named 'distutils'.
✓
CheckpointThe install ends with Installed 2 executables: changedetection.io, changedetection.py.
If it breaksIt crashes with 'No module named distutils' + 1 more
It crashes with 'No module named distutils'
You got the old version. Run uv tool uninstall changedetection.io, then the install command above with --prerelease=allow.
'changedetection.io' is not recognised
uv puts its apps in a folder your terminal doesn't know about yet. Run uv tool update-shell, close the terminal, open a new one and try again.
Still stuck? Ask the community
Next mission · Automate the boring stuffBuild a robot that does your boring web admin while you make a tea
→