# Página de verificación de Cloudflare (5 segundos)

> Supera con YesCaptcha la página de comprobación "Un momento…" de Cloudflare y obtén cookies como cf_clearance, el User-Agent y el contenido de la página. Parámetros de CloudFlareTaskS2 y CloudFlareTaskS3, requisitos del proxy, resultados, cómo usarlos y errores comunes.

Source: https://docs.yescaptcha.com/es/tasks/cloudflare-challenge/ · Last verified: 2026-10-19

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/tasks/cloudflare-challenge/

La página de verificación de Cloudflare es la página de comprobación que bloquea todo el sitio y muestra “Un momento…” o “Comprobando tu navegador”. YesCaptcha abre la página con el proxy que le indiques, supera la comprobación y devuelve cookies como `cf_clearance`, el User-Agent que usó, los encabezados de la solicitud y de la respuesta, y el HTML de la página una vez superada. `CloudFlareTaskS2` cuesta 25 puntos (≈ $3.75 / 1k) por tarea y `CloudFlareTaskS3` cuesta 20 puntos (≈ $3.00 / 1k) por tarea; los dos tipos tienen los mismos parámetros, resultados y efectividad, y solo cambia el precio. Es asíncrono: una tarea suele tardar entre 6 y 35 segundos, con diferencias notables según el sitio. Si la resolución falla o se agota el tiempo, se hace un reembolso de puntos automático.

- POST `https://api.yescaptcha.com/createTask` (Endpoint global)
- POST `https://cn.yescaptcha.com/createTask` (Endpoint China)

## Cuándo usarlo

