Docs & Changelog Watcher to Change Records
Under maintenancePricing
Pay per event
Docs & Changelog Watcher to Change Records
Under maintenanceTrack changes across docs, changelogs & API references you own or are authorized to monitor. Deterministic sha256 delta detection emits structured change records (added/removed/modified) per section, not noisy visual diffs. Schedule it; pay only for pages that changed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Adam
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
15 days ago
Last modified
Categories
Share
Watch documentation and changelog pages and turn what changed between runs into clean, structured change_record rows. The diff is deterministic and content-hash based, so re-running on unchanged pages produces nothing and changed sections are pinpointed exactly.
What it does
For each source page you give it, every run:
- Fetches the page over HTTP (no API key) and reduces the HTML to text.
- Segments the text into sections by heading, and token-chunks each section into
{ section_path, chunk_text }units. - Loads the prior run's snapshot (a list of
{ section_path, content_hash }) for that page from the Apify Key-Value Store. - Computes the delta against that snapshot:
- added — a section path (or content) that was not in the prior snapshot.
- removed — a prior section path that is absent this run.
- modified — same section path, different content hash.
- On the first run (no prior snapshot) every section is reported as
added.
- Emits one
change_recordper delta. Unchanged sections emit nothing. - Stores the new snapshot back to the Key-Value Store for the next run.
- Writes one
run_summarywith the run totals.
Pages that fail to fetch are skipped (and not billed), so one bad URL never fails the whole run.
Deterministic core
The change detection is a pure function, offline-testable with no network, no LLM, and no API keys:
diffChunks(prevHashes, currentChunks) -> [ change_record, ... ]
prevHashes— the prior snapshot: either[{ section_path, content_hash }]or a bare['sha256:...', ...]array.currentChunks—[{ section_path, chunk_text }]fromsegmentDoc.- Hashing uses
core.jscontentHash; chunking usescore.jschunkText.
Same input always yields the same hashes and the same diff (idempotent).
Input
| Field | Type | Required | Description |
|---|---|---|---|
sources | array | Yes | Docs/changelog page URLs to watch. Each item is a URL string or { url }. |
segmentation | object | No | { maxTokens, overlapTokens } controlling section chunk size and overlap before hashing/diffing. |
ownership_attestation | boolean | Yes | You must confirm you own / are authorized to monitor these pages and will honor each site's terms. The run is rejected before any work or billing if this is not true. |
Output
Every record has a record_type field.
change_record — one per detected delta:
| Field | Type | Description |
|---|---|---|
record_type | string | Always "change_record". |
change_type | string | "added", "removed", or "modified". |
source_url | string | The page the change was found on. |
section_path | string | The section heading path the change belongs to. |
old_content_hash | string|null | Prior section content hash (null for added). |
new_content_hash | string|null | Current section content hash (null for removed). |
chunk_text | string | Current section text (empty for removed). |
run_summary — exactly one per run:
| Field | Type | Description |
|---|---|---|
record_type | string | Always "run_summary". |
pages_checked | integer | Pages successfully fetched and diffed. |
pages_changed | integer | Pages with at least one delta this run. |
changes_emitted | integer | Total change_record rows produced. |
Pricing
This Actor uses Pay-Per-Event pricing:
| Event | When it fires | Price |
|---|---|---|
actor_run_start | Once per run, after the gates pass | $0.02 |
page_changed | Per watched page that had at least one detected change this run | $0.01 |
Pages with no detected changes contribute count 0 and are not billed — no $0 events are ever emitted. Pages that fail to fetch cost $0.
Example run: checking 10 pages of which 3 changed = $0.02 (run start) + 3 x $0.01 (changed pages) = $0.05 total.
Why this Actor
- Deterministic deltas. Changes come from content-hash comparison of the same section across runs, so output is stable and idempotent.
- Nothing is invented. Sections and text are parsed straight from the page; missing data stays empty rather than fabricated. No LLM, no API keys.
- Compliance built in. A required ownership/authorization attestation rejects the run with zero billing if not confirmed.
- Change-feed ready. Output is already a per-section change feed you can pipe into alerts, embeddings refresh, or RAG re-indexing.
About
This Actor is AI-authored and operated under the publisher's LLC. Actor.charge() is used only to bill the customer for the Pay-Per-Event units described above — the Actor has no payout or money-out capability of any kind.