Docs · changelog
Public docs, changelog, and migration-guide drift for RAG feeds
This Actor snapshots public release notes, changelogs, migration guides, and docs pages you list on targets[], then emits summary-first rows when those surfaces change. Live key is targets[] — README examples that send urls/emitChangedOnly are not schema fields.
Not a private npm/PyPI registry client, not CI, and not authenticated docs. Public HTTP only.
from $9.00 / 1,000 delivered monitoring result rows ($0.009 per new or changed row). No Actor Start. Unchanged runs are free.
Open Docs & Changelog Drift Scraper on Apify
Docs & Changelog Drift Scraper, not a neighboring Actor
Use this page for this Actor’s job. Use Website Content Extractor for One-shot docs markdown; Use Article Content Extractor for Article body extract; Use Status Page Incident Digest Monitor for Incidents.
| This Actor | Website Content Extractor | Article Content Extractor | Status Page Incident Digest Monitor | |
|---|---|---|---|---|
| Intent | Docs & Changelog Drift Scraper | One-shot docs markdown | Article body extract | Incidents |
| Primary input | targets |
urls | article urls | status pages |
| What it reads | Public sources listed on the Store page | HTML | article HTML | status sites |
| Primary output | Dataset rows billed per live PPE | markdown | clean article | incident rows |
| Not this job | Not a private npm/PyPI registry client, not CI, and not authenticated docs. Public HTTP only. | Not recurring changelog diffs | Not product changelog watches | Not docs/changelog drift |
Store ID: taroyamada/docs-changelog-drift-monitor. Respect source terms, robots.txt, and rate limits.
Use cases
- RAG/docs freshness watches
- API deprecation diffs
- Migration-guide change alerts
How is Docs & Changelog Drift Scraper different from Website Content Extractor and Article Content Extractor?
Docs & Changelog Drift Scraper (taroyamada/docs-changelog-drift-monitor): This Actor snapshots public release notes, changelogs, migration guides, and docs pages you list on targets[], then emits summary-first rows when those surfaces change. Live key is targets[] — README examples that send urls/emitChangedOnly are not schema fields. Not a private npm/PyPI registry client, not CI, and not authenticated docs. Public HTTP only. Website Content Extractor is for One-shot docs markdown (input urls; HTML; markdown). Not recurring changelog diffs. Article Content Extractor is for Article body extract (input article urls; article HTML; clean article). Not product changelog watches. Status Page Incident Digest Monitor is for Incidents (input status pages; status sites; incident rows). Not docs/changelog drift.
What input is required?
Live required fields: targets. exampleRunInput watches Next.js release atom + caching docs and Crawlee changelog/upgrade guide. datasetMode default changes_only. email delivery is a placeholder enum.
| Field | Type | Default | Notes |
|---|---|---|---|
targets |
array required | empty |
Targets (one summary row each). List of products or repos to monitor. Each item supports id, name, repo, criticality, owner, tags, releaseNotesUrl, changelogUrl, migrationGuideUrl, docsPages[], and optional per-surfac… |
requestTimeoutSeconds |
integer | 30 |
Request timeout (seconds). Maximum time to wait for one public source request before the actor marks the surface as failed for this run. |
userAgent |
string | empty |
Custom User-Agent. Optional custom User-Agent string for public HTTP requests. Leave empty to use the actor default identifier. |
maxChars |
integer | 35000 |
Global max chars per surface. Upper bound for extracted text per monitored surface before hashing and diff generation. |
delivery |
string | dataset |
Delivery mode. Choose whether summary-first target rows should be written to the dataset, posted to a webhook payload, or reserved for a future email delivery path. |
datasetMode |
string | changes_only |
Dataset mode. Controls which target rows are persisted: only action-needed rows, only changed rows, or every monitored target. |
webhookUrl |
string | empty |
Webhook URL. Webhook destination for summary payload delivery when delivery is set to webhook. |
notifyOnNoChange |
boolean | false |
Notify even if no change. If true, webhook delivery still fires even when no target crosses the change threshold in this run. |
snapshotKey |
string | docs-changelog-drift-monitor-snapshots |
Snapshot key. Stable key used to load and save previous surface snapshots between recurring runs. |
diffMode |
string | line_summary |
Diff mode. Use line summaries for concise change evidence or hash-only mode when you only need changed versus unchanged detection. |
summaryMaxLines |
integer | 12 |
Max diff lines per surface. Maximum number of added and removed lines to keep in each surface-level change summary. |
concurrency |
integer | 2 |
Concurrency. How many public surfaces the actor may fetch in parallel during one run. |
batchDelayMs |
integer | 250 |
Inter-batch delay (ms). Delay between fetch batches to soften load on public docs sources and reduce timeout pressure. |
nowIso |
string | empty |
Override current time (ISO). Optional ISO timestamp override for deterministic fixture tests, backfills, or proof snapshots. |
dryRun |
boolean | false |
Dry run. If true, the actor skips snapshot writes and remote delivery while still producing the local summary output. |
Published Store example run input (omitted fields take schema defaults):
{
"targets": [
{
"id": "nextjs",
"name": "Next.js",
"repo": "vercel/next.js",
"criticality": "high",
"owner": "Frontend Platform",
"tags": [
"framework",
"docs"
],
"releaseNotesUrl": "https://github.com/vercel/next.js/releases.atom",
"migrationGuideUrl": "https://nextjs.org/docs/app/guides/upgrading/version-16",
"docsPages": [
{
"id": "nextjs-caching",
"name": "Caching Guide",
"url": "https://nextjs.org/docs/app/guides/caching"
}
]
},
{
"id": "crawlee",
"name": "Crawlee",
"repo": "apify/crawlee",
"criticality": "standard",
"owner": "Automation",
"tags": [
"crawler",
"sdk"
],
"changelogUrl": "https://raw.githubusercontent.com/apify/crawlee/master/CHANGELOG.md",
"docsPages": [
{
"id": "crawlee-upgrade",
"name": "Upgrade Guide",
"url": "https://crawlee.dev/js/docs/upgrading/upgrading-to-v3"
}
]
}
],
"delivery": "dataset",
"datasetMode": "changes_only",
"notifyOnNoChange": false,
"snapshotKey": "docs-changelog-drift-quickstart",
"diffMode": "line_summary",
"summaryMaxLines": 12,
"concurrency": 2,
"batchDelayMs": 250,
"dryRun": false
}
Run Docs & Changelog Drift Scraper on Apify
How do dataset, webhook, and dry-run delivery work?
delivery defaults to dataset on the live schema. Dataset output is the billable surface when rows are written. webhookUrl is used when delivery is webhook (and typically not during dryRun). dryRun true validates or samples without the usual dataset/webhook side effects described on the Store schema. datasetMode can limit emits to changes_only versus all. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.
What does a result contain?
The published README output sample on the Store page is truncated or not valid standalone JSON. Treat README field lists as illustrations, not a live coverage guarantee. There is no published output JSON schema on the Store page.
How is Docs & Changelog Drift Scraper priced?
Billing is pay per event. The live Store card is from $9.00 / 1,000 delivered monitoring result rows ($0.009 per new or changed row). No Actor Start. Unchanged runs are free. Current PPE:
| Event | Price | Emitted when |
|---|---|---|
apify-default-dataset-item (Delivered monitoring result row) |
$0.009 | Charged only when a new or changed monitoring result row is delivered. Unchanged runs are free. |
The published README Cost block is stale versus the live Store pricing tab. README Cost quotes actor-start $0.01 + dataset-item $0.003. Live: Delivered monitoring result row $0.009, no start. README Input Examples use urls; live schema requires targets. This page quotes live PPE only.
from $9.00 / 1,000 delivered monitoring result rows ($0.009 per new or changed row). No Actor Start. Unchanged runs are free.
See Docs & Changelog Drift Scraper pricing on Apify
Limits to keep in mind
- Public docs only
- Not private registries
- concurrency 1–10
- README urls examples are stale
- Respect source terms, robots.txt, and rate limits.
Open Docs & Changelog Drift Scraper on Apify
Related pages
- Website Content Extractor — Extract docs once; this Actor diffs them on a schedule.
- Article Content Extractor — News/article bodies, not product changelogs.
- Status Page Incident Digest Monitor — Incidents, not docs drift.
- GitHub Release & Tag Scraper — GitHub releases/tags, not docs pages
- SaaS Pricing Tracker — Pricing/terms copy, not API docs
- Regulatory Alerts Scraper — .gov page watchlists, not vendor docs
- Website Terms & Policy Scraper — SHA256 legal-page diffs.
- SaaS Pricing Competitor Monitor — price-page snapshots.
- SaaS Pricing Changelog Battlecard Watch — pricing and changelog diffs.
- Website Change Monitor — generic URL diffs, not docs-only.
- Tools