Using proxies
Some challenges bind their token or cookie to the IP that solved them. For those you supply your own proxy so the solve runs from the same egress your later requests use.
Proxyless vs. proxy variants
Many task types come in two flavors distinguished by name:
- ProxyLess (name ends in
TaskProxyLess): the solve runs on Capzy egress. Use it when the returned token is not tied to the requesting IP, which is the common case for Turnstile, reCAPTCHA, and hCaptcha. - Proxy (name ends in
Task): the solve runs through your proxy, so the token or cookie matches your egress. Use it whenever the target binds the result to an IP.
Proxy fields
Add these to the task object on a proxy task type. Login and password are only needed if your proxy authenticates.
| Field | Description |
|---|---|
proxyType | Proxy protocol: "http", "https", "socks4", or "socks5". Required on proxy tasks. |
proxyAddress | Proxy host or IP. Required on proxy tasks. |
proxyPort | Proxy port, as an integer. Required on proxy tasks. |
proxyLogin | Proxy username, if the proxy requires authentication. Optional. |
proxyPassword | Proxy password, if the proxy requires authentication. Optional. |
When a proxy is required
Some challenge families are always IP-bound and only offer the proxy variant. For these you must supply proxy fields:
- Cloudflare Challenge (the full interstitial, cf_clearance)
- DataDome slider
- Kasada
- Akamai
- F5
- PerimeterX
- CaptchaFox
- Imperva reese84
Omitting proxy fields on these types returns ERROR_PROXY_REQUIRED.
Example
A Cloudflare Challenge task solving through an authenticated HTTP proxy:
proxy-task.json
{
"clientKey": "capzy_YOUR_KEY",
"task": {
"type": "AntiCloudflareTask",
"websiteURL": "https://example.com/account",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...",
"proxyType": "http",
"proxyAddress": "gate.provider.net",
"proxyPort": 7000,
"proxyLogin": "user-123",
"proxyPassword": "secret"
}
}Use residential for consumer anti-bots
Consumer-facing anti-bot systems score datacenter IPs harshly. For DataDome, PerimeterX, Kasada, and similar, solve through a clean residential or mobile proxy, and keep using that same exit for the requests that consume the token or cookie.Proxy errors
ERROR_PROXY_REQUIRED: the task type is IP-bound and needs proxy fields, but none were supplied. Switch to the proxy variant and include them.ERROR_NO_PROXY: proxy fields are missing or incomplete on a task that expects them. ProvideproxyType,proxyAddress, andproxyPort.ERROR_PROXY_CONNECT_REFUSED: Capzy could not connect to the proxy you gave. Verify the host, port, credentials, and that the proxy allows connections from Capzy.
See Errors for the full reference and Getting the result for the ip field that confirms the solve ran from your proxy.