Solve reCaptcha V3
This type of task object is required to solve Google Recaptcha V3 on a worker's computer. This task is executed by our service using our own proxy servers and/or workers' IP addresses.
Please note that there's a difference between reCaptcha V2-invisible and reCaptcha V3. They look the same, and it might be confusing. There's a quick way to determine the correct type: try solving it with our API as V2-invisible and V3. In one of your attempts, you'll get an error, and in the other you won't.
We test our workers for their reCaptcha "score" and put them in 3 groups (queues): 0.3, 0.7 and 0.9. Each might have slightly different pricing due to the number of idle workers. By passing property "minScore", you define which queue your task goes into. Most of our available workers have a score of 0.3, and the minority have 0.9.
Task object
Property | Type | Required | Purpose |
---|---|---|---|
type | String | Yes | RecaptchaV3TaskProxyless |
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 | Recaptcha website key. Learn how to find it in this article. |
minScore | Double | Yes | Filters workers with a particular score. It can have one of the following values: 0.3 0.7 0.9 |
pageAction | String | No | Recaptcha's "action" value. Website owners use this parameter to define what users are doing on the page. Example: grecaptcha.execute('site_key', {action:'login_test'}) |
isEnterprise | Boolean | No | Set this flag to "true" if you need this V3 solved with Enterprise API. Default value is "false" and the reCaptcha is solved with non-enterprise API. Can be determined by a javascript call, as in the following example: grecaptcha.enterprise.execute('site_key', {..}) |
apiDomain | String | No | Use this parameter to send the domain name from which the reCaptcha script should be served. Can have only one of two values: "www.google.com" or "www.recaptcha.net". Do not use this parameter unless you understand what you are doing. |
Request example
#pip3 install anticaptchaofficial
from anticaptchaofficial.recaptchav3proxyless import *
solver = recaptchaV3Proxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("SITE_KEY")
solver.set_page_action("home_page")
solver.set_min_score(0.9)
# 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. |
Response example
{
"errorId":0,
"status":"ready",
"solution":
{
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}