YouTube Comment Archive & Delta Feed avatar

YouTube Comment Archive & Delta Feed

Pricing

from $0.50 / 1,000 useful archived comment deltas

Go to Apify Store
YouTube Comment Archive & Delta Feed

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

Mehdi Badawi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

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

  1. Select Try for free and run the seeded multi-cycle demo.
  2. Switch to bounded live mode or supply your own comment observations.
  3. 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 unavailable or unknown statuses—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.

FieldTypeDefaultDescription
targetUrlsarray["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]Target YouTube video URLs or video IDs
maxCommentsPerTargetinteger100Maximum comments to inspect per video
modestring"seeded""seeded" for offline deterministic demo, "live" for bounded public fetches
stateStoreNamestringmode-specificNamed KeyValueStore for persistence (null disables persistence); seeded and live defaults are isolated
emitAllbooleantrueWhen true, emits all comments; when false, emits only changed deltas
priorStateobjectnullOptional explicit prior state object for replay/testing

Output Datasets and Storage

  • Dataset: Formatted rows following .actor/dataset_schema.json. Each row contains key, commentId, videoId, author, text, likeCount, replyCount, delta, status, targetStatus, firstSeenAt, lastSeenAt, and changes.
  • 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.