Some targets score the address a challenge is solved from. Fetch the token from a datacentre range and it fails; fetch the same token through the network your session already uses and it passes. CaptchaAI accepts `proxy` and `proxytype` per task, so the solve can share your request's context — and this page is equally about when that is a waste of latency.
Four checks, in the order worth doing them.
Change one thing at a time. If the same task succeeds from one network and fails from another with everything else identical, address reputation is in play. If it fails everywhere, the problem is the challenge type or your parameters, and a proxy will only add latency.
Score-based challenges — reCAPTCHA v3, Turnstile, Cloudflare Challenge — weigh context most heavily. A plain image or grid CAPTCHA is a recognition task and is far less interested in where the answer came from.
`proxy` and `proxytype` are task parameters, so you can route only the tasks that need it. Everything else takes the default path and stays fast.
A proxied solve adds a hop. Against a published band of under 4 seconds for reCAPTCHA v3 or up to 60 seconds for v2, that matters differently — set the timeout from the band for the type you are actually solving.
Score-based challenges weigh signals around the request as well as the response: address reputation, whether the range is residential or datacentre, and whether the context is consistent. A token minted from somewhere unrelated to the rest of your session is a mismatch the target can see.
The technique is neutral; what it is pointed at is not.
Routing a solve through a different address does not create permission. This page assumes your own application, or a system you are authorised to test.
A proxy changes where load appears to come from, not whether it is welcome. Published limits stay the constraint.
A CAPTCHA is a bot check, not an auth check. Nothing here helps with credentials, payment authorisation or account access, and should not be used to try.
Rotating aggressively through unrelated addresses usually reads as less trustworthy, not more. Matching the session's real context is the point.
Per-task
Set proxy and proxytype on the individual task
No surcharge
Published plans add no fee by type or option
Same codes
Documented error semantics are unchanged
Published bands
Latency figures per type to budget against
Address reputation gets blamed for failures it did not cause. These are cheaper, faster and more often the real answer.
The practical case, in four lines.
A task parameter means you can route the few tasks that need it without redesigning anything.
Thread-based plans carry no surcharge by type or option, so this does not change the bill.
The page tells you how to confirm the IP is the variable before you add a hop you may not need.
The documented codes behave the same, so your existing retry logic still applies.
Per-task proxy support on the same endpoint, the same error codes and the same plan.