Ir al contenido
EstadoPanel

Tipos de tarea

reCAPTCHA v2

Esta página se tradujo automáticamente de la versión en chino y puede contener errores. Prevalece la versión en chino.

IlustraciónreCAPTCHA v2: una casilla "No soy un robot". Al hacer clic, se marca de inmediato o se abre un desafío de imágenes.

Una tarea de reCAPTCHA v2 devuelve un token (gRecaptchaResponse) que envías al sitio de destino para pasar la verificación, sin necesidad de hacer clic en imágenes. El tipo más usado, NoCaptchaTaskProxyless, cuesta 15 puntos (≈ $2.25 / 1k) por tarea y es asíncrono: crea la tarea con createTask y luego llama a getTaskResult cada 5 segundos para obtener el resultado. Las tareas fallidas o que superan el tiempo de espera reciben un reembolso de puntos automático.

POSThttps://api.yescaptcha.com/createTaskEndpoint global
POSThttps://cn.yescaptcha.com/createTaskEndpoint China

El cuerpo de la solicitud es JSON y se autentica con tu clientKey (cópiala desde el Panel de yescaptcha.com). Consulta el resultado en el mismo endpoint en el que creaste la tarea.

  • La página muestra la casilla “No soy un robot” (I’m not a robot): versión con casilla.
  • No hay casilla y el desafío con imágenes aparece solo después de pulsar el botón de envío: versión invisible. Añade "isInvisible": true.
  • La página carga recaptcha/enterprise.js, o las URL de las solicitudes contienen enterprise: versión Enterprise. Usa un tipo con Enterprise en el nombre.

Si no estás seguro de cuál es, consulta Identificar el tipo de captcha. Si los tokens no pasan con la frecuencia suficiente, prueba el reconocimiento de imágenes de reCAPTCHA v2: la API te indica qué imágenes pulsar y tú haces clic en ellas en el navegador.

Tipo de tareaPrecioModoNotas
NoCaptchaTaskProxyless$2.25 / 1k; 15 puntos/tarea · ¥15 / 1kAsíncrono
RecaptchaV2TaskProxyless$3.00 / 1k; 20 puntos/tarea · ¥20 / 1kAsíncronoMismos parámetros que NoCaptchaTaskProxyless en una ruta distinta; puedes usar cualquiera de los dos como respaldo
NoCaptchaTask$2.25 / 1k; 15 puntos/tarea · ¥15 / 1kAsíncronoProxy propio
RecaptchaV2EnterpriseTaskProxyless$3.00 / 1k; 20 puntos/tarea · ¥20 / 1kAsíncrono
RecaptchaV2EnterpriseTask$3.00 / 1k; 20 puntos/tarea · ¥20 / 1kAsíncronoProxy propio

Los precios en dólares son estimaciones con US$1 ≈ ¥6.67; las tareas se cobran en puntos.

  • NoCaptchaTaskProxyless y RecaptchaV2TaskProxyless tienen los mismos parámetros y distinta ruta. Si uno no pasa con la frecuencia suficiente, prueba el otro.
  • Los tipos sin Proxyless en el nombre (NoCaptchaTask, RecaptchaV2EnterpriseTask) cargan el captcha a través de tu propio proxy y requieren proxyType, proxyAddress, proxyPort y otros campos. Úsalos cuando el sitio de destino compruebe la IP del visitante.

Campos del objeto task en createTask:

CampoTipoObligatorioDescripción
typestringSíTipo de tarea; consulta "Tipos de tarea y precios" en esta página
websiteURLstringSíURL completa de la página que muestra el captcha. Usa el sitio donde ves el captcha, no el dominio del proveedor del captcha
websiteKeystringSíLa clave del sitio (sitekey), que se encuentra en el código fuente de la página o en las solicitudes de red; normalmente no cambia
isInvisiblebooleanNoEnvía true para la variante invisible; en otro caso, omítelo
proxyTypestringAlgunos tiposProtocolo del proxy: http, https, socks4 o socks5 (Obligatorio para NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyAddressstringAlgunos tiposDirección IP o nombre de host del proxy. Las direcciones locales o privadas como 127.0.0.1 o 192.168.x.x no funcionan porque nuestros servidores no pueden acceder a ellas (Obligatorio para NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyPortintegerAlgunos tiposPuerto del proxy (Obligatorio para NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyLoginstringNoUsuario del proxy, si el proxy requiere autenticación (solo NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyPasswordstringNoContraseña del proxy, si el proxy requiere autenticación (solo NoCaptchaTask, RecaptchaV2EnterpriseTask)
userAgentstringNoUser-Agent del navegador. Si el resultado contiene un userAgent, usa ese valor al enviar el token (solo NoCaptchaTask, RecaptchaV2EnterpriseTask)
enterprisePayloadobjectNoParámetros adicionales de la versión Enterprise, como el valor s de reCAPTCHA Enterprise: {"s": "..."}. Omítelo si la página no lo usa (solo RecaptchaV2EnterpriseTaskProxyless, RecaptchaV2EnterpriseTask)

Para encontrar websiteURL y websiteKey, consulta Encontrar los parámetros de reCAPTCHA.

Con la página de demostración oficial de Google:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}

Código completo que crea la tarea, consulta cada 5 segundos e imprime el token. Antes de ejecutarlo, guarda tu ClientKey en la variable de entorno YESCAPTCHA_CLIENT_KEY:

curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'

Para la versión Enterprise, si la página pasa un valor s a reCAPTCHA, colócalo en enterprisePayload:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "RecaptchaV2EnterpriseTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "SITE_KEY_OF_THE_PAGE",
"enterprisePayload": {
"s": "S_VALUE_FROM_THE_PAGE"
}
}
}

Con tu propio proxy:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTask",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"proxyType": "http",
"proxyAddress": "proxy.example.com",
"proxyPort": 8080,
"proxyLogin": "user",
"proxyPassword": "pass"
}
}

createTask devuelve un ID de tarea:

{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Úsalo para llamar a getTaskResult. Mientras la tarea sigue en proceso, recibes {"errorId": 0, "status": "processing"}; consulta de nuevo 5 segundos después. Cuando termina, devuelve:

{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..."
}
}
CampoTipoDescripción
gRecaptchaResponsestringEl token que debes enviar al sitio de destino. De un solo uso, válido durante unos 120 segundos; úsalo en un plazo de 60 segundos

Una tarea se procesa durante un máximo de unos 110 segundos; pasado ese tiempo devuelve ERROR_TASK_TIMEOUT y se reembolsan los puntos. Cuando hay un error, errorId es 1; gestiónalo según errorCode, como se describe en Códigos de error. Para saber cómo enviar el token, consulta Completar reCAPTCHA con un token.

¿Por qué los tokens de un mismo sitio a veces pasan y a veces no?

Sección titulada «¿Por qué los tokens de un mismo sitio a veces pasan y a veces no?»

Lo decide el sitio de destino. Puntúa cada verificación y aplica un umbral que puede cambiar en cualquier momento, por lo que la tasa de éxito varía según el sitio y no todos los tokens pasan. Puedes comparar con otro tipo de tarea del mismo captcha o cambiar al reconocimiento de imágenes.

Es de un solo uso y es válido durante unos 120 segundos. Envíalo en los 60 segundos posteriores a recibirlo. Google establece este límite.

¿Se cobran puntos si falla el reconocimiento?

Sección titulada «¿Se cobran puntos si falla el reconocimiento?»

No. Las tareas que devuelven ERROR_CAPTCHA_UNSOLVABLE o superan el tiempo de espera reciben un reembolso de puntos automático. Consulta Facturación y reembolsos.