Readit News logoReadit News
Posted by u/vkuprin 4 days ago
Show HN: I built a tool that watches webpages and exposes changes as RSSsitespy.app...
I built Site Spy after missing a visa appointment slot because a government page changed and I didn’t notice for two weeks.

It watches webpages for changes and shows the result like a diff. The part I think HN might find interesting is that it can monitor a specific element on a page, not just the whole page, and it can expose changes as RSS feeds.

So instead of tracking an entire noisy page, you can watch just a price, a stock status, a headline, or a specific content block. When it changes, you can inspect the diff, browse the snapshot history, or follow the updates in an RSS reader.

It’s a Chrome/Firefox extension plus a web dashboard.

Main features:

- Element picker for tracking a specific part of a page

- Diff view plus full snapshot timeline

- RSS feeds per watch, per tag, or across all watches

- MCP server for Claude, Cursor, and other AI agents

- Browser push, Email, and Telegram notifications

Chrome: https://chromewebstore.google.com/detail/site-spy/jeapcpanag...

Firefox: https://addons.mozilla.org/en-GB/firefox/addon/site-spy/

Docs: https://docs.sitespy.app

I’d especially love feedback on two things:

- Is RSS actually a useful interface for this, or do most people just want direct alerts?

- Does element-level tracking feel meaningfully better than full-page monitoring?

ahmedfromtunis · 4 days ago
As a (former) reporter, site monitoring is a big part of what I do on a daily basis and I used many, many such services.

I can attest that, at least from the landing page, this seems to be a very good execution of the concept, especially the text-based diffing to easily spot what changed and, most importantly, how.

The biggest hurdle for such apps however are 'js-based browser-rendered sites' or whatever they're called nowadays. How does Site Spy handle such abominations?

vkuprin · 4 days ago
Thanks, that’s a really good question. Site Spy uses a real browser flow, so it generally handles JS-rendered pages much better than simple HTML-only polling tools. In practice, the trickier cases tend to be sites with aggressive anti-bot protection or messy login/session flows rather than JS itself. I’m trying to make those limitations clearer so people don’t just hit a vague failure and feel let down
rozumem · 4 days ago
Curious how you're thinking about getting around anti-bot protection. I scrape a lot and I've noticed many highly trafficked sites investing in anti-bot measures recently, with the rise of AI browsers and such. Still, cool idea, congrats on the launch.
NicuCalcea · 4 days ago
JS-rendered websites are sometimes even better, they usually have some sort of internal API that you can access directly instead of relying on the website styling which may change at any moment.

I'm a fellow reporter who needs to keep tabs on some websites. I used various tools, including running my own Klaxon[1] instance, but these days I find it easier to just quickly vibe-code a crawler and use GitHub Actions to run it periodically. You can make it output an RSS feed, email you, archive it with archive.today, take a screenshot, or trigger whatever action you want.

1: https://github.com/themarshallproject/klaxon

csto12 · 4 days ago
What do you do now if you don’t mind sharing?
xnx · 4 days ago
I like https://github.com/dgtlmoon/changedetection.io for this. Open source and free to run locally or use their Saas service.
raphman · 4 days ago
There's also https://github.com/thp/urlwatch/ - (not aware of any SaaS offer - self-hosted it is).
vkuprin · 4 days ago
Yep, urlwatch is a good one too. This category clearly has a strong self-hosted tradition. With Site Spy, what I’m trying to make much easier is the browser-first flow: pick the exact part of a page visually, then follow changes through diffs, history, RSS, and alerts with very little setup
beepbooptheory · 4 days ago
Sure but this one has a MCP server, costs money, and was presumably made last night!
nicbou · 4 days ago
It's been around for a while and recommended by many. I tried it myself and it's okay.
vkuprin · 4 days ago
Yep, changedetection.io is a good project. With Site Spy, I wanted to make the browser-first workflow much easier: install the extension, connect it to the dashboard, click the exact part of the page you care about, and then follow changes as diffs, history, or RSS with very little setup. I can definitely see why the open-source / self-hosted route is appealing too.
shaunpud · 4 days ago
Does your project use changedetection.io behind the scenes? When I look at the _All Watches Feed_ the contents of the rss file include;

    <?xml version='1.0' encoding='UTF-8'?>
    <rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0"><channel><title></title><link>https://changedetection.io</link><description>Feed description</description><docs>http://www.rssboard.org/rss-specification</docs><generator>python-feedgen</generator><lastBuildDate>Thu, 12 Mar 2026 10:10:10 +0000</lastBuildDate></channel></rss>

xnx · 4 days ago
pelcg · 4 days ago
Looks cool and this can be self hosted and it is for free.

Nice will try this out!

pilina · 4 days ago
Nobody has mentioned, that FreshRSS [0] has built-in web scraper too. It is also easier to use (little bit, imho), than changedetection.io. Works like a charm for me - mostly window shoping thrift shops.

