Skip to main content

SimpleSoup

A simple Python wrapper for yt-dlp and FFmpeg.

Installation

pip install simplesoup

For gallery support:

pip install "simplesoup[gallery]"

Import

from simplesoup import rz

Basic Syntax

result = rz({
    "WHAT_TO_REQUEST": "VARIABLE_NAME"
}, url)

WHAT_TO_REQUEST batata hai kya chahiye, aur VARIABLE_NAME batata hai result mein us value ko kis naam se save karna hai.

Example:

result = rz({
    "title": "title"
}, url)

print(result["title"])

Video Download

result = rz({
    "video[4]": "video"
}, url)

print(result["video"])

video[4] = 720p.

Video Quality

video[0] → audio
video[1] → 360p
video[2] → 480p
video[3] → 720p
video[4] → 1080p
video[5] → best available

Example:

result = rz({
    "video[5]": "video"
}, url)

Multiple Values At Once

Ek hi request mein video aur metadata dono le sakte ho:

result = rz({
    "video[4]": "video",
    "title": "title",
    "creator": "creator",
    "url": "video_url",
    "views": "views",
    "likes": "likes",
    "count": "comments",
    "time": "duration",
    "thumbnail": "thumbnail"
}, url)

Values access karne ke liye:

print(result["video"])
print(result["title"])
print(result["creator"])
print(result["video_url"])
print(result["views"])
print(result["likes"])
print(result["comments"])
print(result["duration"])
print(result["thumbnail"])

Order matter nahi karta.

Metadata

Available metadata:

title      → video title
creator    → uploader/channel
url        → video URL
views      → view count
likes      → like count
count      → comment count
time       → duration in seconds
thumbnail  → downloaded thumbnail path
formats    → available yt-dlp formats

Metadata Only

Agar sirf metadata chahiye aur video download nahi karna:

result = rz({
    "title": "title",
    "creator": "creator",
    "views": "views",
    "likes": "likes",
    "count": "comments",
    "time": "duration"
}, url)

video[...] block nahi hone par video download nahi hota.

Thumbnail

result = rz({
    "thumbnail": "thumbnail"
}, url)

print(result["thumbnail"])

Thumbnail actual .jpg file ke roop mein download hota hai.

Playlist

Playlist syntax:

result = rz({
    "playlist": "QUALITY:SKIP:COUNT"
}, playlist_url)

Example:

result = rz({
    "playlist": "4:20:3"
}, playlist_url)

Meaning:

4  → 720p
20 → first 20 videos skip
3  → next 3 videos download

So:

Video 1-20 → skip
Video 21   → download
Video 22   → download
Video 23   → download

Downloaded videos:

for video in result["videos"]:
    print(video)

Playlist + Metadata

result = rz({
    "playlist": "4:20:3",
    "title": "playlist_title"
}, playlist_url)

print(result["playlist_title"])
print(result["videos"])

Gallery

Gallery downloading ke liye:

result = rz({
    "gallery": "images"
}, gallery_url)

print(result)

Gallery support ke liye gallery-dl install hona chahiye:

pip install "simplesoup[gallery]"

Cookies

SimpleSoup automatic cookie fallback support karta hai.

User apne cookie file paths `ReiZyuki` variable mein de sakta hai:

ReiZyuki = [
    "/storage/emulated/0/Download/youtube.txt",
    "/storage/emulated/0/Download/instagram.txt",
    "/storage/emulated/0/Download/reddit.txt"
]

Uske baad normal syntax hi use karo:

result = rz({
    "title": "title",
    "video[4]": "video"
}, url)

SimpleSoup pehle URL ko bina cookies ke try karta hai.

Agar normal request successful ho jaaye, cookies test nahi kiye jaate.

Agar normal request fail ho, to `ReiZyuki` mein diye gaye cookie paths ko one-by-one test kiya jaata hai.

Jo pehla cookie current URL ke liye successfully kaam karta hai, SimpleSoup automatically usi cookie ko use karta hai.

Kisi `cookies=` argument ki zarurat nahi hai.

Missing ya failed cookie automatically skip hota hai aur next cookie test hota hai.

Progress Callback

Optional progress callback:

def progress(percent, speed, mode):
    print(
        f"[Download {percent}] "
        f"[Network {speed}] "
        f"[Mode {mode}]"
    )

result = rz(
    {
        "video[4]": "video"
    },
    url,
    progress_callback=progress
)

Callback ko ye 3 values milti hain:

percent → download percentage
speed   → network speed
mode    → Video / Playlist

Complete Example

from simplesoup import rz

url = "VIDEO_URL"

result = rz({
    "video[4]": "video",
    "title": "title",
    "creator": "creator",
    "url": "video_url",
    "views": "views",
    "likes": "likes",
    "count": "comments",
    "time": "duration",
    "thumbnail": "thumbnail"
}, url)

print("Video:", result["video"])
print("Title:", result["title"])
print("Creator:", result["creator"])
print("URL:", result["video_url"])
print("Views:", result["views"])
print("Likes:", result["likes"])
print("Comments:", result["comments"])
print("Duration:", result["duration"])
print("Thumbnail:", result["thumbnail"])

Default Download Location

/storage/emulated/0/Download/ReiDownloader/

API Syntax Summary

Single video:

rz({
    "video[QUALITY]": "variable"
}, url)

Metadata:

rz({
    "title": "variable",
    "creator": "variable",
    "url": "variable",
    "views": "variable",
    "likes": "variable",
    "count": "variable",
    "time": "variable",
    "thumbnail": "variable"
}, url)

Video + metadata:

rz({
    "video[4]": "video",
    "title": "title",
    "creator": "creator",
    "views": "views",
    "likes": "likes",
    "count": "comments",
    "time": "duration",
    "thumbnail": "thumbnail"
}, url)

Playlist:

rz({
    "playlist": "QUALITY:SKIP:COUNT"
}, playlist_url)

Gallery:

rz({
    "gallery": "variable"
}, gallery_url)

Version

SimpleSoup 2026.09.08

Metadata

Release files for simplesoup 2026.9.11

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

Source distribution (sdist)

Source distribution for simplesoup 2026.9.11
File Size Uploaded
simplesoup-2026.9.11.tar.gz 16.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simplesoup 2026.9.11
File Interpreter ABI Platform
simplesoup-2026.9.11-py3-none-any.whl Python 3 none any Details

Total release size: 35.1 kB

Release files / simplesoup-2026.9.11.tar.gz

Download URL simplesoup-2026.9.11.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
223bcc56d6b5a2544b6366bc4223fb0a374a858b2b991e27d1976ce46929c1ae
BLAKE2b-256 checksum
How to use checksums
55b30c51d73a4f72d6b3c1a067ecd039fac230a76dfed5ba4d5c6d02e62d918e
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 Sep 9, 2026.

Transparency log

Release files / simplesoup-2026.9.11-py3-none-any.whl

Download URL simplesoup-2026.9.11-py3-none-any.whl
Size 19.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c6c61d3bd70f56cf4d68ee1c8ec1604c28f24add89b175eed20335d7025d52f
BLAKE2b-256 checksum
How to use checksums
12b8a02a63f4dbc1a91ffd15ae0bb7712387ca5155c12ead093c360f04e3f8b3
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 Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.9.11 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

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