Skip to main content

A Python API for the Porn Site HQPorner.com

Project description

HQPorner API

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

  • 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 for more details

  • Install the library with pip install hqporner_api
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 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 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

hqporner_api-2.1.tar.gz (13.2 kB view details)

Uploaded Source

File details

Details for the file hqporner_api-2.1.tar.gz.

File metadata

  • Download URL: hqporner_api-2.1.tar.gz
  • Upload date:
  • Size: 13.2 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 hqporner_api-2.1.tar.gz
Algorithm Hash digest
SHA256 5918adec624fb054e21e9ff88b7e61fab8509b0e146775275068d3593837886a
MD5 a066f7f9c07ed988923ccb7238c07dcb
BLAKE2b-256 4cacfb4b027b8d9b36612374c2b770226600f0a06d1159197e90ec88490a6c1b

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