[0](https://freshrss.org/)

bharrison · 4 days ago
Calls to mind a long forgotten, and perhaps one of the most useful bash scripts I've written which addressed this issue in a very rudimentary way; Curl a url, hash the result to file, compare the current hash to the saved hash from the previous run and generate an email on diff.

My goal was to monitor the online release of tickets for the 2009 Scion Rock fest (luckily no js, or even Adobe Flash[!] in use), and it worked brilliantly to that end.

[grammar]

dannyfritz07 · 3 days ago
How do you generate a meaningful diff from a saved hash?
bowmessage · 2 days ago
No need. Just hurry up, sign on, and buy tickets.
tene80i · 4 days ago
RSS is a useful interface, but: "Do most people just want direct alerts?" Yes, of course. RSS is beloved but niche. Depends who your target audience is. I personally would want an email, because that's how I get alerts about other things. RSS to me is for long form reading, not notifications I must notice. The answer to any product question like this totally depends on your audience and their normal routines.
ikari_pl · 4 days ago
It's niche because some companies decided so.

you used to have native RSS support in browsers, and latest articles automatically in your bookmarks bar.

ctxc · 4 days ago
That's good reasoning, but the parent's point still stands?
hrmtst93837 · 4 days ago
If you design for email alerts you invite reply loops, permanent delivery failures, and all the headaches of scaling SMTP. RSS, while nerdy, offloads almost every operational hassle to the client and works fine for polling when instant delivery isn't mandatory.

Some users want to pipe these updates into scriptable things like Slack, bots, or custom dashboards, where RSS is much easier to handle than email. If you offer both, people will use whichever fits their workflow, and that isn't always predictable.

Symbiote · 4 days ago
I added my employer's website RSS feed to the all-staff Slack channel. I find it useful, I don't know about others but no one has grumbled.

https://slack.com/intl/en-gb/help/articles/218688467-Add-RSS...

msp26 · 4 days ago
I got claude to reverse engineer the extension and compare to changedetection and here's what it came up with. Apologies for clanker slop but I think its in poor taste to not attribute the opensource tool that the service is built on (one that's also funded by their SaaS plan)

---

Summary: What Is Objectively Provable

- The extension stores its config under the key changedetection_config

- 16 API endpoints in the extension are 1:1 matches with changedetection.io's documented API

- 16 data model field names are exact matches with changedetection.io's Watch model (including obscure ones like time_between_check_use_default, history_n, notification_muted, fetch_backend)

- The authentication mechanism (x-api-key header) is identical

- The default port (5000) matches changedetection.io's default

- Custom endpoints (/auth/, /feature-flags, /email/, /generate_key, /pregate) do NOT exist in changedetection.io — these are proprietary additions

- The watch limit error format is completely different from changedetection.io's, adding billing-specific fields (current_plan, upgrade_required)

- The extension ships with error tracking that sends telemetry (including user emails on login) to the developer's GlitchTip server at 100% sample rate

The extension is provably a client for a modified/extended changedetection.io backend. The open question is only the degree of modification - whether it's a fork, a proxy wrapper, or a plugin system. But the underlying engine is unambiguously changedetection.io.

vkuprin · 4 days ago
Fair point, and I should have been upfront about this earlier. The backend is a fork of changedetection.io. I've built on top of it — added the browser extension workflow, element picker, billing, auth, notifications, and other things — but the core detection engine comes from their project. That should have been clearly attributed from the start, and I'll add it to the docs and about page.

changedetection.io is a genuinely great project. What I'm trying to build on top of it is the browser-first UX layer and hosted product that makes it easier for non-technical users to get value from it without self-hosting and AI focus approach

P.S -> I've also added an acknowledgements page to the docs: https://docs.sitespy.app/docs/acknowledgements

briaoeuidhtns · 4 days ago
have you adhered to the license? https://github.com/dgtlmoon/changedetection.io/blob/master/C... . if so, where can I get a copy of the source?
Kotlopou · 4 days ago
I use RSS to get updates from a ll the stuff I read online at once, and thought this would be nice for those websites that don't already have an RSS feed, but... Perhaps I'm stupid, but I can't actually find the RSS output? And searching for RSS on https://docs.sitespy.app/docs returns no hits.
vkuprin · 4 days ago
Not stupid at all — the docs were missing an RSS page, which is on me. I've just added one: https://docs.sitespy.app/docs/dashboard/rss. RSS feeds are available per watch, per tag, or across all watches from the dashboard. Thanks for flagging it, this is exactly the kind of feedback that helps
dannyfritz07 · 3 days ago
What does an RSS URL look like from a chrome extension?
enoint · 4 days ago
Quick feedback:

1. RSS is just fine for updates. Given the importance of your visa use-case, were you thinking of push notifications?

2. Your competition does element-level tracking. Maybe they choose XPath?

vkuprin · 4 days ago
Yep, Site Spy already has push notifications, plus email and Telegram alerts. I see RSS as the open interface for people who want to plug updates into their own reader or workflow. For urgent things like visa slots or stock availability, direct alerts are definitely the main path.

And yeah, element-level tracking isn't a brand new idea by itself. The thing I wanted to improve was making it easy to pick the exact part of a page you care about and then inspect the change via diffs, history, or RSS instead of just getting a generic "page changed" notification