httpmorph

raw JSON →
0.2.8 verified Fri May 01 auth: no python

A Python HTTP client library focused on mimicking browser fingerprints, supporting HTTP/2, async, and TLS fingerprint customization. Current version 0.2.8, updated Nov 2025. Releases every few months.

pip install httpmorph
error ModuleNotFoundError: No module named 'httpmorph'
cause httpmorph not installed.
fix
pip install httpmorph
error AttributeError: module 'httpmorph' has no attribute 'Client'
cause Incorrect import path (e.g., `from httpmorph.client import Client`).
fix
Use from httpmorph import Client
error RuntimeError: SSL error with proxy
cause Proxy configuration not set correctly; httpmorph requires proxy URL and possibly authentication.
fix
client = Client(proxy='http://user:pass@host:port')
gotcha Default user agents may not match the system OS; always set `os_user_agent=True` for accurate fingerprinting.
fix Client(os_user_agent=True)
breaking Version 0.2.0 introduced HTTP/2 support, changing the API for `Client` and `Session`. Code using older versions may need migration.
fix Upgrade to >=0.2.0 and use `http2=True` parameter if needed.
gotcha Async imports from `httpmorph.async` are wrong; use direct `from httpmorph import AsyncClient`.
fix Use `from httpmorph import AsyncClient` instead.
deprecated `httpmorph.client` submodule is deprecated in favor of directly importing from `httpmorph`.
fix Use `from httpmorph import Client`.

Basic synchronous GET request.

from httpmorph import Client

client = Client()
response = client.get('https://httpbin.org/get')
print(response.status_code)
print(response.text[:200])