Do not rename the downloaded file - the filename carries the bot's configuration id.
This tab presents the complete project configuration exactly as published - the same JSON the launcher fetches at launch - ready to read, copy, or import into the desktop product.
Back to the overview tab.
Project configuration
Full project JSON for youtube-metrics-comments-collector
Canonical byte length: 21,709 - the length of the canonical form the digest covers.
At launch the backend delivers this configuration to the launcher as plain JSON.
The block below is the complete project definition the launcher receives.
What you are reading has machine-readable equivalents, and the JSON at those routes
is the same document as the JSON rendered on this page: the
listing overview,
the per-listing
detail document
and the
configuration document.
The digest and byte count shown in the panel header are computed over that document's canonical
JSON form - recursively sorted keys, two-space indentation, no trailing newline - which is the
form the provisioning pipeline signs and the reconcile control re-digests; it differs from the
highlighted block above in key order and by that trailing newline, so hashing the visible text
will not reproduce the digest.
1-15 minutes depending on list length and slow hosts Uses 2 commandsExports csvwindowsmacosmacos_intellinuxv1.0.0
Frequently asked questions
How do I export YouTube comments to CSV?
Set the video_url input to a public watch page, choose a comment target and a sort order, and run the launcher. The bot scrolls the comment section, extracts each thread into the comments dataset, and saves the result as a CSV in the launcher output folder on your machine - one row per top-level comment, with author, text, normalised like count, published label and the page URL. No cloud account and no conversion step are involved.
How many comments can one run collect?
As many as you ask for, bounded by what the video actually has. The comment_count input defaults to 50 top-level comments; the scroll cap is derived from it automatically (at least 12 scroll steps, plus roughly one step per ten requested comments). Raise the target for deep comment sections; the run stops as soon as the collected total reaches it.
Why does the final comment count exceed the target?
YouTube loads comments in batches of roughly twenty threads. The collector checks the total after each extracted batch and stops once the target is met, so the final file can overshoot by up to one batch - requesting 50 may save up to about 64 rows. This is deliberate: cutting mid-batch would silently drop comments the page had already rendered.
Does it collect comment replies?
No. The bot collects top-level comment threads only and never expands reply chains. The replies column records the raw label shown under a thread (the view-replies toggle text) where one exists, so you can see that replies exist and roughly how many, but reply content itself is out of scope for this build.
Can I scrape multiple videos at once?
Yes. The video_url input supports list mode: enable it and paste one watch-page URL per line, and the engine processes each URL in turn with the same comment target and sort order. Every output row carries its own page_url, video_id and channel_id, so a multi-video batch stays separable after export.
What happens when comments are disabled?
The run stays useful and fails loud. The mounting loop watches for the comments-disabled message; if it appears, or if no comment thread renders in time, the bot logs a COMMENTS_UNAVAILABLE marker and skips collection. The video metrics row is still saved, so you always get the statistics half of the dataset.
How do I sort comments by newest first?
Set the sort_order input to recent (the aliases new and newest are also accepted); the default top collects the popular ordering. The bot never trusts the channel default ordering - it opens the sort menu and clicks the matching entry on every run, with a position-based click first and an exact-English-text fallback second, because the English-locale cookie is pinned before navigation.
Why does the bot set cookies before loading the video?
Three cookies are set first: two consent cookies that preempt the EU cookie interstitial, and one that pins the interface language to English. This keeps runs unattended (no consent dialog to dismiss mid-scroll) and makes the English text fallbacks in the sort menu reliable. If an interstitial still appears, a try/catch block clicks the reject-all or accept-all button and carries on.
How are duplicate comments handled?
The comments dataset de-duplicates on the combination of author, text and published label. Because collection overlaps batches while scrolling - each cycle re-extracts everything currently rendered - deduplication is what makes appending safe: a comment seen in three cycles lands in the CSV exactly once.
Is scraping YouTube comments allowed?
That is your call to own, not the bot's. Automated collection may conflict with the platform's terms of service, and comment text plus author names are personal data under GDPR, UK GDPR and similar regimes. Review the terms, establish a lawful basis before repurposing anything, keep collection to what a patient human viewer could read, and never use the output for spam or profiling.
Does the bot need an internet connection to run?
Yes on first run: the launcher fetches its configuration by id from the backend at launch, so an internet connection is required at least the first time it starts.
Can I rename the downloaded file?
No. The downloaded file must keep its exact name - the filename carries the per-bot configuration id, and renaming it breaks the configuration fetch at launch.