Metadata-Version: 2.4
Name: hqporner_api
Version: 2.1
Summary: A Python API for the Porn Site HQPorner.com
Author: Johannes Habel
Author-email: Johannes Habel <EchterAlsFake@proton.me>
License-Expression: LGPL-3.0-only
License-File: LICENSE
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python
Requires-Dist: bs4
Requires-Dist: eaf-base-api
Requires-Dist: lxml ; extra == 'full'
Requires-Python: >=3.10
Project-URL: Homepage, https://github.com/EchterAlsFake/hqporner_api
Provides-Extra: full
Description-Content-Type: text/markdown

<h1 align="center">HQPorner API</h1> 

<div align="center">
    <a href="https://pepy.tech/project/hqporner_api"><img src="https://static.pepy.tech/badge/hqporner_api" alt="Downloads"></a>
    <a href="https://github.com/EchterAlsFake/hqporner_api/workflows/"><img src="https://github.com/EchterAlsFake/hqporner_api/workflows/CodeQL/badge.svg" alt="CodeQL Analysis"/></a>
    <a href="https://echteralsfake.me/ci/hqporner_api/badge.svg"><img src="https://echteralsfake.me/ci/hqporner_api/badge.svg" alt="API Tests"/></a>
</div>


# Disclaimer
> [!IMPORTANT]
> This is an unofficial and unaffiliated project. Please read the full disclaimer before use:
> **[DISCLAIMER.md](https://github.com/EchterAlsFake/API_Docs/blob/master/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
- Asynchronous
- Fetch videos + metadata
- Download videos
- Fetch Pornstars
- Search for videos
- Get videos by category
- Other site specific features 
- 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](https://github.com/EchterAlsFake/API_Docs/blob/master/Porn_APIs/HQPorner.md) for more details

- Install the library with `pip install hqporner_api`


```python
import asyncio
from hqporner_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>")
    # Can also be a mobile URL e.g., https://m.hqporner.com/<video>
    
    # Download the video
    await video_object.download(quality="best", path="your_output_path + title.mp4")
    
    # Videos by actress
    actress_generator = client.get_videos_by_actress("anissa-kate")
    async for video in actress_generator:
        print(video.title) # etc...
    
    # Search for videos
    videos = client.search_videos(query="Your query here")
    async for video in videos:
        print(video.title)

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

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

# Changelog
See [Changelog](https://github.com/EchterAlsFake/hqporner_api/blob/master/README/Changelog.md) 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
<br>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 welcome :) 

# License
Licensed under the LGPLv3 License
<br>Copyright (C) 2023–2026 Johannes Habel
