Skip to main content

youtube-comment-downloader

Simple script for downloading Youtube comments without using the Youtube API. The output is in line delimited JSON.

Installation

Preferably inside a python virtual environment install this package via:

pip install youtube-comment-downloader

Or directly from the GitHub repository:

pip install https://github.com/egbertbouman/youtube-comment-downloader/archive/master.zip

Usage as command-line interface

$ youtube-comment-downloader --help
usage: youtube-comment-downloader [--help] [--youtubeid YOUTUBEID] [--url URL] [--output OUTPUT]
                                  [--format {jsonl,json,csv,scsv}] [--limit LIMIT] [--language LANGUAGE] [--sort SORT]

Download Youtube comments without using the Youtube API

options:
  --help, -h                                 Show this help message and exit
  --youtubeid YOUTUBEID, -y YOUTUBEID        ID of Youtube video for which to download the comments
  --url URL, -u URL                          Youtube URL for which to download the comments
  --output OUTPUT, -o OUTPUT                 Output filename (optional, defaults to video_id.ext)
  --format {jsonl,json,csv,scsv}, -f {jsonl,json,csv,scsv}
                                             Output format: jsonl, json, csv (comma), or scsv (semicolon).
  --limit LIMIT, -l LIMIT                    Limit the number of comments
  --language LANGUAGE, -a LANGUAGE           Language for Youtube generated text (e.g. en)
  --sort SORT, -s SORT                       Whether to download popular (0) or recent comments (1). Defaults to 1

For example (automatically saves to ScMzIvxBSi4.jsonl):

youtube-comment-downloader --url https://www.youtube.com/watch?v=ScMzIvxBSi4

or using a custom filename and/or format (e.g., CSV):

youtube-comment-downloader --youtubeid ScMzIvxBSi4 --output comments.csv --format csv

For Youtube IDs starting with - (dash) you will need to run the script with: -y=idwithdash or --youtubeid=idwithdash

Usage as library

You can also use this script as a library. For instance, if you want to print out the 10 most popular comments for a particular Youtube video you can do the following:

from itertools import islice
from youtube_comment_downloader import *
downloader = YoutubeCommentDownloader()
comments = downloader.get_comments_from_url('https://www.youtube.com/watch?v=ScMzIvxBSi4', sort_by=SORT_BY_POPULAR)
for comment in islice(comments, 10):
    print(comment)

Metadata

Release files for youtube-comment-downloader 0.1.83

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for youtube-comment-downloader 0.1.83
File Size Uploaded
youtube_comment_downloader-0.1.83.tar.gz 9.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for youtube-comment-downloader 0.1.83
File Interpreter ABI Platform
youtube_comment_downloader-0.1.83-py3-none-any.whl Python 3 none any Details

Total release size: 18.1 kB

Release files / youtube_comment_downloader-0.1.83.tar.gz

Download URL youtube_comment_downloader-0.1.83.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
44a71570ab15238de0e9ee489d71768042bdcbcdda630794a38f49b516e2f39a
BLAKE2b-256 checksum
How to use checksums
5d8e87ac4e58890a142c54d1439a494caabf9a69e878396fdce6ff4b755dd1e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / youtube_comment_downloader-0.1.83-py3-none-any.whl

Download URL youtube_comment_downloader-0.1.83-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd407bbd5af8bc39b9a2a59151e585c6f7350b57d7868a83f68ecd4d3754ca1c
BLAKE2b-256 checksum
How to use checksums
0c95fd582ca850b2c42c468b0d28809d6d6c5cfa8d552997dc15099b9a3c6c7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1.83 This release

2 release files

0.1.82

2 release files

0.1.78

2 release files

0.1.76

2 release files

0.1.75

2 release files

0.1.74

2 release files

0.1.73

2 release files

0.1.68

2 release files

0.1.67

2 release files

0.1.60

2 release files

0.1.59

2 release files

0.1.54

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page