Skip to main content

XNXX API

An asynchronous Python API wrapper and scraper for xnxx.com

Downloads + Downloads CodeQL Analysis 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

Category Details
Video Fetching Fetch video objects with full metadata (title, description, views, length, publish date, thumbnail)
Video Downloading HLS-based downloading with configurable quality (best, half, worst, or specific resolutions)
User Profiles Fetch user/model profiles including total video count, page count, and total video views
Video Search Search with filters for quality (720p / 1080p+), length, upload time, and mode (hits / random)
Async-First Fully asynchronous (async / await) built on top of asyncio
Built-in Caching Automatic response caching with configurable limits to reduce redundant network requests
CLI Support Command-line interface for quick downloads — run xnxx_api -h for options
Type Safety Comprehensive type hinting and dataclass-based models throughout

Networking Features

The networking layer is provided by the eaf_base_api package and is fully configurable through RuntimeConfig:

Feature Description
HTTP/1.1, HTTP/2, HTTP/3 Configurable HTTP version (v1, v2, v3 — defaults to HTTP/3)
Browser Impersonation Built-in browser fingerprint impersonation via curl_cffi (defaults to Chrome)
Custom JA3 Fingerprint Override the TLS fingerprint with a custom JA3 string for advanced use cases
Proxy Support All proxy types supported (HTTP, HTTPS, SOCKS4, SOCKS5)
Proxy Authentication Username/password authentication for proxies
Bandwidth Limiting Set a maximum download speed in MB/s (e.g., 2.0, 3.5)
DNS over HTTPS Route DNS queries over HTTPS for privacy and bypassing DNS-level blocks
SSL Verification Toggle SSL certificate verification on or off
Request Delay Configurable delay between requests to respect rate limits
Concurrency Control Tune video and page concurrency independently for optimal throughput

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)

Installation

pip install unofficial-api-for-xnxx

Quickstart

Have a look at the Documentation for more details

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

import asyncio
from xnxx_api import Client, DownloadConfigHLS

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.likes)
    # Download the video
    config = DownloadConfigHLS(quality="best", path="./") # More options in the documentation
    await video_object.download(config)

if __name__ == "__main__":
    asyncio.run(main())

Support the Project ❤️

I develop all my projects entirely for free because I enjoy it and want to keep them accessible. If you find my work useful, please consider supporting me with a small donation — even 1 € makes a big difference and keeps me motivated!

☕ Ko-fi

https://ko-fi.com/EchterAlsFake

💳 PayPal

https://paypal.me/EchterAlsFake

🪙 Crypto (350+ currencies supported)

Crypto donation button by NOWPayments

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

This API is licensed under the AGPLv3. See the LICENSE file for details.

[!CAUTION] Using this in a proprietary application? Under the AGPLv3, if you integrate, modify, or host this API as part of your application (even over a network), you must open-source your entire application's code under the AGPL.

If you want to use this API without open-sourcing your own code, you must purchase a commercial license.

For commercial licensing, contact: EchterAlsFakeBS@proton.me

Release files for unofficial-api-for-xnxx 2.4.1

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

Source distribution (sdist)

Source distribution for unofficial-api-for-xnxx 2.4.1
File Size Uploaded
unofficial_api_for_xnxx-2.4.1.tar.gz 21.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for unofficial-api-for-xnxx 2.4.1
File Interpreter ABI Platform
unofficial_api_for_xnxx-2.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 44.2 kB

Release files / unofficial_api_for_xnxx-2.4.1.tar.gz

Download URL unofficial_api_for_xnxx-2.4.1.tar.gz
Size 21.4 kB
Tags Source
SHA-256 checksum
How to use checksums
725a58542e6464e0dd949cfd5f522cd2d67295fd1d623af81ced5d41508396fc
BLAKE2b-256 checksum
How to use checksums
6cdb4765f962a88525255578eef38c36aa9cd7cdac7851cc1cc7c366156fcb31
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 / unofficial_api_for_xnxx-2.4.1-py3-none-any.whl

Download URL unofficial_api_for_xnxx-2.4.1-py3-none-any.whl
Size 22.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13f6343dc9c12d696571d50b403fae743a6c1ccccb46471e2a1f409d32f562be
BLAKE2b-256 checksum
How to use checksums
16fa590173e6f815375a8d13bd9acfc2646426466ef1c117278bb4e775a109c6
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 history Release notifications | RSS feed

2.4.2

2 release files

This release

2.4.1 This release

2 release files

2.4

2 release files

2.3

2 release files

2.2

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