
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
tierproxy
Advanced tools
Official Python SDK for tierproxy — premium multi-provider proxy infrastructure for AI/ML pipelines.
🚧 Preview release. Gateway is not yet generally available. Join the waitlist at hello@tierproxy.com. SDK is functional but
tierproxy doctoragainst a live gateway requires invitation.
Premium multi-provider proxy infrastructure for AI/ML pipelines. Built for engineers who measure cost, latency, and success rate twice — and write Python.
pip install tierproxy
import tierproxy
r = tierproxy.get("https://example.com", country="US")
print(r.text)
That's it. (Set TIERPROXY_API_KEY env var first.)
from tierproxy import TierProxy
with TierProxy() as g:
print(g.me.get().client_id)
r = g.get("https://example.com", country="US", session_id="s1")
g = TierProxy(routing="cheapest") # also: "fastest", "most_reliable", "balanced"
g.get("https://example.com") # picks via /v1/health/upstreams under the hood
g = TierProxy(
monthly_budget_usd=200.0, # raises BudgetExceededError before going over
)
import httpx
from tierproxy import TierProxy
from tierproxy.retry import RetryPolicy
g = TierProxy(
api_key="tp_live_...",
base_url="https://my-self-hosted-gw:8444",
timeout=10.0,
retry_policy=RetryPolicy(max_retries=5, retry_on_status=frozenset({500, 502})),
http_client=httpx.Client(verify=False), # custom transport
user_agent_suffix="my-app/2.3", # attribution
)
from tierproxy import ProxyURL
p = ProxyURL(api_key="tp_live_...", country="US", mode="username_encoding")
print(p.http_url()) # http://customer-tp_live_...-cc-US:x@gw.tierproxy.com:443
Every SDK error inherits from tierproxy.TierProxyError and carries a
request_id for support escalation:
from tierproxy import TierProxy, RateLimitError
import time
with TierProxy() as g:
try:
resp = g.get("https://example.com/page")
except RateLimitError as e:
time.sleep(e.retry_after or 5)
resp = g.get("https://example.com/page")
See Errors reference for the full HTTP-status-to-exception mapping.
The SDK exposes its response models as JSON Schema and as pre-built tool definitions for Anthropic Claude and OpenAI function-calling:
import anthropic
from tierproxy import TierProxy, schemas
with TierProxy() as gw:
anthropic.Anthropic().messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
tools=schemas.anthropic_tools(),
messages=[{"role": "user", "content": "How much quota is left?"}],
)
See the AI integration guide
and the MCP server in
examples/mcp_claude_desktop.md.
| tierproxy | Smartproxy SDK | Bright Data SDK | Oxylabs SDK | DataImpulse | |
|---|---|---|---|---|---|
| Multi-provider routing | ✅ | ❌ | ❌ | ❌ | ❌ |
| Client-side smart selector (cost-aware) | ✅ | ❌ | ❌ | ❌ | ❌ |
| Live usage streaming (SSE) | ✅ | ❌ | ❌ | ❌ | ❌ |
| MCP server (Claude/Cursor/Cline) | ✅ | ❌ | ❌ | ❌ | ❌ |
| OpenTelemetry built-in | ✅ | ❌ | ❌ | ❌ | ❌ |
| Sync + async parity | ✅ | partial | partial | partial | partial |
| AI/ML framework examples shipped | 8 | 0 | 1 | 0 | 0 |
| Type-safe (Pydantic v2 + mypy strict) | ✅ | ❌ | ❌ | partial | ❌ |
| OpenAPI 3.1 spec | ✅ | ❌ | ❌ | ❌ | ❌ |
Pip-installable CLI (tierproxy doctor) | ✅ | ❌ | ❌ | ❌ | ❌ |
| Per-request cost attribution (lazy) | ✅ | ❌ | ❌ | ❌ | ❌ |
| JA3/JA4 TLS fingerprint rotation | ✅ | ❌ | ❌ | ❌ | ❌ |
| Rate-limit learning + auto-failover | ✅ | ❌ | ❌ | ❌ | ❌ |
| License | Apache 2.0 | proprietary | proprietary | proprietary | proprietary |
import tierproxy; tierproxy.get(url, country="US")routing="cheapest" auto-picks healthy upstream per requestmonthly_budget_usd= refuses requests that would exceed budgetclient.cost_for(resp) returns USD; lazy 30s cache, no per-request overheadcache_ttl=300, cache_max_response_size=262144 LRU with size capauto_failover=True retries with next-best upstream on 429/5xxclient.rate_limits.get() surfaces gateway-aggregated 429s per target domainsession_id across multi-step crawlsclient.get(url, stream=True) returns iterator (large files, SSE)for delta in g.usage.stream() tails month-to-date bytestierproxy-mcp exposes proxy as tools to Claude/Cursor/Clinepip install tierproxy[otel] for distributed tracingSee examples/ for LangChain/LlamaIndex/Crawl4AI/Playwright and
examples/levels.py for a runnable demo of every level.
| Framework | Example | Notes |
|---|---|---|
| LangChain | with_langchain.py | RAG document loaders through proxy |
| LlamaIndex | with_llamaindex.py | SimpleWebPageReader through proxy |
| Crawl4AI | with_crawl4ai.py | Playwright crawler + tierproxy |
| Firecrawl (hot) | with_firecrawl.py | Self-hosted Firecrawl + residential IPs |
| Browser-Use (hot) | with_browser_use.py | LLM-driven autonomous browser |
| CrewAI (hot) | with_crewai.py | Multi-agent scraper crew + cost-aware routing |
| Playwright | with_playwright.py | Direct Playwright with tierproxy |
| MCP (Claude/Cursor/Cline/Windsurf) (unique) | mcp_claude_desktop.md | Native tool integration via tierproxy-mcp |
pip install tierproxy[mcp]
Then add to your MCP client config:
{
"mcpServers": {
"tierproxy": {
"command": "tierproxy-mcp",
"env": { "TIERPROXY_API_KEY": "tp_live_..." }
}
}
}
Now your AI assistant can call fetch_url(url, country="US"), inspect health
and usage, and route through the cheapest healthy upstream — no glue code,
no httpx imports, no boilerplate.
FAQs
Official Python SDK for tierproxy — premium multi-provider proxy infrastructure for AI/ML pipelines.
The pypi package tierproxy receives a total of 58 weekly downloads. As such, tierproxy popularity was classified as not popular.
We found that tierproxy demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.