Skip to main content

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

Metadata

Release files for xhamster_api 2.2

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

Source distribution (sdist)

Source distribution for xhamster_api 2.2
File Size Uploaded
xhamster_api-2.2.tar.gz 10.9 kB Details

Built distribution (wheel)

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

Total release size: 24.7 kB

Release files / xhamster_api-2.2.tar.gz

Download URL xhamster_api-2.2.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0163d58aca59d8e2c2903bcaf48e3434583ee6c8801667d54f7e9080dcb00e95
BLAKE2b-256 checksum
How to use checksums
01c517e286792ba724ad3610da4e95ef001b2e4d13e66288b0b67205f8980230
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 / xhamster_api-2.2-py3-none-any.whl

Download URL xhamster_api-2.2-py3-none-any.whl
Size 13.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6e6942f6c03ade66e5012f08944911ec28e007578dc0363aaad46f505f0864bb
BLAKE2b-256 checksum
How to use checksums
59bbb15092d709b998f199b4324286ad2cfeffed3d8b96e1a7847587cd4fef7e
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

This release

2.2 This release

2 release files

2.1

2 release files

2.0

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7

2 release files

1.6

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

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