Skip to content

Auto-Heal

Auto-Heal is HydraSkill’s automatic failover system. When an IP gets blocked, banned, or rate-limited, HydraSkill switches to a new IP transparently — your agent never handles proxy errors.

HydraSkill monitors responses for block signals:

SignalDetection
HTTP 403 ForbiddenDirect block
HTTP 429 Too Many RequestsRate limit
CAPTCHA pagesContent analysis
Connection resetNetwork-level block
Empty responseStealth block
Redirect to block pageURL pattern matching
Agent Request → Proxy → Target Site
↓ (blocked!)
HydraSkill detects
New IP assigned
Request retried
Agent receives ← Success response

Your agent code stays simple:

# No try/except needed for proxy errors
response = requests.get(url, proxies=proxy.to_dict())
# HydraSkill already retried if the first IP was blocked
proxy = client.get_proxy(
target="amazon.com",
auto_heal=True, # enabled by default
max_retries=3, # retry up to 3 times
retry_delay_ms=500, # wait between retries
rotate_on_block=True, # get new IP on block
)

Each request has a retry budget (default: 3 attempts). If all retries fail, HydraSkill raises a ProxyExhaustedError so your agent can handle the edge case:

from hydraskill.exceptions import ProxyExhaustedError
try:
response = requests.get(url, proxies=proxy.to_dict())
except ProxyExhaustedError:
# All retry attempts failed — target may be fully blocking
log.warning(f"Could not reach {url} after 3 proxy rotations")

Track Auto-Heal activity in your dashboard:

  • Heal Rate — % of requests that needed IP rotation
  • Avg Recovery Time — milliseconds to switch IP
  • Block Sources — which targets trigger the most blocks

For debugging or when you need raw responses (including blocks):

proxy = client.get_proxy(
target="example.com",
auto_heal=False # get raw responses, including 403s
)