Wayback Change Monitor — Website History Diff & Alerts
Pricing
from $4.00 / 1,000 change events
Wayback Change Monitor — Website History Diff & Alerts
See when any URL changed on the Wayback Machine. Dated change timeline per URL: change type (content/removed/restored/redirect/status), byte delta, title and status transitions, meaningful text diff (noise filtered) and archived proof links. Not a raw snapshot dump.
Pricing
from $4.00 / 1,000 change events
Rating
0.0
(0)
Developer
Berkan Kaplan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🕰️ Wayback Change Monitor — Website History Diff & Alerts
See when any URL changed on the Internet Archive's Wayback Machine — and what changed. Not a raw snapshot dump: a dated change timeline per URL with classified change types, byte deltas, title and status transitions, meaningful text diffs (noise filtered), and an archived proof link for every change.
🎯 What it does
Give it a URL (or a whole domain). For each page it reads the Wayback Machine's capture history, keeps only the points where the content actually changed, and returns one row per change:
- When it changed (
changeTimestamp) and the previous version's timestamp - What kind of change (
changeType):content-change,removed(2xx→4xx/5xx),restored,redirect-change,status-change,type-change,first-seen, ornoise - How much (
byteDelta), the HTTPstatusCodeand the previous status - With deep diff on:
titleFrom→titleTo, added/removed text blocks (with samples), and anisNoiseflag - An archived proof URL (
archivedUrl) and the raw original body URL (rawUrl) for every row
💡 Why it's different
The Wayback Machine records thousands of captures, but most "changes" are noise — dynamic tokens, timestamps and whitespace churn that flip the content hash without changing anything a human sees. Raw snapshot scrapers dump all of them. This actor normalizes the content and filters noise, so you get the handful of changes that actually matter: a price edit, a removed page, a rewritten headline, a page that went dead.
🚀 Quick start
{"urls": ["stripe.com/pricing", "competitor.com/product"],"from": "2023","to": "2024","deepDiff": true,"maxChangesPerUrl": 200}
Returns the change timeline for each URL between 2023 and 2024, with text diffs. Leave from/to empty for the
full history. Use matchType: "domain" to monitor every page under a site.
🔧 Input
| Field | Type | Default | Description |
|---|---|---|---|
urls | array | — (required) | Pages or domains to check. Bare domains work. |
matchType | string | exact | exact · prefix (path) · host · domain (+ subdomains) |
from / to | string | all history | Date bound: YYYY, YYYYMM or YYYYMMDD |
deepDiff | boolean | false | Fetch archived bodies to extract title/text diffs + filter noise |
includeNoise | boolean | false | Also emit changes with no real visible-content change |
maxChangesPerUrl | integer | 200 | Cap on change rows per URL (oldest first) |
maxDeepDiffsPerUrl | integer | 500 | Work cap (deep diff on): most versions compared per URL — bounds time/cost on noisy pages |
proxyConfiguration | object | Apify proxy | Rotation recommended (see below) |
📤 Output
One dataset row per change event. Key fields: url, changeTimestamp, changeType, statusCode, statusFrom,
byteDelta, byteSize, archivedUrl, rawUrl, previousTimestamp, and (deep diff) titleChanged,
titleFrom, titleTo, addedBlocks, removedBlocks, addedSample, removedSample, isNoise.
🧩 Use cases
- Competitive & sales intelligence — know the day a competitor changed pricing, product or positioning.
- SEO & content monitoring — title/content/status history of any page.
- Legal, compliance & journalism — dated, archived proof of when terms/policy pages changed.
- Due diligence — how often and how heavily a site changes over time.
🤖 AI agents & x402
This actor runs in standard batch mode and is agent-payable (x402): an autonomous agent can call it, pay per event, and receive structured change rows — no login, no API key for the source. A Standby ("… API") sibling can be published from the same code base for real-time, request/response use (see below).
💳 Pricing (pay-per-event)
Proposed events (final price set at publish):
url-lookup— per URL checkedchange-event— per delivered change row (the value: change + classification)deep-diff— per computed content diff (only when deep diff is on)
Noise-only changes are not emitted and not billed as change events (so you only pay change-event for
real changes). When deep diff is on, each archived version compared is billed as one deep-diff — including the
comparisons that turn out to be noise, since that comparison is the work that detected and filtered them.
🔌 Integration
- API / SDK: start the actor and read its dataset via the Apify API or client SDKs.
- Scheduling: schedule a daily run on your watchlist; new rows = new changes since last run.
- Webhooks: wire an Apify webhook on run finish to push changes into Slack, a sheet or your CRM.
🛡️ Proxy & reliability
Archive.org throttles a single IP under load. The actor defaults to Apify datacenter proxy (free on your plan) with in-run rotation, plus exponential-backoff retries. Residential proxy is not required.
📚 Data source & ethics
Data comes from the public Internet Archive Wayback Machine CDX API (keyless, documented). Only archival metadata and already-public archived page content are read. No personal data is collected.
⚠️ Limits
- History depends on what the Wayback Machine captured — thinly-archived pages yield few change points.
- Deep diff fetches archived bodies, which adds time and cost; cap it with
maxChangesPerUrl. - Very large sites (
matchType: domain) are paginated; use date bounds to keep runs focused.
📝 Changelog
See CHANGELOG.md.