NeuroCaptcha

Task type

reCAPTCHA v3 Enterprise

RecaptchaV3EnterpriseTaskProxylessproxyless

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.

Proxyless: we solve from our own infrastructure. Best when the target does not bind the token to an IP.

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
typestringrequiredRecaptchaV3EnterpriseTaskProxyless
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.

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": "RecaptchaV3EnterpriseTaskProxyless",
        "websiteURL": "https://example.com/login",
        "websiteKey": "6Le-SITE-KEY",
        "minScore": 0.7,
        "pageAction": "login",
    },
}).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