Solve HCaptcha with a proxy
Hcaptcha devs call their captcha "a drop-in replacement for Recaptcha". We tried to create the same thing in our API, so task properties are absolutely the same as in RecaptchaV2Task except for the "type" property.
Related tutorial: Start from scratch and submit the form with Recaptcha v2 using NodeJS.
Important notice about User-Agent value. Previously it was possible to specify your own User-Agent for the tasks, but this had changed. Instead we provide the worker's user-agent which you need to use to bypass paid version of Hcaptcha. This was changed because nowadays it is almost impossible to emulate an alien user-agent in another platform, for example Chrome user-agent in Firefox. Browsers have large number of secondary artefacts besides navigator.userAgent, which belong specifically to one or another platform.

Captcha example
Task object
Property | Type | Required | Purpose | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | String | Yes | HCaptchaTask | ||||||||||||||||||||||||
websiteURL | String | Yes | Address of a target web page. Can be located anywhere on the web site, even in a member area. Our workers don't navigate there but simulate the visit instead. | ||||||||||||||||||||||||
websiteKey | String | Yes | hCaptcha sitekey | ||||||||||||||||||||||||
proxyType | String | Yes | Type of proxy http - usual http/https proxy socks4 - socks4 proxy socks5 - socks5 proxy | ||||||||||||||||||||||||
proxyAddress | String | Yes | Proxy IP address ipv4/ipv6. No host names or IP addresses from local networks. | ||||||||||||||||||||||||
proxyPort | Integer | Yes | Proxy port | ||||||||||||||||||||||||
proxyLogin | String | No | Login for proxy which requires authorization (basic) | ||||||||||||||||||||||||
proxyPassword | String | No | Proxy password | ||||||||||||||||||||||||
Deprecated. Instead, use User-Agent from our workers which is returned by "getTaskResult" method. | |||||||||||||||||||||||||||
isInvisible | Boolean | No | Specify whether or not Hcaptcha is invisible. This will render an appropriate widget for our workers. | ||||||||||||||||||||||||
enterprisePayload | Object | No | Additional parameters which we'll use to rfeature3,ender Hcaptcha widget for Enterprise version.
|
Request example
Python
Javascript
PHP
Java
C#
bash
#pip3 install anticaptchaofficial
from anticaptchaofficial.hcaptchaproxyon import *
solver = hCaptchaProxyon()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://hcaptcha.com/")
solver.set_website_key("00000000-0000-0000-0000-000000000000")
solver.set_proxy_address("PROXY_ADDRESS")
solver.set_proxy_port(1234)
solver.set_proxy_login("proxylogin")
solver.set_proxy_password("proxypassword")
solver.set_user_agent("Mozilla/5.0")
solver.set_cookies("test=true")
# tell API that Hcaptcha is invisible
#solver.set_is_invisible(1)
# set here parameters like rqdata, sentry, apiEndpoint, endpoint, reportapi, assethost, imghost
#solver.set_enterprise_payload({
# "rqdata": "rq data value from target website",
# "sentry": True
#})
# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)
g_response = solver.solve_and_return_solution()
if g_response != 0:
print "g-response: "+g_response
else:
print "task finished with error "+solver.error_code
Task solution object
Property | Type | Purpose |
---|---|---|
gRecaptchaResponse | String | Token string required for interacting with the submit form on the target website. |
respKey | String | Output of "window.hcaptcha.getRespKey()" function when it is available. Some websites use it for additional verification. |
userAgent | String | User-Agent of worker's browser. Use it when you submit the response token. |
Response example
{
"errorId":0,
"status":"ready",
"solution":
{
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3......",
"respKey":"E0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoiQk5vb1JuZ0FPSHBCM2EyWURSSC......",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}