Skip to main content
RTILA Marketplace

YouTube Metrics and Comments Collector - required inputs

Collect video metrics and top-level comments from public YouTube watch pages into CSV on your own machine.

Social Media Intermediate Stable v1.0.0 Updated Updated 2026-09-18 10 min read
Download
  • Windows x86_64

    BOT_youtube-metrics-comments-collector.exe

    64.5 MB

    Download
  • macOS Apple Silicon chmod +x

    BOT_youtube-metrics-comments-collector.sh

    58.0 MB

    Download
  • macOS Intel chmod +x

    BOT_youtube-metrics-comments-collector.sh

    64.9 MB

    Download
  • Linux x86_64 chmod +x

    BOT_youtube-metrics-comments-collector.sh

    82.3 MB

    Download

Do not rename the downloaded file - the filename carries the bot's configuration id.

This tab lists everything you must supply before a run: values fixed once in the project settings, values the launcher asks for on each run, required secrets, and any proxy, CAPTCHA or start-URL needs. Back to the overview tab.

The tables on this page are generated automatically from the published project configuration and therefore cannot disagree with it.

Before you run

  1. Download the launcher for your operating system from the overview tab.
  2. On first launch the bot asks for the values in the "Requested at run time" table below; values in the "Configured in project settings" table are filled in once in the bot's settings beforehand.
  3. When the run finishes you will find the output file next to the launcher, in the folder you ran it from.

Configured in project settings

Values you fill in once in the bot's settings before running.

Fields supplied in project settings
FieldTypeDescriptionDefault / example
video_url (required) Text Declared in project settings.
comment_count (required) Text Declared in project settings. 50
sort_order (required) Text Declared in project settings. top
start_urls (required) URL Start URLs the bot navigates to.

Requested at run time

Values the launcher asks for each time the bot starts.

Runtime-acquired input fields
FieldTypeDescriptionDefault / example
No fields.

Secrets you must provide

This bot requires no secrets.

Secret fields are requested at run time and are never embedded in the published configuration.

Start URLs

Start URLs the bot navigates to.

View the full project configuration on the Config tab.

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.