NeuroCaptcha

Task type

reCAPTCHA v3 Enterprise

RecaptchaV3EnterpriseTaskyour proxy

reCAPTCHA v3 has no widget: the site scores every action from 0.0 to 1.0. The API returns a token for the requested pageAction; minScore sets the score you need.

Enterprise variant: the site loads enterprise.js and may pass extra data in enterprisePayload — send it as is.

With your proxy: the task is solved through the proxy you pass, so the token matches your IP. Proxy credentials are deleted after solving.

Price

$2.00per 1,000 tasks

$0.002 per task

Get an API key

Live metrics, 24 h

Live metrics for this type will appear on the status page after launch.

Task parameters

ParameterTyperequiredTask parameters
typestringrequiredRecaptchaV3EnterpriseTask
websiteURLstringrequiredFull URL of the page with the captcha.
websiteKeystringrequiredSite key (data-sitekey or the k parameter of the anchor request).
minScorenumberoptionalScore you need from 0.1 to 0.9. Higher scores take longer.
pageActionstringoptionalAction name passed to grecaptcha.execute on the page.
enterprisePayloadobjectoptionalExtra Enterprise parameters, for example s, as an object.
apiDomainstringoptionalDomain the widget loads from: google.com or recaptcha.net.
userAgentstringoptionalUser-Agent to solve with; use the same one when submitting the token.
cookiesstringoptionalCookies for the target site in the key1=value1; key2=value2 format.
proxyTypestringrequiredhttp, socks4 or socks5.
proxyAddressstringrequiredProxy IP address or host (public addresses only).
proxyPortintegerrequiredProxy port.
proxyLoginstringoptionalProxy login, if the proxy requires authorisation.
proxyPasswordstringoptionalProxy password. Deleted after the task is solved.

Example

import time
import requests

API = "https://"
KEY = "YOUR_API_KEY"

# 1. create a task: the price is held, not charged
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "RecaptchaV3EnterpriseTask",
        "websiteURL": "https://example.com/login",
        "websiteKey": "6Le-SITE-KEY",
        "minScore": 0.7,
        "pageAction": "login",
        "proxyType": "http",
        "proxyAddress": "203.0.113.10",
        "proxyPort": 8080,
        "proxyLogin": "user",
        "proxyPassword": "pass",
    },
}).json()
if task["errorId"]:
    raise RuntimeError(task["errorCode"])

# 2. poll the result (or pass "callbackUrl" and get a signed webhook)
while True:
    time.sleep(3)
    res = requests.post(f"{API}/getTaskResult",
                        json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if res["errorId"]:
        raise RuntimeError(res["errorCode"])
    if res["status"] == "ready":
        print(res["solution"]["gRecaptchaResponse"])
        break

Other task types