API para resolver CAPTCHA
EverySolve es una API de resolución de CAPTCHA con 53 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. El importe se descuenta al aceptar la solicitud y se devuelve si la solución no se entrega correctamente.
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
alibabaAlibaba 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
captchafoxCaptchaFox 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
capyCapy 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_captchaFriendly 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
funcaptchaArkose 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
geetestGeeTest 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
hcaptchahCaptcha 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.
KeyCAPTCHA
keycaptchaKeyCAPTCHA es un widget antiguo con varios valores firmados, no una sola clave de sitio. Devuelve un token KeyCAPTCHA; ninguno de esos valores equivale a un data-sitekey genérico.
Lemin CAPTCHA
leminLemin 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
mtcaptchaMTCaptcha 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
prosopoProsopo 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_gridrecaptcha_grid resuelve una pregunta de imagen ya extraída; no navega ni genera un token de sitio. Devuelve posiciones en `objects`; usa recaptcha_v2 para el flujo completo del widget.
reCAPTCHA v2
recaptcha_v2reCAPTCHA 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_enterprisereCAPTCHA 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_v3reCAPTCHA 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_enterprisereCAPTCHA 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_tendiTencent 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
turnstileCloudflare 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
yidunNetEase 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
akamai_bmpEs 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
akamai_sec_cptsec-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
akamai_webEs 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
anubisAnubis 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_wafAWS 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
basiliskBasilisk, 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
castleCastle 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
cloudflare_challengeUna 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
cybersiaraCyberSiARA 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
datadomeLa 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
datadome_interstitialUn 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_shapeF5 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
f5_tspdLa 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
impervaImperva, 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
kasadaKasada 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_cdKasada 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
perimeterxPerimeterX, 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
audioEsta 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
aws_waf_classifyEs 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
botdeflectorBotDeflector 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
bounding_boxUna 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
coordinatescoordinates 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
imageLa 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
rotaterotate 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
sheinSHEIN 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
sliderslider 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
temuTemu 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_captchatext_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
altchaALTCHA 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
atb_captchaatbCAPTCHA 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
binanceEl 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
cutcaptchaCutcaptcha 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
huntHunt 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_smartcaptchaYandex 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 8 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 |
number | Número | Usa el valor numérico devuelto como respuesta al desafío. | 2 |
points | Puntos de coordenadas | Aplica las posiciones a la imagen original o al flujo de clics, usando el formato de coordenadas o cuadrícula declarado para el tipo. | 5 |
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. | 22 |
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?
El importe se descuenta al aceptar la solicitud. Si el intento falla o devuelve un resultado vacío, se devuelve 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 8 formatos admitidos en común.
¿Qué significa el campo available?
GET /api/v1/captcha/types enumera los 53 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.
Empieza por el catálogo de tipos
Consulta los parámetros, el formato de solución, la disponibilidad y el precio actuales antes de enviar una solicitud. Los intentos fallidos se reembolsan automáticamente.