Skip to main content

A Python API for the Porn Site xhamster.com

Project description

XHamster API

Downloads CodeQL Analysis Sync API Tests

Description

XHamster API is an API for xhamster.com. It allows you to fetch information from videos using regexes and requests.

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
  • Fetch Creators
  • Fetch Shorts
  • Search for videos
  • Fetch playlists
  • 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 xhamster_api
from xhamster_api import Client
# Initialize a Client object

async def main():
    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")

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

Project details


Download files

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

Source Distribution

xhamster_api-2.2.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

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

xhamster_api-2.2-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file xhamster_api-2.2.tar.gz.

File metadata

  • Download URL: xhamster_api-2.2.tar.gz
  • Upload date:
  • Size: 10.9 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 xhamster_api-2.2.tar.gz
Algorithm Hash digest
SHA256 0163d58aca59d8e2c2903bcaf48e3434583ee6c8801667d54f7e9080dcb00e95
MD5 e4f4edf8e965fa0f32c2e1f1033cfd4c
BLAKE2b-256 01c517e286792ba724ad3610da4e95ef001b2e4d13e66288b0b67205f8980230

See more details on using hashes here.

File details

Details for the file xhamster_api-2.2-py3-none-any.whl.

File metadata

  • Download URL: xhamster_api-2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.7 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 xhamster_api-2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6e6942f6c03ade66e5012f08944911ec28e007578dc0363aaad46f505f0864bb
MD5 0ed12509a49a70385b064e52f03074d5
BLAKE2b-256 59bbb15092d709b998f199b4324286ad2cfeffed3d8b96e1a7847587cd4fef7e

See more details on using hashes here.

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