Comparativas

reCAPTCHA Enterprise vs Standard: diferencias clave

Respuesta corta para quien automatiza: si ya resuelves reCAPTCHA con CaptchaAI, pasar de Standard a Enterprise no te obliga a reescribir nada. Basta con añadir enterprise=1 a la solicitud; el método, el sitekey y la URL de la página se envían igual.

Lo demás son diferencias del lado del sitio: la Standard es gratuita y la Enterprise, de pago, añade códigos de motivo, umbrales configurables, gestión por proyectos e integración con las herramientas de Google Cloud. Aquí tienes qué cambia, cómo detectar cada una y cómo resolver ambas con la misma API.


reCAPTCHA Standard vs Enterprise: en qué se diferencian

Característica Standard Enterprise
Precio Gratis (hasta 1 millón de evaluaciones/mes) $1 por cada 1.000 evaluaciones (1K–100K/mes), con precio escalonado por encima
Rango de puntuación 0.0–1.0 0.0–1.0
Códigos de motivo No Sí (AUTOMATION, UNEXPECTED_ENVIRONMENT, etc.)
Umbrales personalizados No (los fijas en tu código) Sí (configurables por acción en la consola)
Gestión por proyectos No Sí (Google Cloud Console)
Endpoint de verificación siteverify recaptchaenterprise.googleapis.com
Detección de fugas de contraseña No
Account Defender No
Autenticación multifactor No Sí (integración con WAF)
Compatibilidad con v2
Compatibilidad con v3

Por qué un sitio migra a reCAPTCHA Enterprise

Para el usuario final la experiencia es casi idéntica; el cambio ocurre en el panel de seguridad. Motivos habituales:

Motivo Qué cambia
Integración con WAF reCAPTCHA se conecta con el WAF de Cloudflare o Akamai
Analíticas detalladas El panel muestra tendencias de riesgo y patrones de ataque
Reglas personalizadas Umbrales distintos por acción
Cumplimiento SLA empresarial y opciones de residencia de datos
Protección de cuentas Detección de fugas de contraseñas y de apropiación de cuentas

Un caso típico: una fintech en México o España añade reCAPTCHA Enterprise a su login para activar Account Defender y la detección de fugas de contraseñas. Si automatizas pruebas contra ese login, lo notarás enseguida: el api.js de siempre pasa a enterprise.js y tu suite de QA falla hasta que ajustas la integración.


Diferencias en la puntuación de riesgo

Ambas versiones devuelven una puntuación de 0.0 a 1.0, pero Enterprise añade contexto.

Respuesta de Standard

{
  "success": true,
  "score": 0.7,
  "action": "login",
  "challenge_ts": "2024-01-15T12:00:00Z",
  "hostname": "example.com"
}

Respuesta de Enterprise

{
  "tokenProperties": {
    "valid": true,
    "action": "login",
    "createTime": "2024-01-15T12:00:00Z",
    "hostname": "example.com"
  },
  "riskAnalysis": {
    "score": 0.7,
    "reasons": ["LOW_CONFIDENCE_SCORE"],
    "extendedVerdictReasons": []
  },
  "event": {
    "token": "...",
    "siteKey": "...",
    "expectedAction": "login"
  }
}

El array reasons de Enterprise indica al sitio por qué la puntuación es la que es, lo que permite decisiones de seguridad más afinadas. La respuesta se reparte en tres bloques:

  • tokenProperties: validez del token, la acción registrada y el hostname.
  • riskAnalysis: la puntuación y el array reasons con los motivos.
  • event: el token, el siteKey y la acción esperada.

La puntuación en sí sigue el mismo rango, así que tu lógica de umbrales no cambia por el simple hecho de migrar.


Cómo saber si una página usa Enterprise

Desde fuera no puedes distinguirlas por el token —el formato es idéntico—; la pista está en el código de la página:

Indicador Standard Enterprise
URL del script google.com/recaptcha/api.js google.com/recaptcha/enterprise.js
Función de ejecución grecaptcha.execute() grecaptcha.enterprise.execute()
API de verificación endpoint siteverify recaptchaenterprise.googleapis.com
Consola consola de administración de reCAPTCHA Google Cloud Console

Mira la fuente de la página y busca el <script> que carga:

// Standard
<script src="https://www.google.com/recaptcha/api.js?render=SITEKEY"></script>

// Enterprise
<script src="https://www.google.com/recaptcha/enterprise.js?render=SITEKEY"></script>

Cómo resolver Standard y Enterprise con CaptchaAI

El patrón es el mismo para las cuatro combinaciones. La única variación es el flag enterprise y, en v3, el action.

reCAPTCHA v3 Standard

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY, "method": "userrecaptcha", "version": "v3",
    "googlekey": SITEKEY, "action": "login", "pageurl": URL, "json": 1
})

reCAPTCHA v3 Enterprise

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY, "method": "userrecaptcha", "version": "v3",
    "enterprise": 1,  # Only difference
    "googlekey": SITEKEY, "action": "login", "pageurl": URL, "json": 1
})

