Website Change Monitor | Page Diff Alerts
Pricing
from $80.00 / 1,000 url change detecteds
Website Change Monitor | Page Diff Alerts
Monitor public web pages and receive source-linked added/removed text, change alerts, and portfolio diff reports. Unchanged checks emit no rows and no event charge.
Pricing
from $80.00 / 1,000 url change detecteds
Rating
0.0
(0)
Developer
naoki anzai
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Competitive intelligence, product operations, and web teams use this Actor to track approved public pages. Input public URLs with optional CSS focus and noise filters. Get source-linked added/removed text, change alerts, snapshots, and portfolio digest reports.
Store Quickstart
The first run stores a free baseline. Schedule the same input to receive rows only when the watched content changes.
{"targets": [{"name": "Competitor pricing","url": "https://example.com/pricing","cssSelector": "main","ignoreSelectors": [".cookie-banner"]}],"initialRunMode": "baseline_only","generateDigest": true,"emitSnapshots": false,"emitUnchanged": false,"maxDiffSegments": 20,"maxChargeUsd": 10,"snapshotKey": "competitor-pricing","dryRun": false}
An unchanged run writes zero dataset rows and creates zero event charges.
Run the next report
- Audit content, headings, metadata, and crawlability with Site QA Content Report.
- Compare pricing, changelogs, release notes, and status pages with SaaS Pricing & Changelog Battlecard.
- Run a multi-site technical regression audit with Technical SEO & AI Crawler Audit.
Input examples
Pricing-page watch
{"targets": [{"name": "Pricing","url": "https://example.com/pricing","cssSelector": "main","ignoreSelectors": [".last-updated"]}],"initialRunMode": "baseline_only","stripDates": true,"generateDigest": true,"maxChargeUsd": 10,"snapshotKey": "pricing-watch","dryRun": false}
Product documentation watch
{"targets": [{"name": "API changelog","url": "https://example.com/changelog","cssSelector": "article","ignoreSelectors": []},{"name": "API limits","url": "https://example.com/docs/limits","cssSelector": "main","ignoreSelectors": ["nav"]}],"initialRunMode": "baseline_only","stripDates": false,"stripVolatileNumbers": false,"generateDigest": true,"maxDiffSegments": 30,"maxChargeUsd": 10,"snapshotKey": "api-docs-watch","dryRun": false}
Paid first-observation trial
Use emit_backfill only when you explicitly want the current page captured as the first change row.
{"targets": [{"name": "Terms page","url": "https://example.com/terms","cssSelector": "main","ignoreSelectors": []}],"initialRunMode": "emit_backfill","generateDigest": false,"emitSnapshots": false,"maxChargeUsd": 0.1,"snapshotKey": "terms-trial","dryRun": false}
Sample output
{"rowType": "url_change","billingEventName": "url-change-detected","targetName": "Competitor pricing","sourceUrl": "https://example.com/pricing","changeKind": "content_hash_diff","addedSegments": ["The Pro plan now includes priority support."],"removedSegments": ["The Pro plan includes standard support."],"addedSegmentCount": 1,"removedSegmentCount": 1,"changeRatio": 0.25,"contentHash": "bcf38e4a58839f6c7686c3f1","previousContentHash": "dba4a91988d5ed0d5f3dbd31","checkedAt": "2026-07-27T01:00:00.000Z"}
Each change row includes the source URL, final URL, HTTP status, current and previous hashes, bounded added/removed text segments, a change ratio, and a stable key. Digest rows summarize all changed targets in the run.
Pricing
| Event | Price | Delivered when |
|---|---|---|
url-change-detected | $0.08 | A normalized watched region changes, or an explicit backfill is requested |
url-snapshot | $0.02 | emitSnapshots is enabled and a public page is fetched successfully |
change-digest-report | $5.00 | At least one change exists and generateDigest is enabled |
maxChargeUsd is checked before delivery. The Actor fails before pushing billable rows if the configured output would exceed the buyer-approved cap.
Change controls
cssSelectorlimits the watched region to a simple ID, class, or tag selector.ignoreSelectorsremoves known noisy regions.stripDatesremoves common timestamps before hashing.stripVolatileNumbersnormalizes long counters.maxDiffSegmentsbounds the added and removed text included in each row.snapshotKeykeeps recurring watches isolated.
Compliance and limitations
- Public HTTP(S) pages supplied by the buyer only.
- Private networks, metadata endpoints, non-HTTP URLs, disallowed robots paths, access challenges, and login walls fail closed.
- Redirect count, response size, and request time are bounded.
- Results are source-linked observations and do not determine legal, security, compliance, or financial conclusions.
- Lightweight CSS focus is not a full browser selector engine, and text diffs do not represent pixel-level layout changes.