API para resolver CAPTCHA
EverySolve es una API de resolución de CAPTCHA con 52 tipos de desafío en su catálogo. Envía una solicitud POST /api/v1/captcha con el tipo y las entradas obligatorias. El formato de resultado depende del tipo. Solo queda un cargo final cuando la solución se entrega correctamente; si no, cualquier importe reservado se restaura automáticamente.
Cómo identificar el tipo de desafío
Empieza por la señal más clara de la página. En la mayoría de las integraciones puedes identificar el tipo a partir del script cargado y de los atributos del contenedor antes de enviar una solicitud.
- 01Inspecciona los scripts que carga la página. Una URL de script específica del desafío suele ser la señal más clara.
- 02Revisa los atributos de datos del contenedor y contrástalos con el script: nombres como `data-sitekey` se comparten entre varios widgets.
- 03Si los scripts están empaquetados u ocultos, busca objetos globales específicos del desafío en el navegador.
- 04Si una página completa bloquea el acceso antes de cargar el destino, usa el contrato de una página de desafío. Estos flujos suelen devolver cookies, no un token de formulario.
- 05Si solo tienes una imagen o pregunta, sin página de destino, elige una tarea de imagen, texto, puntos, recuadros o número según el formato de respuesta requerido.
curl -X POST https://api.everyinfra.com/api/v1/captcha \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"turnstile","website_url":"https://example.com","website_key":"SITE_KEY"}'
Widgets de verificación por marca
Se integran en una página o formulario y suelen devolver un token o campos con nombre.
CAPTCHA de Alibaba
Alibaba Cloud CAPTCHA puede mostrarse como clic, deslizador, rompecabezas u otro reto adaptativo; no es el escudo de página completa de Alibaba. Devuelve el token del widget, no una cookie de acceso a la página.
CaptchaFox
CaptchaFox es un widget con clave de sitio que debe identificarse por su script o configuración. Devuelve un token de widget, no una cookie; una propiedad sitekey no convierte la integración en reCAPTCHA.
Capy Puzzle CAPTCHA
Capy Puzzle CAPTCHA usa una clave de sitio y puede declarar un servidor API propio del despliegue. Devuelve captchakey, challengekey y answer juntos, no un único token.
Friendly Captcha
Friendly Captcha es un widget de prueba de trabajo con clave propia y una biblioteca cliente opcional. Devuelve un token y no debe confundirse con ALTCHA, MTCaptcha o reCAPTCHA invisible.
Arkose Labs FunCaptcha
Arkose Labs FunCaptcha se expone mediante scripts de Arkose o data-pkey y puede mostrar tareas visuales o 3D. Devuelve el token de sesión Arkose, normalmente para fc-token, no un payload Enterprise de reCAPTCHA.
CAPTCHA de GeeTest
GeeTest usa un CAPTCHA ID o clave de sitio y puede mostrar retos adaptativos, de deslizar o de pulsar. Devuelve captcha_id, lot_number, pass_token, gen_time y captcha_output, no un token genérico.
hCaptcha
hCaptcha aparece como widget h-captcha o llamada hcaptcha.render con su propia data-sitekey. Devuelve la respuesta hCaptcha en gRecaptchaResponse; el nombre del campo no lo convierte en reCAPTCHA.
Lemin CAPTCHA
Lemin CAPTCHA admite modos integrado e invisible y usa clave de sitio con contenedor y servidor opcionales. Devuelve answer y challenge_id juntos, no el token único de MTCaptcha o Turnstile.
MTCaptcha
MTCaptcha es un widget propio con una clave MTCaptcha; no es Yandex SmartCaptcha pese al nombre parecido. Devuelve un token MTCaptcha; Yandex carga scripts propios y usa smart-token, por lo que las claves no se intercambian.
Prosopo Procaptcha
Prosopo Procaptcha es un widget con clave de sitio que puede usar prueba de trabajo o reto visual. Devuelve un token de Procaptcha; usar data-sitekey como nombre de campo no lo convierte en reCAPTCHA, hCaptcha o Turnstile.
Cuadrícula de imágenes de reCAPTCHA
recaptcha_grid resuelve una pregunta de imagen ya extraída; no navega ni genera un token de sitio. Devuelve en `objects` los índices de las celdas que coinciden, contados desde 0 en la celda superior izquierda, de izquierda a derecha y fila por fila; usa recaptcha_v2 para el flujo completo del widget.
reCAPTCHA v2
reCAPTCHA v2 es la casilla clásica o el modo invisible v2 cargado mediante api.js. Devuelve `gRecaptchaResponse`; v3 usa puntuación y Enterprise carga `enterprise.js`.
reCAPTCHA v2 Enterprise
reCAPTCHA v2 Enterprise usa una clave de casilla o política cargada con enterprise.js y grecaptcha.enterprise. Devuelve gRecaptchaResponse, pero sus valores Enterprise no se mezclan con api.js clásico ni con claves v3.
reCAPTCHA v3
reCAPTCHA v3 usa puntuación y normalmente ejecuta `grecaptcha.execute` sin casilla v2. EverySolve devuelve gRecaptchaResponse, no la puntuación de la evaluación que calcula el backend protegido.
reCAPTCHA v3 Enterprise
reCAPTCHA v3 Enterprise usa una clave Enterprise de puntuación con enterprise.js y grecaptcha.enterprise.execute. Devuelve gRecaptchaResponse para evaluación Enterprise; no es v2 con casilla ni v3 clásico de api.js.
Tencent Tendi CAPTCHA
Tencent Tendi usa captchaAppId y devuelve un ticket junto con randstr tras el reto interactivo. ticket y randstr se consumen juntos; no son token reCAPTCHA ni cookie de paso.
Cloudflare Turnstile
Cloudflare Turnstile es un widget gestionado, no interactivo o invisible con su propia clave. Devuelve token para cf-turnstile-response; la página de desafío de Cloudflare devuelve cookies.
NetEase Yidun CAPTCHA
NetEase Yidun o NECaptcha se inicializa con captchaId y puede presentar deslizamiento, clic o riesgo adaptativo. Devuelve token Yidun, no ticket/randstr de Tencent ni los cinco campos de GeeTest.
Desafíos de acceso de página completa
Bloqueos de página que se resuelven con valores de cookies o datos para cabeceras de solicitud.
Akamai Bot Manager para SDKs móviles
Es el flujo para SDK móviles de Akamai: el objeto es una app iOS o Android, no un widget web. Devuelve sensors, user_agent y device_id como conjunto; no es la cookie del flujo web de Akamai.
Akamai sec-cpt
sec-cpt es un desafío intermedio de Akamai con una cookie de desafío y una carga JSON de la respuesta bloqueada. Devuelve un token tras la espera impuesta por el desafío y no la cookie del flujo akamai_web.
Akamai Bot Manager para web
Es el flujo web de Akamai Bot Manager, normalmente reconocible por cookies como _abck o bm_sz y no por una casilla. Devuelve una cadena de cookies, no datos de sensores móviles ni un token sec-cpt.
Anubis
Anubis es una pasarela de página completa con prueba de trabajo, reconocible por anubis_challenge y su pantalla de progreso. Devuelve una cookie de paso, no un token de widget; su vigencia depende del sitio protegido.
AWS WAF CAPTCHA
AWS WAF CAPTCHA es un desafío de página o aplicación que establece un token de navegador tras completarse. Devuelve datos de cookie; aws_waf_classify solo localiza objetivos en imágenes y no concede el paso.
Basilisk
Basilisk, también llamado FaucetPay CAPTCHA, es un widget con clave de sitio cuya respuesta se vincula a un agente de usuario. Lee captcha_response junto con user_agent; no es el contrato de token único de reCAPTCHA.
Castle
Castle es un flujo de inteligencia de riesgo y dispositivo que recibe metadatos estructurados, no una imagen visible. Devuelve un conjunto de tokens; no debe reducirse a un solo token ni describirse como CAPTCHA visual.
Página de desafío de Cloudflare
Una página de desafío de Cloudflare bloquea el destino antes de cargar y no es el widget Turnstile. Devuelve cookies como la credencial de paso; Turnstile usa clave de sitio y devuelve token de formulario.
CyberSiARA
CyberSiARA identifica un reto SiARA mediante la página objetivo y master_url_id. Devuelve un token para esa sesión SiARA, no una cookie general de acceso.
CAPTCHA de DataDome
La tarea DataDome empieza con una URL de CAPTCHA ya emitida en el campo captcha_url para una sesión bloqueada. Devuelve cookies; `datadome_interstitial` corresponde a la URL protegida, no a `captcha_url`.
Página intermedia de DataDome
Un intersticial DataDome es un bloqueo de página completa alcanzado desde la URL protegida. Devuelve cookies; usa datadome si ya dispones de un valor captcha_url activo.
F5 Shape
F5 Shape protege la navegación en una página y no es una tarea de reconocimiento de imágenes. Devuelve cookies de paso; f5_tspd es la familia separada de cookies TS.
Protección F5 TS
La protección F5 TS se reconoce por cookies con prefijo TS y el comportamiento del módulo BIG-IP. Devuelve cookies TS, no cabeceras de Shape ni token de widget.
Desafío de Imperva
Imperva, antes Incapsula, protege páginas mediante comprobaciones de navegador y borde, no con una imagen aislada. Devuelve cookies de acceso y no un token de widget.
Kasada
Kasada se reconoce por solicitudes y cabeceras x-kpsdk alrededor de una página protegida. Devuelve cinco campos x-kpsdk, no una cadena de cookies.
Datos de desafío de Kasada
Kasada CD genera datos a partir de platform_inputs estructurados y no navega a una URL protegida. Devuelve x-kpsdk-cd junto con ct y st; usa kasada para el flujo de URL y proxy.
Desafío de PerimeterX
PerimeterX, ahora HUMAN Security, es protección de aplicación a página completa y no una casilla. Devuelve cookies de la sesión protegida, no un token de formulario.
Tareas de imagen y preguntas
Para entradas que ya son una imagen o un enunciado y respuestas de texto, coordenadas, recuadros o números.
CAPTCHA de audio
Esta tarea transcribe el audio de un CAPTCHA; no descarga el audio de una página ni resuelve una imagen. Devuelve texto; usa image para caracteres en una imagen y text_captcha para una pregunta escrita.
Clasificación de desafíos AWS WAF
Es la fase de clasificación de imágenes de AWS WAF CAPTCHA y recibe las imágenes junto con la instrucción visible. Devuelve posiciones en box, no una cookie de paso; el cliente controla la interacción del navegador.
BotDeflector
BotDeflector se modela aquí como una tarea de selección en imagen que devuelve puntos. Devuelve puntos y no un token o una cookie; el cliente debe aplicar las posiciones.
CAPTCHA de recuadros
Una tarea bounding_box pide rectángulos alrededor de objetos que cumplen la instrucción. Devuelve bounding_boxes; usa coordinates para puntos y recaptcha_grid para selecciones de una cuadrícula.
CAPTCHA de clics por coordenadas
coordinates representa uno o varios puntos de clic en una imagen y no pertenece a un único proveedor. Devuelve puntos, no rectángulos, texto ni distancia de arrastre; se aplican sobre las dimensiones originales.
CAPTCHA de imagen
La tarea image reconoce caracteres en una imagen y no incluye un widget de marca. Devuelve texto; usa audio, text_captcha o tareas espaciales para los otros formatos.
CAPTCHA de rotación
rotate recibe una sola imagen que debe orientarse y no pertenece a un proveedor único. Devuelve angle; usa slider para distancia, coordinates para puntos y bounding_box para rectángulos.
CAPTCHA de SHEIN
SHEIN es un modelo específico para localizar iconos y no la tarea general bounding_box. Devuelve el campo rects; para otros sitios usa la tarea espacial genérica adecuada.
CAPTCHA deslizante
slider usa un fondo y una pieza separada para calcular cuánto desplazarla. Devuelve distance en píxeles, no coordenada, porcentaje, token ni trayectoria.
CAPTCHA de Temu
Temu relaciona un array ordenado de partes con una imagen principal. Devuelve coordenadas asociadas al orden de `parts`; no es una tarea de coordenadas de una sola imagen ni devuelve un token.
CAPTCHA de texto
text_captcha es una pregunta escrita, a menudo creada por un foro o CMS y no por un widget alojado. Devuelve texto; usa image para caracteres dibujados y audio para un reto hablado.
Otros tipos de desafío
Desafíos adicionales con sus propios parámetros de solicitud y campos de solución.
ALTCHA
ALTCHA es un widget de prueba de trabajo, normalmente visible como un elemento altcha-widget y no como una cuadrícula de imágenes. Devuelve un token de formulario derivado de la prueba de trabajo, no una respuesta visual ni una cookie.
ATB CAPTCHA
atbCAPTCHA se inicializa con appId y apiServer y puede presentar retos de clic, deslizador o riesgo adaptativo. Devuelve el token de atbCAPTCHA; los identificadores de widgets parecidos no son intercambiables.
CAPTCHA de Binance
El tipo Binance parte de validate_id y no de una imagen genérica ni de una clave reCAPTCHA. Devuelve el token de esa sesión de validación; un identificador caducado o de otro flujo no sirve.
Cutcaptcha
Cutcaptcha expone una Misery key y otra CAPTCHA API key para producir un token. Devuelve un token; las dos claves cumplen funciones distintas y no son una site key genérica.
Hunt CAPTCHA
Hunt está registrado como tarea por URL, pero el inventario actual no documenta una firma pública estable del proveedor. Devuelve un token y no se publican selectores DOM sin verificar.
Yandex SmartCaptcha
Yandex SmartCaptcha es un widget de Yandex Cloud cargado con sus scripts y API propios. Devuelve token para smart-token; MTCaptcha es otro producto con scripts y validación distintos.
Formatos de solución y cómo usarlos
El objeto solution usa uno de 9 formatos de respuesta admitidos. Los tipos con el mismo formato pueden compartir código de lectura de respuestas, aunque sus parámetros de solicitud sean distintos.
| Formato de solución | Resultado | Cómo usarlo | Tipos |
|---|---|---|---|
boxes | Recuadros | Usa las coordenadas de cada recuadro para identificar o seleccionar una región de la imagen original. | 2 |
cookie | Valores de cookies | Adjunta los campos de cookies devueltos a las solicitudes posteriores del mismo flujo de trabajo. | 10 |
fields | Campos con nombre | Lee los campos declarados en conjunto; el flujo de destino puede necesitar todos ellos. | 8 |
indices | Índices de celdas | Haz clic en las celdas indicadas: la numeración empieza en 0 en la celda superior izquierda y avanza de izquierda a derecha, fila por fila. Una lista vacía significa que ninguna celda coincide. | 1 |
number | Número | Usa el valor numérico devuelto como respuesta al desafío. | 2 |
points | Puntos de coordenadas | Aplica las posiciones en píxeles a la imagen original o al flujo de clics, en el orden devuelto. | 4 |
text | Texto | Usa el texto devuelto como respuesta al desafío. | 3 |
token | Token | Envía el token en el campo o la solicitud de verificación que espera el flujo de destino. | 21 |
tokens | Conjunto de tokens | Usa los tokens juntos según el contrato de solicitud del flujo de destino. | 1 |
Preguntas sobre la API de CAPTCHA
¿Cómo identifico el CAPTCHA de una página?
Revisa primero los scripts cargados, después los atributos de datos del contenedor y por último los objetos globales específicos del desafío. Si toda la página está bloqueada antes de cargar, usa un contrato de página de desafío, no de widget integrado.
¿Se cobra un intento fallido?
No. Si el intento falla o devuelve un resultado vacío, no queda un cargo final y cualquier importe reservado se restaura automáticamente al mismo saldo. Solo se factura la entrega correcta.
¿Cuánto código cambia al cambiar de tipo de CAPTCHA?
El endpoint sigue siendo POST /api/v1/captcha. Cambia el valor de type y proporciona los parámetros declarados para ese tipo. Puedes compartir la lectura de respuestas cuando ambos tipos usan uno de los 9 formatos admitidos en común.
¿Qué significa el campo available?
GET /api/v1/captcha/types enumera los 52 tipos e indica si pueden entregarse en ese momento. Consulta la disponibilidad antes de enviar una solicitud; un valor guardado en caché no la garantiza.