This tutorial shows how to scrape YouTube comments from short video watch URLs into CSV with the YouTube Comments Scraper for Short Videos template for UScraper. You will import the workflow, add approved video URLs, set the export path, validate the rows, and decide when the official YouTube Data API is a better fit.
Before you start
Prerequisites, scope, and permission checks
You need UScraper installed as a local desktop app, a short list of YouTube video URLs you are allowed to process, and a folder where the CSV should be saved. The template is designed around https://www.youtube.com/watch?v=... URLs, including short-form videos opened through their watch URL form. If you start from /shorts/..., open the video and copy the watch URL before running the workflow.
This guide is for supervised collection from comments you can review in a normal browser session. It is not a login bypass, CAPTCHA bypass, private-data collector, or moderation backdoor. YouTube may show login, age, bot-verification, or regional prompts; handle those manually in a persistent browser profile or stop the run.
Technical access is not the same as permission. Review YouTube's current terms, keep volumes modest, avoid collecting sensitive personal data, and document why the comment export is needed before using it in a business workflow.
API or scraper
YouTube comments API vs scraper: choose the right path
The official YouTube Data API has documented comment resources. commentThreads.list returns comment threads that match request parameters, and comments.list can retrieve comments by ID or replies by parent comment ID. That makes the API cleaner for sanctioned integrations that can manage API keys, OAuth, quotas, and pagination.
A scraper solves a different problem. It is useful when an analyst wants a visible browser run, a fast CSV, and no Python setup. The trade-off is maintenance: YouTube can change its page markup, hide comments, throttle sessions, or require manual verification.
| Approach | Best for | Watch out for |
|---|---|---|
| YouTube Data API | Approved apps and quota-aware pipelines | API key or OAuth setup, pagination, quota limits, and reply handling |
| Python script | Developers who want custom logic | Code maintenance, dependency setup, rate handling, and export QA |
| UScraper template | No-code local CSV exports from visible pages | Browser prompts, layout drift, and selector validation |
| Hosted scraper | Cloud scheduling or larger managed jobs | Vendor pricing, data custody, and platform-compliance review |
If you searched for youtube comments scraper python, the API route is worth learning. If the job is "download visible comments from these five short videos into a spreadsheet," the UScraper template is usually faster to validate.
Workflow anatomy
What the YouTube comments scraper exports
The template's JSON is the authoritative workflow definition. Its block sequence is Set Window Size -> Navigate -> Wait for Page Load -> Sleep -> Inject JavaScript -> Wait for Element -> Structured Export -> Loop Continue. The JavaScript block scrolls comments, waits for lazy-loaded rows, captures the video title, and writes normalized attributes onto each loaded comment thread. Structured Export reads those attributes and appends rows to the CSV.
| CSV field | What it contains | Validation check |
|---|---|---|
video_url | Source watch URL | Confirm it matches the row's video title. |
video_title | Visible video title or document-title fallback | Compare with the browser after loading. |
comment_user_name | Comment author display name | Check that author text is not blank on sampled rows. |
comment | Top-level visible comment text | Confirm long comments are not cut off by a collapsed state. |
vote_counts | Visible like or vote count text | Blanks can be valid when YouTube hides zero counts. |
sub_reply_amounts | Visible reply prompt, such as 4 replies | The workflow captures reply count text, not every reply body. |
comment_time | Published time label shown on the comment | Expect relative labels such as 2 weeks ago. |
comment_author_channel_url | Absolute URL for the author's channel | Sample links before enrichment. |
Runbook
How to scrape YouTube comments to CSV
Import the template
Open YouTube Comments Scraper for Short Videos, download the JSON, and import it into UScraper.
Paste watch URLs
Replace the sample Navigate URLs with approved youtube.com/watch?v=... links. Keep tracking parameters only when they matter to your audit trail.
Confirm the browser state
Use a persistent profile if YouTube asks for login, consent, or bot verification. Solve manual prompts in the browser; do not automate around access controls.
Set the CSV destination
In Structured Export, confirm youtube_comments_scraper_shortvideo.csv, headers, append mode, and a project-specific save folder.
Run one URL, then batch
Run one video, compare rows against the browser, then let Loop Continue move through the remaining video list.
After the first run, sort the CSV by video_url and comment_user_name. A healthy export should show one row per loaded top-level comment thread. If rows repeat, the same URL may have been entered twice or a loop may have resumed after export had already appended rows.
Quality control
Validate the export before analysis
YouTube comments are dynamic. Row counts can change by region, account state, sorting, moderation, and whether comments are enabled. Keep the browser open beside the CSV and inspect rows from the beginning, middle, and end of the file.
| Symptom | Likely cause | Fix |
|---|---|---|
| Zero rows exported | Comments disabled, page challenge, or selector drift | Check the video manually, handle prompts, and rerun one URL. |
| Fewer rows than expected | Comments did not finish lazy-loading | Increase wait time or reduce batch size. |
Blank video_title | Metadata selectors changed or page title did not hydrate | Refresh the page and verify the title selector against the browser. |
| Missing reply bodies | Template captures top-level threads and reply count text | Use the API or a custom workflow when full reply text is required. |
| Mixed videos in one file | Append mode collected multiple runs | Save each campaign to a separate folder. |
For recurring exports, keep an audit note with source URLs, run date, CSV filename, profile used, and selector changes. That context matters when comments are later deleted or moderated.
Common issues
Troubleshooting YouTube comment scraping
YouTube comments may be publicly visible, but automated collection can still be restricted by YouTube terms, robots rules, copyright, privacy law, and local regulations. Do not bypass access controls, collect private data, or republish comments without a valid basis. Get legal review before using exports commercially.
Next step
Download the YouTube comments scraper template
When you are ready to run the tutorial, download the JSON from YouTube Comments Scraper for Short Videos and keep this article open for QA. For adjacent workflows, browse all UScraper templates or the UScraper blog for more local CSV export tutorials.

