Wayback Change Monitor — Website History Diff & Alerts avatar

Wayback Change Monitor — Website History Diff & Alerts

Pricing

from $4.00 / 1,000 change events

Go to Apify Store
Wayback Change Monitor — Website History Diff & Alerts

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

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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, or noise
  • How much (byteDelta), the HTTP statusCode and the previous status
  • With deep diff on: titleFrom→titleTo, added/removed text blocks (with samples), and an isNoise flag
  • 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

FieldTypeDefaultDescription
urlsarray— (required)Pages or domains to check. Bare domains work.
matchTypestringexactexact · prefix (path) · host · domain (+ subdomains)
from / tostringall historyDate bound: YYYY, YYYYMM or YYYYMMDD
deepDiffbooleanfalseFetch archived bodies to extract title/text diffs + filter noise
includeNoisebooleanfalseAlso emit changes with no real visible-content change
maxChangesPerUrlinteger200Cap on change rows per URL (oldest first)
maxDeepDiffsPerUrlinteger500Work cap (deep diff on): most versions compared per URL — bounds time/cost on noisy pages
proxyConfigurationobjectApify proxyRotation 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 checked
  • change-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.