Skip to main content

XVIDEOS API

Downloads CodeQL Analysis Sync API Tests

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.

Features

  • Fetch videos + metadata
  • Download videos
  • Fetch Channels
  • Fetch Pornstars
  • Search for videos
  • Fetch playlists
  • Account login (Fetch Liked, watched and recommended videos)
  • 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 xvideos_api
import asyncio
from xvideos_api import Client
# Initialize a Client object

async def do_something():    
    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.likes)
    # Download the video
    
    await video_object.download(downloader="threaded", quality="best", path="your_output_path + filename")

asyncio.run(do_something())    
# SEE DOCUMENTATION FOR MORE

[!NOTE] XVideos API can also be used from the command line. Do: xvideos_api -h to see the options

Changelog

See Changelog for more details.

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) 2023–2026 Johannes Habel

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unofficial_api_for_xvideos-2.3.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unofficial_api_for_xvideos-2.3-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file unofficial_api_for_xvideos-2.3.tar.gz.

File metadata

  • Download URL: unofficial_api_for_xvideos-2.3.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for unofficial_api_for_xvideos-2.3.tar.gz
Algorithm Hash digest
SHA256 e97407fb607d60ae5fafccbe05da98521f99fabc8fb2b5c1cba8facae6b6d5b3
MD5 6e4964dbc0569573c4f530392d66da9c
BLAKE2b-256 3bf7fda32b9589d88267800e63cb90c97d2c948ebaf468f445dbae3482cda777

See more details on using hashes here.

File details

Details for the file unofficial_api_for_xvideos-2.3-py3-none-any.whl.

File metadata

  • Download URL: unofficial_api_for_xvideos-2.3-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for unofficial_api_for_xvideos-2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e8a1360c46d4097e47f76802d51c9261f05547dbc4557824401d3c1ebc376651
MD5 661c60b3c96344cd841ab7a51673534a
BLAKE2b-256 ab31e3b5de9874bc13ed24483cacf2c944961c8d01f832b19f0036ba664204f0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page