Ir al contenido
EstadoPanel

Tipos de tarea

Cloudflare Turnstile

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

IlustraciónTurnstile está dentro de un formulario. La mayoría de las veces se verifica solo y muestra una marca de verificación; la página no cambia.

Una tarea de Cloudflare Turnstile devuelve un token (token) que envías al sitio de destino para superar la verificación. TurnstileTaskProxyless cuesta 25 puntos (≈ $3.75 / 1k) por tarea y es asíncrona: primero createTask y después getTaskResult cada 5 segundos. Si la tarea falla o expira, se hace 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 clientKey. Consulta el resultado en el mismo endpoint en el que creaste la tarea.

Un formulario de la página incluye el cuadro de verificación de Cloudflare (“Confirma que eres humano”) y la página carga el script de challenges.cloudflare.com/turnstile.

Si Cloudflare bloquea toda la página y muestra “Un momento…” o “Verificando su navegador”, se trata de la página de verificación de Cloudflare, no de Turnstile; usa página de verificación de Cloudflare. Consulta las diferencias en Identificar el tipo de captcha.

Tipo de tareaPrecioModoNotas
TurnstileTaskProxyless$3.75 / 1k; 25 puntos/tarea · ¥25 / 1kAsíncrono
TurnstileTaskProxylessM1$4.50 / 1k; 30 puntos/tarea · ¥30 / 1kAsíncrono
TurnstileTask$3.75 / 1k; 25 puntos/tarea · ¥25 / 1kAsíncronoProxy propio

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

  • TurnstileTaskProxyless y TurnstileTaskProxylessM1 tienen los mismos parámetros y distinta ruta; puedes usar uno como respaldo del otro.
  • TurnstileTask carga el captcha con tu propio proxy y requiere los campos de proxy.
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) de Turnstile, normalmente empieza por 0x
pageActionstringNoLa action que la página pasa a Turnstile (una opción de turnstile.render, o data-action en el elemento del widget), p. ej. login. No es necesaria en la mayoría de los casos; agrégala solo cuando las tareas sigan fallando
datastringNoEl cData que la página pasa a Turnstile (una opción de turnstile.render, o data-cdata en el elemento del widget), p. ej. c0bd4b36-7419-4e18-83c6-378699f2a9a2. No es necesario en la mayoría de los casos; agrégalo solo cuando las tareas sigan fallando
proxyTypestringAlgunos tiposProtocolo del proxy: http, https, socks4 o socks5 (Obligatorio para TurnstileTask)
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 TurnstileTask)
proxyPortintegerAlgunos tiposPuerto del proxy (Obligatorio para TurnstileTask)
proxyLoginstringNoUsuario del proxy, si el proxy requiere autenticación (solo TurnstileTask)
proxyPasswordstringNoContraseña del proxy, si el proxy requiere autenticación (solo TurnstileTask)
userAgentstringNoUser-Agent del navegador. Si el resultado contiene un userAgent, usa ese valor al enviar el token (solo TurnstileTask)

websiteKey suele empezar por 0x. Para saber cómo encontrarlo, consulta Encontrar los parámetros de Turnstile.

En la gran mayoría de los casos basta con websiteURL y websiteKey, y no necesitas estos dos parámetros. Si estás seguro de que websiteURL y websiteKey son correctos y la tarea sigue sin pasar, revisa si la página pasa action y cData a Turnstile (opciones de turnstile.render, o data-action y data-cdata en el elemento del cuadro de verificación). Si los pasa, envíalos tal cual:

  • pageAction: el action de la página, por ejemplo login
  • data: el cData de la página, por ejemplo c0bd4b36-7419-4e18-83c6-378699f2a9a2
POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY",
"pageAction": "login",
"data": "c0bd4b36-7419-4e18-83c6-378699f2a9a2"
}
}
POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY"
}
}
curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY"
}
}'
# 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"}'

Sustituye websiteURL y websiteKey por los valores del sitio de destino.

{
"errorId": 0,
"status": "ready",
"solution": {
"token": "0.ufq5RgSVZd11DPSX1brdrxnEs28KcVlKj2ORchqxSy2q9yAW6ciq3hriXDF4x...",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"
}
}
CampoTipoDescripción
tokenstringEl token que debes enviar al sitio de destino. De un solo uso; envíalo lo antes posible
userAgentstringEl User-Agent usado para obtener el token. Usa este valor al enviar el token, aunque sea distinto del que enviaste

Coloca el token en el campo cf-turnstile-response de la página (o en el campo que exija la API del sitio de destino) y envíalo, usando como User-Agent el userAgent devuelto.

Mientras se procesa, la respuesta es {"errorId": 0, "status": "processing"}; vuelve a consultar 5 segundos después. Si hay un error, gestiónalo según errorCode; consulta Códigos de error.

Es de un solo uso. Te recomendamos enviarlo lo antes posible tras obtenerlo (los tokens de Turnstile suelen caducar en pocos minutos, según lo decide Cloudflare).

Tras el envío, el sitio sigue sin aceptarlo

Sección titulada «Tras el envío, el sitio sigue sin aceptarlo»

Comprueba que websiteURL sea la página donde aparece el cuadro de verificación, que websiteKey sea correcto y que en el envío uses el userAgent devuelto. Si la página pasa action y cData, envíalos como pageAction y data; consulta Si la tarea no pasa más arriba. Si el sitio también comprueba la IP, usa TurnstileTask y haz el envío a través del mismo proxy.