-   El código fuente de la página contiene `__cf_chl_rt_tk` o `cdn-cgi/challenge-platform`, y el título es `Just a moment...` / “Un momento…”: es la página de verificación de Cloudflare. Las páginas de comprobación que piden marcar la casilla “Confirma que eres una persona” también se resuelven con esta página.
-   Si solo hay un cuadro de verificación de Cloudflare incrustado en un formulario, es [Turnstile](https://docs.yescaptcha.com/es/tasks/turnstile.md) y no necesitas esta página.
-   Si al hacer la solicitud con una librería como requests recibes un 403 con “Just a moment…” pero el navegador abre la página sin problema, lo más probable es que solo te bloqueen por la huella TLS. Usa una librería que imite la huella TLS de un navegador (como curl\_cffi) y podrás hacer la solicitud sin necesidad de superar la comprobación.

## Tipos y precios

| Tipo de tarea | Precio | Modo | Notas |
| --- | --- | --- | --- |
| `CloudFlareTaskS2` | $3.75 / 1k; 25 puntos/tarea · ¥25 / 1k | Asíncrono | Proxy propio |
| `CloudFlareTaskS3` | $3.00 / 1k; 20 puntos/tarea · ¥20 / 1k | Asíncrono | Proxy propio |

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

## Parámetros de la solicitud

| Campo | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `type` | string | Sí | Tipo de tarea; consulta "Tipos de tarea y precios" en esta página |
| `websiteURL` | string | Sí | URL completa de la página protegida por la verificación. Debe ser una URL pública que empiece por `http://` o `https://`; se rechazan las direcciones IP privadas y los nombres de host locales o internos como `localhost` |
| `proxy` | string | Sí | Proxy como una sola cadena: `http://user:pass@proxy.example.com:8080` (proxy HTTP, credenciales opcionales) o `socks5://proxy.example.com:1080` (sin credenciales). No se admiten proxies `https://` ni SOCKS5 con credenciales, y se rechazan las direcciones locales o privadas. Todas las solicitudes a la página de destino pasan por este proxy |
| `userAgent` | string | No | Normalmente omítelo. Solo se usa un User-Agent de Chrome de escritorio en Linux; cualquier otro (Windows, macOS, móvil, otros navegadores) se ignora. Usa siempre el `user_agent` del resultado en las solicitudes posteriores |
| `waitLoad` | boolean | No | Por defecto es false. Si es true, después de superar la verificación la tarea espera a que se estabilice la actividad de red de la página antes de devolver el resultado, así que `content` incluye más contenido cargado dinámicamente; tarda unos segundos más |
| `requiredCookies` | array | No | Nombres de las cookies que se deben obtener, como un arreglo de cadenas, p. ej. `["cf_clearance"]`. Si se envía, la tarea solo tiene éxito cuando se obtienen todas; de lo contrario devuelve `ERROR_CAPTCHA_UNSOLVABLE` y se reembolsan los puntos. Si se omite, la tarea igualmente intenta obtener `cf_clearance`, pero tiene éxito (y se cobran los puntos) con las otras cookies que haya obtenido, así que envíalo explícitamente si necesitas `cf_clearance` |
| `blockImage` | boolean | No | Si es true, no se cargan las imágenes de la página de destino (excepto las que necesita la propia verificación de Cloudflare), lo que ahorra tráfico del proxy |
| `postData` | object | No | Si se envía, se manda a `websiteURL` como un POST de formulario HTML normal (`application/x-www-form-urlencoded`): cada clave es un campo del formulario y los valores se envían como cadenas, p. ej. `{"name": "hi"}`. Debe ser un objeto |

### Requisitos del proxy

`proxy` es obligatorio, y todas las solicitudes para abrir la página de destino pasan por este proxy. `cf_clearance` está ligado a la IP de salida, así que después debes usar el mismo proxy para acceder al sitio de destino.

| Formato | ¿Compatible? |
| --- | --- |
| `http://user:pass@proxy.example.com:8080` | Sí: proxy http con usuario y contraseña |
| `http://proxy.example.com:8080` | Sí: proxy http sin usuario ni contraseña |
| `socks5://proxy.example.com:1080` | Sí: proxy socks5 sin usuario ni contraseña; `socks5h://` se trata como `socks5://` |
| `socks5://user:pass@proxy.example.com:1080` | No, devuelve `ERROR_PROXY_INCORRECT`; si necesitas usuario y contraseña, usa un proxy http |
| `https://proxy.example.com:443` u otros protocolos, o sin puerto | No, devuelve `ERROR_PROXY_INCORRECT` |
| Direcciones locales, de red interna o reservadas como `127.0.0.1`, `192.168.x.x`, `10.x.x.x`, o dominios que se resuelven a ellas | Se rechaza, devuelve `ERROR_PROXY_BANNED` |

> **Se comprueba al crear la tarea:** Si la URL o el proxy no son válidos, `createTask` devuelve el error de inmediato y no se cobran puntos. Si un mismo proxy no logra conectarse varias veces en poco tiempo, durante un tiempo las tareas creadas con él también devolverán directamente `ERROR_PROXY_BANNED`; cambia de proxy o inténtalo más tarde.

### User-Agent

Normalmente no envíes `userAgent`. Superamos la comprobación con Chrome de escritorio en Linux, así que solo se usa un User-Agent que también sea de Chrome de escritorio en Linux; cualquier otro (Windows, macOS, móvil u otros navegadores) se ignora: en las pruebas, Cloudflare no supera la comprobación cuando el entorno real del navegador no coincide con el User-Agent. En las solicitudes posteriores usa siempre el `user_agent` del resultado.

## Ejemplo de solicitud

POST https://api.yescaptcha.com/createTask

```json
{
  "clientKey": "YOUR_CLIENT_KEY",
  "task": {
    "type": "CloudFlareTaskS3",
    "websiteURL": "https://example.com/",
    "proxy": "http://user:pass@proxy.example.com:8080",
    "requiredCookies": ["cf_clearance"]
  }
}
```

-   Para usar `CloudFlareTaskS2`, cambia solo `type`; lo demás queda igual.
-   Si envías `requiredCookies` con `["cf_clearance"]` y no se obtiene `cf_clearance`, la tarea falla y se reembolsan los puntos. Si no lo envías, una tarea que no obtiene `cf_clearance` pero sí otras cookies también se considera exitosa y se cobran los puntos.
-   Para enviar un formulario, añade `postData`, por ejemplo `{"name": "hi"}`; se enviará a `websiteURL` como un formulario POST.

Tras crear la tarea, llama a `getTaskResult` cada 5 segundos; el flujo es igual que en las demás tareas asíncronas, consulta [getTaskResult](https://docs.yescaptcha.com/es/api/get-task-result.md).

## Resultado

```json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
    "cookies": {
      "cf_clearance": "Wq3vXk9...-1760860800-1.2.1.1-..."
    },
    "request_headers": {
      "accept-language": "en-US,en;q=0.9",
      "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"
    },
    "headers": {
      "content-type": "text/html; charset=UTF-8",
      "server": "cloudflare"
    },
    "content": "<!DOCTYPE html>..."
  }
}
```

El valor de la cookie y los encabezados de arriba son ilustrativos; usa lo que devuelva la API.

| Campo | Tipo | Descripción |
| --- | --- | --- |
| `cookies` | object | Todas las cookies del navegador después de pasar la verificación (objeto de nombre a valor), normalmente incluye `cf_clearance`; si envías `requiredCookies`, se incluyen todas ellas. Úsalas junto con el `user_agent` devuelto y el proxy que indicaste |
| `user_agent` | string | El User-Agent que el navegador usó realmente para pasar la verificación (Chrome de escritorio en Linux). `cf_clearance` está vinculado a él, así que úsalo en todas las solicitudes posteriores |
| `request_headers` | object | Encabezados de solicitud que el navegador envió en su última solicitud a la página de destino; reutilízalos en las solicitudes posteriores |
| `headers` | object | Encabezados de respuesta de la página de destino después de pasar la verificación |
| `content` | string | Código fuente HTML de la página de destino después de pasar la verificación |

## Cómo usar el resultado

1.  En las solicitudes posteriores usa **a la vez** las `cookies` devueltas, el `user_agent` devuelto y el mismo proxy que usaste al crear la tarea. `cf_clearance` está ligado al User-Agent y a la IP de salida; si cualquiera de los tres no coincide, volverá a aparecer la página de verificación.
2.  Envía los encabezados de `request_headers` en la medida de lo posible y usa una huella TLS acorde con la del navegador (por ejemplo, la opción `impersonate` de curl\_cffi).
3.  `cf_clearance` tiene un periodo de validez (lo define el sitio de destino; en algunos llega a 1 hora). Dentro de ese periodo no necesitas superar la comprobación otra vez; si envías solicitudes con demasiada frecuencia, Cloudflare puede bloquear tu IP.
4.  Si solo necesitas el contenido de la página, puedes usar `content` directamente y no hace falta solicitarla de nuevo.

## Errores comunes

Los errores devueltos al crear la tarea no se cobran; si la tarea falla o se agota el tiempo después de crearse, se hace un reembolso de puntos automático. La API solo devuelve el código de error y una descripción genérica; consulta la causa concreta en la tabla.

| Código de error | Cuándo se devuelve | Qué hacer |
| --- | --- | --- |
| `ERROR_REQUIRED_FIELDS` | Al crear la tarea: falta `websiteURL` o `proxy` | Añade los dos campos obligatorios |
| `ERROR_ILLEGAL_PARAMETERS` | Al crear la tarea: `websiteURL` no es una URL pública que empiece por `http://` o `https://`, `postData` no es un objeto, o `requiredCookies` no es un arreglo de cadenas. Al consultar el resultado: no se pudo resolver el dominio de la URL de destino a través del proxy | Corrige los parámetros; revisa la ortografía de la URL y si el proxy puede acceder al sitio |
| `ERROR_PROXY_INCORRECT` | Al crear la tarea: el formato del proxy es incorrecto, falta el puerto, o se usó un proxy `https://` o socks5 con usuario y contraseña | Corrígelo según el formato de “Requisitos del proxy”; si necesitas usuario y contraseña, usa un proxy http |
| `ERROR_PROXY_BANNED` | Al crear la tarea: el proxy es una dirección local, de red interna o reservada, o no logró conectarse varias veces en poco tiempo. Al consultar el resultado: Cloudflare del sitio de destino bloqueó directamente la IP de este proxy (páginas “Sorry, you have been blocked” o “Access denied”) | Cambia de proxy; cuanto mejor sea la calidad de la IP, más fácil es pasar |
| `ERROR_PROXY_CONNECT_REFUSED` | No se pudo conectar al proxy (conexión rechazada, no se resuelve el dominio del proxy), o la conexión fue rechazada o restablecida al abrir la página a través del proxy | Revisa la dirección y el puerto del proxy, y confirma que está en línea y permite acceso externo; si sigue fallando, cambia de proxy |
| `ERROR_PROXY_CONNECT_TIMEOUT` | Se agotó el tiempo al conectar con el proxy o al abrir la página a través de él | Usa un proxy más rápido y estable |
| `ERROR_PROXY_NOT_AUTHORISED` | El usuario o la contraseña del proxy son incorrectos | Revisa el usuario y la contraseña en `proxy`; codifica en URL los caracteres especiales |
| `ERROR_PROXY_TLS_ERROR` | Error en el handshake TLS al abrir la página a través del proxy | Confirma que la dirección, el puerto y el protocolo del proxy son correctos; si sigue fallando, cambia de proxy |
| `ERROR_CAPTCHA_UNSOLVABLE` | No se superó la comprobación en el tiempo establecido, la página seguía en la comprobación tras superarla, o no se obtuvo una cookie requerida en `requiredCookies` | Prueba primero con otro proxy; en sitios concretos puedes contactar con soporte |
| `ERROR_NO_SLOT_AVAILABLE` | Al crear la tarea: la cola está llena. Al consultar el resultado: la tarea esperó demasiado en la cola sin empezar, y se reembolsaron los puntos | Espera unos segundos y vuelve a crear la tarea |
| `ERROR_TASK_TIMEOUT` | La tarea no se completó en el tiempo establecido | Vuelve a crear la tarea; si los tiempos de espera se repiten, normalmente el proxy es demasiado lento |

Consulta todos los códigos de error en [Códigos de error](https://docs.yescaptcha.com/es/api/errors.md).

## Relacionado

-   [Identificar el tipo de captcha](https://docs.yescaptcha.com/es/guides/identify-captcha.md): la diferencia entre la página de verificación de Cloudflare y Turnstile
-   [Cloudflare Turnstile](https://docs.yescaptcha.com/es/tasks/turnstile.md)
