Tutorials

n8n + CaptchaAI: Fluxo de trabalho de resolução de CAPTCHA sem código

Um formulário trava no meio de uma automação n8n por causa de um CAPTCHA? Dá para resolver sem escrever código: basta encadear nós HTTP Request com um loop de consulta que tenta de novo até a CaptchaAI devolver o token. Diferente do Zapier, o n8n tem suporte nativo a loops — e o token quase nunca chega na primeira tentativa.


n8n ou Zapier: qual escolher para resolver CAPTCHA sem código?

Antes de montar o fluxo, compare as duas ferramentas mais usadas para esse tipo de automação:

Recurso n8n Zapier
Suporte a loop/retentativa Nativo (loops com IF, nó Loop) Limitado (apenas Paths)
Opção auto-hospedada Sim (grátis) Não (somente nuvem)
Nós de código JavaScript completo Limitado
Custo Grátis (auto-hospedado) ou nuvem paga Pago (por tarefa)
Facilidade de configuração Moderada Fácil

O n8n leva vantagem: o nó Loop Over Items e os nós Code cobrem o padrão que a resolução de CAPTCHA exige — enviar, consultar, usar o resultado.


Como funciona o fluxo de resolução no n8n

O fluxo completo tem quatro nós HTTP Request e um loop de consulta entre eles:

Manual Trigger / Cron
    ↓
HTTP Request: Submit CAPTCHA
    ↓
Wait: 10 seconds
    ↓
Loop: Poll until solved
    ├── HTTP Request: Get result
    ├── IF: status == 1? → Exit loop
    └── Wait: 5 seconds → Loop again
    ↓
HTTP Request: Use token

Nó 1: enviar o CAPTCHA para a CaptchaAI

Adicione um nó HTTP Request com:

  • Método: POST
  • URL: https://ocr.captchaai.com/in.php
  • Tipo de conteúdo corporal: Form URL Encoded

Parâmetros corporais:

Nome Valor
key {{ $credentials.captchaaiApiKey }} ou codifique sua chave
method userrecaptcha
googlekey 6Le-SITEKEY
pageurl https://example.com
json 1

Resposta:

{
  "status": 1,
  "request": "71823456"
}

Nó 2: aguardar antes da primeira consulta

Adicione um nó Aguarde (Wait) com:

  • Tempo de espera: 10
  • Unidade: Seconds

Isso dá tempo para o solver processar antes da primeira consulta do loop.


Nó 3: consultar o resultado em loop

O n8n permite loops pelo nó Loop Over Items ou conectando a saída falsa de um nó IF de volta a um nó anterior.

Opção A: loop simples com nó IF

Adicione um nó HTTP Request (consulta) com:

  • Método: GET
  • URL: https://ocr.captchaai.com/res.php
  • Parâmetros de consulta: key, action=get, id={{ $json.request }}, json=1

Conecte-o a um nó IF com a condição {{ $json.status }} Equal 1:

  • Saída verdadeira → segue para a próxima ação (usar o token)
  • Saída falsaAguarde (5 segundos) → volta para o nó de consulta

Opção B: nó Code para mais controle

Para ter controle total sobre o retry, use um nó Code:

const apiKey = 'YOUR_API_KEY';
const taskId = $input.first().json.request;

for (let i = 0; i < 24; i++) {
  await new Promise(r => setTimeout(r, 5000));

  const resp = await fetch(
    `https://ocr.captchaai.com/res.php?key=${apiKey}&action=get&id=${taskId}&json=1`
  );
  const data = await resp.json();

  if (data.status === 1) {
    return [{ json: { token: data.request, taskId } }];
  }
  if (data.request !== 'CAPCHA_NOT_READY') {
    throw new Error(`CaptchaAI error: ${data.request}`);
  }
}

throw new Error(`Task ${taskId} timed out`);

Nó 4: enviar o token resolvido ao formulário

Adicione outro nó HTTP Request para enviar o formulário de destino já com o token resolvido:

  • Método: POST
  • URL: https://staging.example.com/submit
  • Tipo de conteúdo corporal: Form URL Encoded

Os parâmetros do corpo incluem os dados do seu formulário mais o campo g-recaptcha-response, com o valor {{ $json.token }}.


Como guardar a chave de API com segurança

Use o sistema de Credenciais do n8n:

  1. Vá em Credentials → Add Credential → Header Auth
  2. Nome: CaptchaAI API Key
  3. Guarde a chave com segurança

Ou use variáveis de ambiente:

# In your n8n environment
export CAPTCHAAI_API_KEY="your_key_here"

Referência dentro dos nós: {{ $env.CAPTCHAAI_API_KEY }}.

Dica de produção: hospede o n8n numa região próxima do Brasil (São Paulo, ou sa-east-1 na AWS) para reduzir a latência de cada chamada do loop. Se o fluxo grava em log os dados do formulário resolvido, trate isso como dado pessoal sob a LGPD (RGPD em Portugal) — guarde só o necessário.


Fluxo para CAPTCHA de imagem (OCR)

Para CAPTCHAs de imagem, ajuste o nó de envio:

Nome Valor
method base64
body Imagem codificada em Base64 (de um nó ou URL anterior)

Para converter uma URL de imagem em base64 no n8n, adicione um nó Code antes do envio:

const imageUrl = $input.first().json.imageUrl;
const resp = await fetch(imageUrl);
const buffer = Buffer.from(await resp.arrayBuffer());
const base64 = buffer.toString('base64');

return [{ json: { imageBase64: base64 } }];

Automatize a verificação de saldo

Crie um fluxo separado, disparado por agenda, para nunca ser pego de surpresa com o saldo baixo:

Cron (daily at 9 AM)
    ↓
HTTP Request: GET res.php?action=getbalance
    ↓
IF: balance < 5
    ↓
Slack / Email: "CaptchaAI balance low: $X.XX"

Perguntas frequentes

Dá para processar vários CAPTCHAs no mesmo fluxo?

Sim, com o nó Split In Batches, cada item com seu próprio ciclo de envio e consulta.

O n8n resolve Cloudflare Turnstile também?

Sim. Troque method para turnstile e use sitekey no lugar de googlekey.

Preciso do plano pago do n8n para automatizar CAPTCHA?

Não. A versão auto-hospedada é gratuita e já traz loops, nó Code e Credenciais.

Vale mais a pena usar n8n ou escrever um script direto?

Depende do time: um script dá mais controle, mas o n8n monta o mesmo fluxo mais rápido, com o retry já pronto em nós visuais.


Problemas comuns e como corrigir

Problema Causa Correção
O loop de consulta nunca termina Sem limite máximo de iterações Adicione uma variável de contador e interrompa após 24 iterações
CAPCHA_NOT_READY sem parar Espera inicial curta demais antes da primeira consulta Aumente a espera inicial para 15–20 segundos
Token não chega no próximo nó Caminho de expressão errado Confira se {{ $json.token }} corresponde à saída real
Credenciais não encontradas Variável de ambiente não definida Reinicie o n8n depois de definir as env vars

Monte seu primeiro fluxo de resolução de CAPTCHA no n8n

Pegue sua chave de API em captchaai.com e implemente esse fluxo em poucos minutos.


Guias relacionados

Os comentários estão desativados para este artigo.