Proxy Configuration
Some CAPTCHAs validate that the solver’s IP address matches the end user’s IP. In these cases, you need to provide a proxy so the solving provider can appear to come from the correct IP. This page explains when and how to configure proxies.
When to Use Proxies
Section titled “When to Use Proxies”Most CAPTCHA types do not require proxies. The ProxyLess task variants handle everything server-side and are recommended for the majority of use cases.
You should use proxy task variants when:
- The target website performs IP matching between CAPTCHA solving and form submission
- You are working with CAPTCHAs that enforce strict session-IP binding
- The target website blocks known datacenter IPs from solving providers
ProxyLess vs Proxy Task Variants
Section titled “ProxyLess vs Proxy Task Variants”Each CAPTCHA type that supports proxies has two task type variants:
| Variant | Example Type | Proxy Required |
|---|---|---|
| ProxyLess | ReCaptchaV2TokenProxyLess | No |
| Proxy | ReCaptchaV2Token | Yes |
ProxyLess (recommended):
- No proxy configuration needed
- The solving provider uses its own infrastructure
- Lower cost, higher success rate in most cases
- Works for the vast majority of websites
Proxy:
- You supply proxy credentials in the task object
- The solving provider routes through your proxy
- Required when the target site performs IP matching
- Slightly higher cost and solve time due to proxy overhead
Proxy Parameters
Section titled “Proxy Parameters”When using a proxy task variant, include these fields in the task object:
| Parameter | Type | Required | Description |
|---|---|---|---|
proxyType | string | Yes | Protocol: http, socks4, or socks5 |
proxyAddress | string | Yes | IP address or hostname of the proxy |
proxyPort | integer | Yes | Port number |
proxyLogin | string | No | Username for authenticated proxies |
proxyPassword | string | No | Password for authenticated proxies |
Example: reCAPTCHA v2 with Proxy
Section titled “Example: reCAPTCHA v2 with Proxy”{ "clientKey": "YOUR_API_KEY", "task": { "type": "ReCaptchaV2Token", "websiteURL": "https://example.com", "websiteKey": "SITE_KEY", "proxyType": "http", "proxyAddress": "1.2.3.4", "proxyPort": 8080, "proxyLogin": "user", "proxyPassword": "pass" }}Example: hCaptcha with SOCKS5 Proxy
Section titled “Example: hCaptcha with SOCKS5 Proxy”{ "clientKey": "YOUR_API_KEY", "task": { "type": "HardCaptchaToken", "websiteURL": "https://example.com", "websiteKey": "SITE_KEY", "proxyType": "socks5", "proxyAddress": "proxy.example.com", "proxyPort": 1080, "proxyLogin": "user", "proxyPassword": "pass" }}Legacy API Proxy Format
Section titled “Legacy API Proxy Format”For 2captcha-compatible endpoints (/in.php), pass proxy information as query parameters:
https://api.ucaptcha.net/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=https://example.com&proxy=user:pass@1.2.3.4:8080&proxytype=HTTPThe proxy parameter format is login:password@address:port or address:port for unauthenticated proxies. The proxytype parameter accepts HTTP, SOCKS4, or SOCKS5.
Proxy Best Practices
Section titled “Proxy Best Practices”Use residential proxies. Residential IPs have the highest success rate because they appear as real users. Datacenter proxies are frequently detected and blocked by CAPTCHA providers.
Avoid free or public proxies. They are slow, unreliable, and likely already blacklisted by most CAPTCHA systems.
Rotate proxies for high volume. Sending too many CAPTCHA solving requests through a single proxy IP can trigger rate limits or bans on the target website.
Match proxy location to your target. If the target website is region-specific, use a proxy in the same geographic region to avoid location-based validation failures.
Test your proxies independently. Before blaming the CAPTCHA solver, verify that your proxy is accessible and returns a valid response through the target website. Common issues include:
- Proxy is offline or unreachable
- Authentication credentials are incorrect
- Proxy is rate-limited or banned by the target
- Proxy type mismatch (e.g., sending HTTP traffic to a SOCKS proxy)