Website Change Detector avatar

Website Change Detector

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Website Change Detector

Website Change Detector

Watches public web pages and returns a structured change report whenever their text changes. The first run stores a baseline snapshot per URL; later runs compare against it. Schedule it to monitor competitors, docs, policies or prices.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Technical Dost Solutions

Technical Dost Solutions

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

19 days ago

Last modified

Security

Limited permissions

Share

Schedule this Actor on Apify (or trigger it from n8n / Make) to watch public web pages and get a structured change report whenever the text moves.

The first run stores a baseline snapshot per URL and is labelled baseline — later runs compare with sklearn TF-IDF cosine (changeScore) plus a human-readable difflib diff. Pay per result, not a $15/month rental.

Use it for price pages, terms of service, job boards, and competitor landing pages. HTTP + BeautifulSoup (no Playwright unless a page is JS-only).

What does Website Change Detector do?

It fetches each URL with HTTP, extracts visible text (or cleaned HTML), hashes it, and compares it to the previous snapshot in a named key-value store. Optional CSS selectors focus on a region; ignore selectors drop cookie banners and timestamps.

It does not screenshot pages by default and does not log in to private apps.

Why monitor website changes?

  • Competitor price and packaging pages
  • Policy / ToS compliance diffs
  • Career-page job-list updates
  • News homepage alerts

Apify Schedule plus n8n/Make webhooks turn a diff into a Slack message.

What data can it extract?

FieldTypeDescription
urlstringChecked URL
changeStatusstringbaseline, unchanged, changed, error
changeScorenumber1 − TF-IDF cosine vs previous text
diffstringUnified diff
addedChars / removedCharsnumberSize of the edit
contentHashstringSHA-256 of compared content

How to detect website changes

  1. Try the prefilled https://apify.com and https://github.com example with mode: text.
  2. The first run is the baseline. Schedule hourly/daily afterwards.
  3. Filter dataset rows where changeStatus is changed.
  4. Pipe diff into Slack or a ticket.
  5. Call technicaldost/website-change-detector from MCP.

How much does it cost?

Pay per event. Actor start is $0.00005 (per GB of memory). Each result row is $0.005. This is not a monthly rental. Confirm the live Pricing tab before a large URL list.

Input

See the input tab. Example:

{
"urls": ["https://apify.com", "https://github.com"],
"mode": "text"
}

Output

Download JSON, CSV, HTML, or Excel.

{
"url": "https://apify.com",
"changeStatus": "baseline",
"changeScore": 0,
"title": "Apify: Full-stack web scraping and data extraction platform"
}

MCP

Apify MCP server, actor technicaldost/website-change-detector, same JSON.

FAQ and support

Only public pages. Honour robots.txt and site terms. Open Issues for bugs.

Use Website Change Detector with AI agents (MCP)

Give Claude, ChatGPT, Cursor, VS Code or any MCP client this Actor as a tool through the hosted Apify MCP server. The agent sees the input fields with descriptions and example values, runs the Actor, and reads the results.

MCP server URL (this Actor only):

https://mcp.apify.com/?tools=technicaldost/website-change-detector

Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=technicaldost/website-change-detector" --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Cursor, VS Code, Claude Desktop and other clients (mcp.json or the client's MCP settings):

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=technicaldost/website-change-detector",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}

Clients that support sign-in (such as Claude.ai connectors) can use the URL without a token and log in to Apify instead. Get your token in Apify Console → Settings → API & Integrations, or generate a ready config for your client at mcp.apify.com. In the agent the tool is named technicaldost--website-change-detector; ask it, for example, to "run Website Change Detector with {"urls": ["https://apify.com", "https://github.com"], "mode": "text"}".

AI agents without an Apify account can also run and pay for this Actor per request with x402 agentic payments.

Run Website Change Detector via API

Run the Actor and get its results in one call (replace YOUR_APIFY_TOKEN):

curl -X POST "https://api.apify.com/v2/acts/technicaldost~website-change-detector/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://apify.com", "https://github.com"], "mode": "text"}'

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("technicaldost/website-change-detector").call(run_input={"urls": ["https://apify.com", "https://github.com"], "mode": "text"})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / TypeScript (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('technicaldost/website-change-detector').call({"urls": ["https://apify.com", "https://github.com"], "mode": "text"});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Long runs: start them with POST /v2/acts/technicaldost~website-change-detector/runs and fetch the dataset when the run finishes, or receive a webhook.