ytFetch
ytfetch simplifies media downloading and playlist management by adding playlist searching, and streamlined format handling on top of the powerful yt-dlp engine.
✨ Features
- Search: Use
-listto display or search across single or multiple playlists contents. - Direct Download: Single flag to download in legacy
avc/h.264andmp3format and audio only extraction. - Video Quality: Mention preffered video quality directly.
- Native Compatibility: Can also pass through any
yt-dlpflag. - Minimal Output logs: Clean and minimal logs.
📋 Requirements
-
Python: 3.8 or higher.
-
FFmpeg and FFprobe: Should available in your system PATH. Download builds from here
or
-
On Windows:
winget install BtbN.FFmpeg.GPL
or
winget install Gyan.FFmpeg
-
On Termux (android):
pkg install ffmpeg
-
On Mac (using Homebrew):
brew install ffmpeg
-
On Arch Linux:
sudo pacman -S ffmpeg
-
On Ubuntu/Debian:
sudo apt install ffmpeg
-
-
Deno: Or other JavaScript runtime/engine like node.js or bun
Check this guide for more info. Also check yt-dlp dependency for optional dependencies.
📦 Installation
via pip
pip install ytfetch
via source
git clone https://github.com/voidsnax/ytFetch.git
cd ytFetch
pip install -e .
🚀 Usage
General Syntax and Options
usage: ytfetch URL ... [OPTIONS] [yt-dlp OPTIONS]
options:
-h Show this help message and exit
--help Show yt-dlp help message and exit
-avcmp3 Download video in AVC (h.264) & audio in mp3 format
-q QUALITY Video quality (e.g., 1080, 720). Default is 1080
-mp3 Extract audio only as MP3
-audio Extract audio only
-list [NAME] List playlist contents. Accepts values for searching across playlist
output template aliases:
-o autonumber/num -> playlist-numbered naming
-o music/song -> title + artist naming
-o default -> default naming
Examples
Basic Downloading
Download a video at the default best quality
ytfetch "VIDEO_URL"
Download a video in 720p
ytfetch "VIDEO_URL" -q 720
Format Conversion
Download as AVC(H.264) and Mp3 in MP4 Container
ytfetch "VIDEO_URL" -avcmp3
Extract Audio Only in Mp3
ytfetch "VIDEO_URL" -mp3
Listing and Searching
List a Playlist
ytfetch "PLAYLIST_URL" -list
Search through a playlist
ytfetch "PLAYLIST_URL" -list "remix"
Passthrough Options
You can append any standard yt-dlp option to your command. Both long and short flags are supported.
Download via Proxy
ytfetch --proxy "socks5://127.0.0.1:1080" "VIDEO_URL"
Use Cookies
ytfetch --cookies "cookies.txt" "VIDEO_URL"
Limit Speed
ytfetch -r "500K" "VIDEO_URL"
Selected range Search
ytfetch "PLAYLIST_URL" -I ":50" -list "search_word"
and so on...
🔖 License
MIT License
Release files for ytfetch 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ytfetch-2.1.0.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ytfetch-2.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.3 kB
Release files / ytfetch-2.1.0.tar.gz
| Download URL | ytfetch-2.1.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bdc0dc45be146cb0c6967588f993d02778c8418df06250f802cfb12a52716484
|
|
BLAKE2b-256 checksum How to use checksums |
5c5aaea2ffe2cc72d991b0ee1441b33d1de29ea7e8ec4963cdc7ea20b49d99a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / ytfetch-2.1.0-py3-none-any.whl
| Download URL | ytfetch-2.1.0-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f59e2a01b098338fc4fc2478de40e1fe9e632934e17e666e321a137e47df0b46
|
|
BLAKE2b-256 checksum How to use checksums |
d8af9c3602b92e029a14f444020c921c99f47623f0a3633f9d3cb9ec4d9c2e3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency log