
Adélia Cruz
Neural Network Developer

Uma mensagem de erro "reCAPTCHA verification failed" interrompe os usuários no meio do formulário, da autenticação ou da compra. O erro é acionado pelo motor de análise de risco da Google quando não consegue confirmar que a solicitação é humana. Para usuários finais, a solução geralmente é uma configuração do navegador. Para desenvolvedores que constroem raspadores, ferramentas de automação de processos (RPA) ou pipelines de testes automatizados, o problema é mais complexo. Este guia aborda ambos os cenários. Você encontrará as causas raiz dos erros de verificação do reCAPTCHA da Google, um processo passo a passo para soluções manuais e um roteiro focado em desenvolvedores para lidar com o reCAPTCHA de forma programática usando a API CapSolver — com código real que você pode executar hoje.
O reCAPTCHA é um serviço de segurança da Google que protege sites contra abuso automatizado. Ele existe em três versões principais:
| Versão | Como Funciona | Interação do Usuário |
|---|---|---|
| reCAPTCHA v2 | Desafio de caixa de seleção + quebra-cabeças de imagem | Caixa de seleção visível ou grade de imagens |
| reCAPTCHA v3 | Pontuação em segundo plano (0,0–1,0) | Nenhuma — totalmente invisível |
| reCAPTCHA Enterprise | Sinais de risco avançados + limites personalizados | Configurável |
Quando o serviço não consegue confirmar que uma solicitação é legítima, ele retorna uma resposta de falha na verificação do reCAPTCHA. Isso pode acontecer do lado do cliente (problemas no navegador) ou do lado do servidor (chave incorreta, pontuação muito baixa, token expirado).
Entender de qual camada a falha vem é o primeiro passo para resolvê-la. Por exemplo, uma pontuação abaixo do limite no v3 produz um resultado de falha no reCAPTCHA da Google mesmo que o usuário tenha concluído o desafio corretamente. Você pode ler mais sobre como a pontuação funciona neste guia sobre limites de pontuação do reCAPTCHA v3 e o que eles significam.
Essas são as razões mais frequentes para o erro "reCAPTCHA verification failed":
Cada uma dessas causas gera um modo de falha distinto. A solução depende de qual delas se aplica à sua situação.
Siga esses passos na ordem. Cada um aborda uma causa específica do erro de falha na verificação do reCAPTCHA.
Objetivo: Remover dados de sessão obsoletos que interferem no widget do reCAPTCHA.
Ação:
Observações: Reinicie o navegador completamente após limpar. Não basta apenas fechar a aba.
Objetivo: O reCAPTCHA não pode carregar sem JavaScript. É um requisito obrigatório.
Ação:
about:config na barra de endereços → pesquise javascript.enabled → defina como true.Observações: Se você usar uma extensão de bloqueio de scripts (NoScript, uMatrix), adicione google.com e gstatic.com à lista de permissões.
Objetivo: Muitos bloqueadores de anúncios sinalizam os scripts do reCAPTCHA como rastreadores e os bloqueiam silenciosamente.
Ação: Desative temporariamente todas as extensões do navegador, recarregue a página e teste o formulário novamente.
Observações: Se o erro desaparecer, reative as extensões uma por uma para identificar a culpada. Adicione recaptcha.net e gstatic.com à sua lista de permissões.
Objetivo: Uma chave do site registrada para example.com produzirá um erro de falha na verificação do reCAPTCHA em staging.example.com.
Ação:
Observações: Após atualizar as chaves, redesenhe seu código front-end. HTML em cache pode ainda referenciar chaves antigas.
Objetivo: VPNs e firewalls corporativos podem bloquear solicitações para www.google.com/recaptcha e www.gstatic.com.
Ação: Desconecte-se de qualquer VPN, mude para uma rede diferente (ex: hotspot móvel) e tente novamente.
Observações: Se o erro ocorrer apenas em uma rede corporativa, peça à sua equipe de TI para whiteliste *.google.com e *.gstatic.com.
Objetivo: A validação do token é sensível ao tempo. Um relógio com mais de alguns minutos de diferença causará a rejeição do token.
Ação:
sudo timedatectl set-ntp trueObservações: Essa é uma causa rara, mas vale a pena verificar se todos os outros passos falharem.
As soluções manuais funcionam para usuários finais. Os desenvolvedores que executam scripts automatizados enfrentam um problema diferente: seu código dispara o reCAPTCHA por design, e a resposta "reCAPTCHA verification failed" bloqueia todo o fluxo de trabalho.
A abordagem correta é integrar uma API de resolução de CAPTCHA que resolva o desafio de forma programática e retorne um token válido que seu script possa submeter. CapSolver suporta reCAPTCHA v2, v3 e Enterprise com tempos de resposta tão baixos quanto 0,2 segundos.
pip install requests
Nenhum SDK adicional é necessário. A API do CapSolver usa solicitações HTTP padrão.
O código a seguir usa o tipo de tarefa oficial do CapSolver ReCaptchaV2TaskProxyLess para desafios do reCAPTCHA v2. Consulte o guia completo sobre resolução do reCAPTCHA v2 para variantes baseadas em proxy e parâmetros adicionais.
import requests
import time
API_KEY = "SUA_CHAVE_DA_API_DO_CAPSOLVER"
WEBSITE_URL = "https://exemplo.com"
WEBSITE_KEY = "SUA_CHAVE_DO_SITE_DO_RECAPTCHA"
def create_task():
payload = {
"clientKey": API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": WEBSITE_URL,
"websiteKey": WEBSITE_KEY
}
}
response = requests.post(
"https://api.capsolver.com/createTask",
json=payload
)
return response.json().get("taskId")
def get_task_result(task_id):
payload = {
"clientKey": API_KEY,
"taskId": task_id
}
while True:
response = requests.post(
"https://api.capsolver.com/getTaskResult",
json=payload
)
result = response.json()
if result.get("status") == "ready":
return result["solution"]["gRecaptchaResponse"]
elif result.get("status") == "failed":
raise Exception("Tarefa falhou: " + str(result.get("errorDescription")))
time.sleep(3)
task_id = create_task()
token = get_task_result(task_id)
print("Token resolvido:", token)
# Envie `token` como o valor de `g-recaptcha-response` no POST do seu formulário
Quando um site usa o reCAPTCHA v3, uma baixa pontuação é a causa mais comum de um resultado de falha na verificação do reCAPTCHA. Use o tipo de tarefa ReCaptchaV3TaskProxyLess e passe o pageAction correto para corresponder ao que a página de destino espera.
import requests
import time
API_KEY = "SUA_CHAVE_DA_API_DO_CAPSOLVER"
WEBSITE_URL = "https://exemplo.com"
WEBSITE_KEY = "SUA_CHAVE_DO_SITE_DO_RECAPTCHA_V3"
PAGE_ACTION = "enviar" # corresponda à string de ação usada na página de destino
def create_v3_task():
payload = {
"clientKey": API_KEY,
"task": {
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": WEBSITE_URL,
"websiteKey": WEBSITE_KEY,
"pageAction": PAGE_ACTION
}
}
response = requests.post(
"https://api.capsolver.com/createTask",
json=payload
)
return response.json().get("taskId")
def get_task_result(task_id):
payload = {
"clientKey": API_KEY,
"taskId": task_id
}
while True:
response = requests.post(
"https://api.capsolver.com/getTaskResult",
json=payload
)
result = response.json()
if result.get("status") == "ready":
return result["solution"]["gRecaptchaResponse"]
elif result.get("status") == "failed":
raise Exception("Tarefa falhou: " + str(result.get("errorDescription")))
time.sleep(3)
task_id = create_v3_task()
token = get_task_result(task_id)
print("Token resolvido v3:", token)
# Envie `token` como o valor de `g-recaptcha-response` no POST do seu formulário
ReCaptchaV2TaskProxyLess para desafios de caixa de seleção do v2 e ReCaptchaV3TaskProxyLess para pontuação invisível do v3. Misturar os dois sempre retornará um erro de falha no reCAPTCHA.ReCaptchaV2Task ou ReCaptchaV3Task (sem o sufixo ProxyLess) e forneça seus próprios detalhes de proxy no payload da tarefa. Isso roteia a solicitação de resolução através do seu IP de destino.pageAction desalinhado reduz a pontuação retornada e dispara um erro de falha no reCAPTCHA no lado do servidor. Inspeção o código-fonte da página ou as solicitações de rede para encontrar a string de ação exata.createTask e consulte os resultados simultaneamente.Para automação baseada em navegador (Puppeteer, Playwright, Selenium), a extensão do CapSolver pode resolver desafios do reCAPTCHA automaticamente sem modificar sua lógica de raspagem.
Resgate seu código de bônus do CapSolver
Aumente seu orçamento de automação instantaneamente!
Use o código de bônus CAP26 ao recarregar sua conta do CapSolver para obter um bônus adicional de 5% em cada recarga — sem limites.
Resgate-o agora em seu Painel do CapSolver
| Sintoma | Causa Provável | Solução |
|---|---|---|
| Widget nunca carrega | JavaScript bloqueado ou bloqueador de anúncios ativo | Ative o JS, desative as extensões |
| "Por favor, tente novamente" após a caixa de seleção | Conflito de cache ou cookie do navegador | Limpe o cache e cookies, reinicie o navegador |
| Erro apenas na submissão do formulário | Token expirado (>120 segundos) | Reinicie o widget antes da submissão |
| Funciona em um domínio, falha em outro | Mismatch de domínio na chave do site | Adicione o domínio ao Painel de Administração do reCAPTCHA |
| Falha apenas em VPN/rede corporativa | Firewall bloqueando os pontos finais da Google | Whitelist *.google.com, *.gstatic.com |
| v3 sempre retorna baixa pontuação | Padrão de comportamento automatizado detectado | Use a API do CapSolver com o pageAction correto |
Erro do servidor invalid-input-secret |
Chave secreta incorreta no backend | Atualize a chave secreta na validação do lado do servidor |
Erro do servidor timeout-or-duplicate |
Token reutilizado ou enviado muito tarde | Gere um token novo para cada submissão |
| Critério | Solução Manual | Solução Baseada em API do CapSolver |
|---|---|---|
| Quem se aplica | Usuários finais, proprietários do site | Desenvolvedores, engenheiros de automação |
| Tempo para resolver | 5–15 minutos | Minutos para integrar, depois totalmente automatizado |
| Confiabilidade | Dependente do ambiente do usuário | Consistente — 99,99% de disponibilidade |
| Trata expiração de token | Usuário deve reiniciar manualmente | Gerenciado no código com lógica de tentativa |
| Funciona em ambientes sem cabeça | Não | Sim |
| Suporta v2, v3, Enterprise | Parcial (interação manual) | Suporte completo em todas as versões |
| Custo | Grátis | Cobrança por uso a partir de $6 de recarga |
Um erro de falha na verificação do reCAPTCHA tem uma causa clara em quase todos os casos. Para usuários regulares, a solução geralmente é uma configuração do navegador — limpe o cache, ative o JavaScript ou desative uma extensão. Para desenvolvedores, a causa raiz geralmente é um mismatch de chave, um token expirado ou uma baixa pontuação do v3 acionada por padrões de comportamento automatizado.
Se seu fluxo de trabalho enfrenta regularmente desafios do reCAPTCHA, resolver manualmente não é sustentável. O CapSolver fornece uma API confiável, com inteligência artificial, que resolve erros de falha na verificação do reCAPTCHA de forma programática — suportando v2, v3 e Enterprise — para que sua automação continue funcionando sem interrupções. Comece agora em capsolver.com com um recarga mínima de $6 e sem compromisso mensal.
Q1: Por que o erro "reCAPTCHA verification failed" aparece mesmo após eu completar a caixa de seleção?
A caixa de seleção é apenas um sinal. A reCAPTCHA também avalia o ambiente do seu navegador, a reputação do IP e os padrões de interação. Se algum desses parecer suspeito, o serviço retorna um resultado de falha na verificação da reCAPTCHA, independentemente da caixa de seleção. Limpar o cache e desativar os VPNs geralmente resolve isso.
Q2: Quanto tempo um token reCAPTCHA é válido?
Um token reCAPTCHA é válido por aproximadamente 120 segundos a partir do momento em que é gerado. Enviar um formulário após esse período produz um erro de verificação da reCAPTCHA do Google no lado do servidor. Sempre acione o widget o mais próximo possível da submissão do formulário.
Q3: O mesmo token reCAPTCHA pode ser usado duas vezes?
Não. Cada token é de uso único. Enviar o mesmo token pela segunda vez retorna um erro timeout-or-duplicate, que é tratado como uma resposta de falha na verificação da reCAPTCHA. Gere um novo token para cada submissão.
Q4: Por que a reCAPTCHA v3 falha em meu script automatizado mesmo com um token válido?
A reCAPTCHA v3 avalia o comportamento, não apenas a validade do token. Um navegador headless sem movimento do mouse, sem histórico de rolagem e com um IP de datacenter receberá uma baixa pontuação (geralmente abaixo de 0,5), fazendo com que o site rejeite a solicitação. Usar a API CapSolver com o parâmetro pageAction correto retorna um token com uma pontuação que passa nos limites padrão.
Q5: O uso de uma API de resolução de CAPTCHA é compatível com os termos de serviço?
Isso depende dos termos de serviço do site-alvo e do seu caso de uso. A CapSolver é projetada para casos legítimos, como testes automatizados, ferramentas de acessibilidade e agregação de dados publicamente disponíveis. Sempre revise os termos de serviço de qualquer site com o qual interaja programaticamente e certifique-se de que seu uso seja compatível. Para referência, a documentação de suporte da reCAPTCHA da Google descreve o uso previsto do serviço, e as diretrizes de acessibilidade da web fornecem contexto para necessidades de acesso alternativo.