YouTube Comment Archive & Delta Feed
Pricing
from $0.50 / 1,000 useful archived comment deltas
YouTube Comment Archive & Delta Feed
Track YouTube comment additions, edits, and removals across repeated runs with stable identities. Seeded demo is synthetic; incomplete live results never prove deletion.
Pricing
from $0.50 / 1,000 useful archived comment deltas
Rating
0.0
(0)
Developer
Mehdi Badawi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Track YouTube comment additions, edits, and removals across repeated runs with stable comment identities. The result is an append-only change feed rather than another one-time comment export.
Start in 30 seconds
- Select Try for free and run the seeded multi-cycle demo.
- Switch to bounded live mode or supply your own comment observations.
- Reuse the named state store to compare later runs.
Price: $0.0005 per useful live added, modified, or explicitly removed comment, plus a $0.00005 start event. Unchanged, unavailable, failed, and demo results are free.
Seeded mode is synthetic. Live HTML collection is experimental and incomplete results never prove that a comment was deleted.
Highlights
- Append-Only Stable Identity: Every comment receives a canonical composite key
youtube/<videoId>/<commentId>that prevents duplicates and tracks historical appearance across cycles. - Deterministic Delta Engine: Classifies every comment in relation to prior state:
added: Newly posted comment.modified: Text edited or like/reply metrics updated.unchanged: Verified active with identical text and metrics.removed: Comment deleted or removed since prior successful check.unavailable: External access to video failed; state is held without false modifications.
- Honest Failure Semantics: Network failures, private/removed videos, or disabled comments report explicit
unavailableorunknownstatuses—never false "unchanged" and never false "removed". - Credential-Free Seeded Demo: Runs out of the box with zero credentials, zero network access, and writes a non-empty dataset in seconds.
Quickstart
Run locally
To run the credential-free seeded demo:
$npm start
This completes in under 5 seconds, loads multi-cycle seeded test fixtures, executes delta evaluation, and writes the results to the Apify dataset and KeyValueStore.
Run tests
All unit, behavioral, delta precision, and error-handling tests run with Node's native test runner:
$npm test
Input Configuration
See .actor/input_schema.json for full JSON schema definitions.
| Field | Type | Default | Description |
|---|---|---|---|
targetUrls | array | ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"] | Target YouTube video URLs or video IDs |
maxCommentsPerTarget | integer | 100 | Maximum comments to inspect per video |
mode | string | "seeded" | "seeded" for offline deterministic demo, "live" for bounded public fetches |
stateStoreName | string | mode-specific | Named KeyValueStore for persistence (null disables persistence); seeded and live defaults are isolated |
emitAll | boolean | true | When true, emits all comments; when false, emits only changed deltas |
priorState | object | null | Optional explicit prior state object for replay/testing |
Output Datasets and Storage
- Dataset: Formatted rows following
.actor/dataset_schema.json. Each row containskey,commentId,videoId,author,text,likeCount,replyCount,delta,status,targetStatus,firstSeenAt,lastSeenAt, andchanges. - KeyValueStore
OUTPUT: Run envelope detailing execution timestamp, run status (ok,degraded,failed), summary delta counts, and per-target health. - KeyValueStore
STATE: Durable state record persisted in the configured store for subsequent runs.
Architecture
src/main.mjs: Actor platform entrypoint and adapter.src/core/identity.mjs: Pure URL normalization and composite key generation.src/core/archive.mjs: Pure deterministic delta evaluator and state transitions.src/fetcher/youtube.mjs: Bounded read-only fetcher with explicit failure classification.fixtures/seeded_corpus.json: Curated multi-cycle golden fixtures for deterministic testing.
Public comments still contain author data. Set a retention period appropriate to your use, honor deletion/data-rights requests, and delete the named store and datasets when that period ends. Use one writer per target scope. No proxy, cookies, login, or access-control bypass is included. Support owner: Mehdi Badawi through the Apify Store support channel, with an initial-response target of two business days.