Tipo de tarea
reCAPTCHA v2
RecaptchaV2Taskproxy propio
reCAPTCHA v2 es la casilla «No soy un robot» y su variante invisible. La API devuelve un token gRecaptchaResponse que se envía junto con el formulario de la página.
Con su proxy: la tarea se resuelve a través del proxy que indique, por lo que el token coincide con su IP. Las credenciales del proxy se eliminan tras la resolución.
Métricas en vivo, 24 h
Las métricas en vivo de este tipo aparecerán en la página de estado tras el lanzamiento.
Parámetros de la tarea
| Parámetro | Tipo | obligatorio | Parámetros de la tarea |
|---|---|---|---|
type | string | obligatorio | RecaptchaV2Task |
websiteURL | string | obligatorio | URL completa de la página con el captcha. |
websiteKey | string | obligatorio | Clave del sitio (data-sitekey o el parámetro k de la solicitud anchor). |
isInvisible | boolean | opcional | true para el reCAPTCHA v2 invisible (sin casilla). |
recaptchaDataSValue | string | opcional | Valor de data-s, si la página lo usa (algunos servicios de Google). |
userAgent | string | opcional | User-Agent con el que se resuelve; use el mismo al enviar el token. |
cookies | string | opcional | Cookies del sitio de destino en formato key1=value1; key2=value2. |
proxyType | string | obligatorio | http, socks4 o socks5. |
proxyAddress | string | obligatorio | Dirección IP o host del proxy (solo direcciones públicas). |
proxyPort | integer | obligatorio | Puerto del proxy. |
proxyLogin | string | opcional | Usuario del proxy, si requiere autenticación. |
proxyPassword | string | opcional | Contraseña del proxy. Se elimina tras resolver la tarea. |
Ejemplo
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": "RecaptchaV2Task",
"websiteURL": "https://example.com/login",
"websiteKey": "6Le-SITE-KEY",
"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
Otros tipos de tareas
- reCAPTCHA v2
RecaptchaV2TaskProxyless0,60 US$ - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskProxyless1,50 US$ - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTask1,50 US$ - reCAPTCHA v3
RecaptchaV3TaskProxyless0,90 US$ - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskProxyless2,00 US$ - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTask2,00 US$