Skip to main content

langchain-proxyhat

Read the web in LangChain through ProxyHat residential proxies — a document loader and an agent tool with rotating IPs, geo-targeting, and sticky sessions.

CI Compatible with langchain-core latest PyPI License: MIT

Why

LLM pipelines that read the open web from datacenter IPs get blocked, rate-limited, and served bot-detection pages instead of content. This package routes LangChain's web reads through ProxyHat's residential IPs (50M+ across 148+ countries) — a fresh IP per page by default, or one pinned IP for a whole multi-page load. Two first-class LangChain components:

  • ProxyHatLoader — a BaseLoader that fetches URLs and yields Document objects for RAG, indexing, or summarization.
  • ProxyHatFetchTool — a BaseTool that lets an agent fetch a page's text from a residential IP.

Install

pip install langchain-proxyhat

langchain-core is a peer — bring your own version (>=0.3), the same one your app and other LangChain integrations already use.

Quick start

Load pages as Document objects:

from langchain_proxyhat import ProxyHatLoader

# An API key auto-selects an active residential sub-user:
docs = ProxyHatLoader(
    ["https://example.com", "https://example.org"],
    api_key="ph_your_api_key",
    country="us",
).load()

for doc in docs:
    print(doc.metadata["source"], doc.metadata["status_code"], len(doc.page_content))

Give an agent a residential-IP fetch tool:

from langchain_proxyhat import ProxyHatFetchTool

tool = ProxyHatFetchTool(api_key="ph_your_api_key", country="us")

# Use directly...
html = tool.invoke({"url": "https://example.com"})

# ...or hand it to an agent alongside your other tools.
# from langchain.agents import create_agent
# agent = create_agent(model, tools=[tool])

Get an API key at proxyhat.com.

Credentials

Pass them explicitly or via environment variables — options win over env:

Option Env var Notes
api_key PROXYHAT_API_KEY Auto-selects an active sub-user with remaining traffic
sub_user PROXYHAT_SUBUSER Pick a specific sub-user by uuid or name (with an API key)
username PROXYHAT_USERNAME Explicit gateway proxy_username (skips the API)
password PROXYHAT_PASSWORD Explicit gateway proxy_password

Targeting

The same knobs are available on both the loader and the tool:

ProxyHatLoader(
    ["https://example.com"],
    api_key="ph_your_api_key",
    country="us",        # ISO code or "any" (default)
    region="california",
    city="new_york",
    filter="high",       # AI IP-quality tier
    sticky="30m",        # keep one IP across the whole load; omit for rotating
    protocol="http",     # or "socks5"
)

Rotating vs sticky

By default the loader is rotating: each page is fetched over a new connection with a stable gateway username, so ProxyHat hands out a fresh residential IP per page. Set sticky (e.g. sticky="30m" or sticky=True) to pin one residential IP across every page in the load — the right choice for paginated sites, logged-in sessions, or anything that must look like a single user. On ProxyHatFetchTool, sticky keeps the same IP across the agent's successive calls.

How it works

Both components resolve your gateway credentials once (via the official proxyhat SDK — an API key auto-picks an active sub-user, or you supply username/password directly), then build a ProxyHat gateway connection URL with the SDK's targeting grammar and fetch through it with httpx. Rotating loads reuse a stable username so the gateway rotates the IP per connection; sticky loads reuse one session id so every request exits from the same IP.

Publishing to the LangChain integrations registry is a planned follow-up.

License

MIT © ProxyHat

Metadata

Release files for langchain-proxyhat 0.1.1

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

Source distribution (sdist)

Source distribution for langchain-proxyhat 0.1.1
File Size Uploaded
langchain_proxyhat-0.1.1.tar.gz 10.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-proxyhat 0.1.1
File Interpreter ABI Platform
langchain_proxyhat-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.5 kB

Release files / langchain_proxyhat-0.1.1.tar.gz

Download URL langchain_proxyhat-0.1.1.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f66ea8aa5e20822499845a6fb55bb3abd21054d628628889abf9afe1727528bc
BLAKE2b-256 checksum
How to use checksums
1365313fd99473954678b6867394c02daf49fadb50f47a1bfd75af2e8c28f325
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Release files / langchain_proxyhat-0.1.1-py3-none-any.whl

Download URL langchain_proxyhat-0.1.1-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56b08cec97eaafd82fd4a6308a9d0318719fc02d6ce45cdda110dbd6a1f44a92
BLAKE2b-256 checksum
How to use checksums
cc94ad6368825f586e164804959d9accd6ee6db6e73819ec0e67d8758d7a2fe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.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