reCAPTCHA v2 Standard

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY, "method": "userrecaptcha",
    "googlekey": SITEKEY, "pageurl": URL, "json": 1
})

reCAPTCHA v2 Enterprise

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY, "method": "userrecaptcha",
    "enterprise": 1,
    "googlekey": SITEKEY, "pageurl": URL, "json": 1
})

Configuración de navegador para tu pipeline de QA

Usa la misma configuración de navegador en tus entornos de QA, staging y CI. Así evitas que un test pase en local y falle en CI sin motivo aparente.

from selenium import webdriver

def make_driver(headless: bool = True) -> webdriver.Chrome:
    options = webdriver.ChromeOptions()
    if headless:
        options.add_argument('--headless=new')
    options.add_argument('--window-size=1280,800')
    options.add_argument('--lang=es-ES')
    return webdriver.Chrome(options=options)

Mantén viewport, idioma y user-agent idénticos en todos los runners: reduce la varianza entre ejecuciones de tu propio QA.

Cómo encaja CaptchaAI en tu propio pipeline

El patrón de integración es siempre el mismo, sea cual sea tu lenguaje o framework de pruebas:

  1. Tu test detecta el widget de CAPTCHA en tu propia aplicación de QA o staging.
  2. Tu test envía a CaptchaAI los datos públicos del widget (sitekey, URL de la página, tipo de CAPTCHA).
  3. CaptchaAI devuelve un token válido para esa página.
  4. Tu test inyecta ese token en el campo correspondiente y envía el formulario.
  5. Tu backend verifica el token con el proveedor de CAPTCHA, igual que con un usuario real.

Este flujo se aplica solo a integraciones que tú controlas; no sirve para sortear protecciones de terceros.

Métricas que conviene registrar

Instrumenta los pasos relacionados con CAPTCHA en tus pipelines de QA para detectar regresiones antes de que lleguen a producción:

  • Tiempo de resolución por intento — desde la solicitud a CaptchaAI hasta la entrega del token.
  • Tasa de éxito por endpoint propio — cuántas verificaciones del backend pasan respecto al total de intentos.
  • Distribución de errores — agrupados por código (ERROR_*, timeouts internos, fallos de red).
  • Latencia de extremo a extremo — render de la página, resolución del CAPTCHA y respuesta de tu backend.

Conserva las trazas (logs, capturas, HAR) para reproducir incidentes intermitentes.

Buenas prácticas en tu entorno de QA

  • Prueba siempre sobre tu propia aplicación o sobre entornos explícitamente autorizados.
  • Usa una API key de CaptchaAI separada para QA, distinta de la de producción.
  • Define timeouts y reintentos razonables (backoff exponencial) para no acumular trabajos durante caídas.
  • Versiona tus snapshots de configuración (sitekey, action, umbrales) junto al código de los tests.
  • Revisa el changelog de tu proveedor de CAPTCHA para anticipar cambios que afecten a tu integración.

Solución de problemas frecuentes

Síntoma Acción recomendada
El test no detecta el widget Revisa los selectores y los tiempos en tu entorno de staging
CaptchaAI devuelve ERROR_NO_SLOT_AVAILABLE Reintenta con backoff en tu pipeline interno
La validación del backend rechaza el token Compara action y sitekey con tu configuración real
El test funciona en local pero falla en CI Iguala viewport, idioma y user-agent en ambos entornos
Tiempos de resolución muy variables Revisa la concurrencia y los límites de tu API key de CaptchaAI

Preguntas frecuentes

Las dudas más habituales cuando automatizas contra un login que pasó de Standard a Enterprise:

¿Tengo que cambiar mi código para resolver Enterprise en lugar de Standard?

Casi nada. Con CaptchaAI, la única diferencia es añadir enterprise=1 (o "enterprise": 1) a la solicitud; el método userrecaptcha, el sitekey y la URL de la página se envían igual.

¿CaptchaAI resuelve reCAPTCHA v2 Enterprise además de v3 Enterprise?

Sí. Tanto v2 como v3 tienen variante Enterprise y ambas usan el mismo flag enterprise=1 sobre el método userrecaptcha. Con el mismo patrón cubres las cuatro combinaciones:

  • reCAPTCHA v2 Standard y v2 Enterprise.
  • reCAPTCHA v3 Standard y v3 Enterprise (v3 añade el action).

¿El precio de mi plan cambia según sea Standard o Enterprise?

No. CaptchaAI cobra por threads concurrentes, no por resolución ni por tipo de CAPTCHA, así que resolver Enterprise o Standard consume lo mismo dentro de tu plan. Los planes empiezan en BASIC ($15/mes, 5 threads) y escalas los threads a medida que crece tu volumen.

¿Puedo saber si una página usa Enterprise solo con el token de respuesta?

No. El formato del token es idéntico. Para distinguirlas, busca enterprise.js (en vez de api.js) en el código de la página.

Guías relacionadas

Valida tus integraciones de CAPTCHA en entornos propios con CaptchaAI.

Los comentarios están deshabilitados para este artículo.