# YoutubeSnoop
[](https://pypi.org/pypi/youtubesnoop/)
A Youtube downloader of the highest quality
---
## Installation
You can install it via pip:
```bash
$ pip install youtubesnoop
```
---
## Prerequisites
* [ffmpeg](https://ffmpeg.org/) must be installed and available in your PATH.
---
## Usage
A simple command-line tool that downloads Youtube videos in the highest quality available.
Just provide a Youtube URL:
```bash
$ youtubesnoop https://www.youtube.com/watch?v=dQw4w9WgXcQ
```
It will download single tracks to this format:
```plaintext
{title}.flac
```
### Downloading Album Playlists
Provide a playlist URL and it will create a folder for the artist and nest it with the year and album title:
```plaintext
{artist}/{year} - {albumTitle}
```
This fits my personal need to download albums from Youtube playlists.
Each track will be named like this:
```plaintext
{tracknumber}. {title}.flac
```
It will try to infer the metadata from the playlist and set it in the downloaded files. Otherwise it will prompt you for it. It uses the [mutagen](https://mutagen.readthedocs.io/en/latest/) library to set the metadata and [beets](https://beets.io/) to fix any mistakes. It uses [musicbrainzngs](https://pypi.org/project/musicbrainzngs/) to download cover art as `Cover.jpg` or `Cover.png` and place it in the folder and added to the metadata of each track.
### Videos
It downloads as `flac` files per default but with the `--video` flag it will download the video as `mp4` instead.
Raw data
{
"_id": null,
"home_page": null,
"name": "youtubesnoop",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "beets, downloader, flac, metadata, music, youtube",
"author": "Anders",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/27/bf/8e7ddf6958a27404280b216f161fb4d8120545690d0acb082d02a0e286f0/youtubesnoop-0.1.3.tar.gz",
"platform": null,
"description": "# YoutubeSnoop\n\n[](https://pypi.org/pypi/youtubesnoop/)\n\nA Youtube downloader of the highest quality\n\n---\n\n## Installation\n\nYou can install it via pip:\n\n```bash\n$ pip install youtubesnoop\n```\n\n---\n\n## Prerequisites\n\n* [ffmpeg](https://ffmpeg.org/) must be installed and available in your PATH.\n\n---\n\n## Usage\n\nA simple command-line tool that downloads Youtube videos in the highest quality available.\n\nJust provide a Youtube URL:\n\n```bash\n$ youtubesnoop https://www.youtube.com/watch?v=dQw4w9WgXcQ\n```\n\nIt will download single tracks to this format:\n\n```plaintext\n{title}.flac\n```\n\n### Downloading Album Playlists\n\nProvide a playlist URL and it will create a folder for the artist and nest it with the year and album title:\n\n```plaintext\n{artist}/{year} - {albumTitle}\n```\n\nThis fits my personal need to download albums from Youtube playlists.\n\nEach track will be named like this:\n\n```plaintext\n{tracknumber}. {title}.flac\n```\n\nIt will try to infer the metadata from the playlist and set it in the downloaded files. Otherwise it will prompt you for it. It uses the [mutagen](https://mutagen.readthedocs.io/en/latest/) library to set the metadata and [beets](https://beets.io/) to fix any mistakes. It uses [musicbrainzngs](https://pypi.org/project/musicbrainzngs/) to download cover art as `Cover.jpg` or `Cover.png` and place it in the folder and added to the metadata of each track.\n\n### Videos\n\nIt downloads as `flac` files per default but with the `--video` flag it will download the video as `mp4` instead.\n\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "YouTube video/music downloader with metadata tagging and cover art",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://github.com/anderslatif/YoutubeSnoop",
"Issues": "https://github.com/anderslatif/YoutubeSnoop/issues",
"Repository": "https://github.com/anderslatif/YoutubeSnoop"
},
"split_keywords": [
"beets",
" downloader",
" flac",
" metadata",
" music",
" youtube"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9041cf61edd83d8cdfb489757d2e80a3acc3ba64b4a06284bdb6f3b0fbfbd473",
"md5": "714ea6bfe3b90323e9a04f7f02062e30",
"sha256": "0afeda47f0347c82c8550669ba5c6429487e0c5532f163676a37fc29ee429321"
},
"downloads": -1,
"filename": "youtubesnoop-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "714ea6bfe3b90323e9a04f7f02062e30",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 11954,
"upload_time": "2025-10-11T08:28:46",
"upload_time_iso_8601": "2025-10-11T08:28:46.226195Z",
"url": "https://files.pythonhosted.org/packages/90/41/cf61edd83d8cdfb489757d2e80a3acc3ba64b4a06284bdb6f3b0fbfbd473/youtubesnoop-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "27bf8e7ddf6958a27404280b216f161fb4d8120545690d0acb082d02a0e286f0",
"md5": "d8a518cf012465b742283ea025083388",
"sha256": "40ce3c21335c8b2a63d4612525057355f43c941dea6fe3d377e8f2300a72d7f7"
},
"downloads": -1,
"filename": "youtubesnoop-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "d8a518cf012465b742283ea025083388",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11334,
"upload_time": "2025-10-11T08:28:47",
"upload_time_iso_8601": "2025-10-11T08:28:47.529329Z",
"url": "https://files.pythonhosted.org/packages/27/bf/8e7ddf6958a27404280b216f161fb4d8120545690d0acb082d02a0e286f0/youtubesnoop-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-11 08:28:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "anderslatif",
"github_project": "YoutubeSnoop",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "youtubesnoop"
}