YouPorn API
Disclaimer
[!IMPORTANT] This is an unofficial and unaffiliated project. Please read the full disclaimer before use: DISCLAIMER.md
By using this project you agree to comply with the target site’s rules, copyright/licensing requirements, and applicable laws. Do not use it to bypass access controls or scrape at disruptive rates.
[!NOTE] Downloading currently doesn't work, but watching videos on YouPorn also doesn't (at least for me) so I don't know if this is yourporn's or my fault :(
Features
- Fetch videos + metadata
- Download videos
- Fetch Channels
- Fetch Pornstars
- Search for videos
- Fetch collections
- Asynchronous
- Built-in caching
- Easy interface
- Great type hinting
Networking Features
- HTTP 2.0 / HTTP 3.0
- Browser impersonation
- Custom JA3
- All proxy types
- Proxy authentication
- Speed Limit
- DNS over HTTPS
- And even more...
- All of this is configurable and can be adjusted as you like!
Supported Platforms
This API has been tested and confirmed working on:
- Windows 11 (x64)
- macOS Sequoia (x86_64)
- Linux (Arch) (x86_64)
- Android 16 (aarch64)
Quickstart
Have a look at the Documentation for more details
- Install the library with
pip install youporn_api
import asyncio
from youporn_api import Client
async def main():
# Initialize a Client object
client = Client()
# Fetch a video
video_object = await client.get_video("<insert_url_here>")
# Information from Video objects
print(video_object.title)
print(video_object.rating)
# Download the video
await video_object.download(downloader="threaded", quality="best", path="your_output_path + filename")
asyncio.run(main())
# SEE DOCUMENTATION FOR MORE
Support (Donations)
I am developing all my projects entirely for free. I do that because I have fun and I don't want to charge 30€ like other people do.
However, if you find my work useful, please consider donating something. A tiny amount such as 1€ means a lot to me.
Paypal: https://paypal.me/EchterAlsFake
XMR (Monero): 42XwGZYbSxpMvhn9eeP4DwMwZV91tQgAm3UQr6Zwb2wzBf5HcuZCHrsVxa4aV2jhP4gLHsWWELxSoNjfnkt4rMfDDwXy9jR
Contribution
Do you see any issues or having some feature requests? Simply open an Issue or talk in the discussions.
Pull requests are also welcome.
License
Licensed under the LGPLv3 License
Copyright (C) 2025-2026 Johannes Habel
Metadata
Release files for youporn_api 1.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| youporn_api-1.5.2.tar.gz | 10.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| youporn_api-1.5.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.0 kB
Release files / youporn_api-1.5.2.tar.gz
| Download URL | youporn_api-1.5.2.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
00ddb73bb407ef250b6be630d7f1d230c21d6ff1d45da4abb7a67adac292bf8b
|
|
BLAKE2b-256 checksum How to use checksums |
6fcd38b6c023fc5b1e70e7b39581cd6a2eb18f0a02044d80b3001f080929944b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / youporn_api-1.5.2-py3-none-any.whl
| Download URL | youporn_api-1.5.2-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a7614ad884e85e50c55b74dc6a4db6ce04658a851ac851e183018b7e94473be
|
|
BLAKE2b-256 checksum How to use checksums |
9a979de88c63ff0b100144a64566a68a8f0fed9274b50c5deca6225316280385
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|