Skip to content
API
ReCAPTCHA
Token

ReCAPTCHA

Visão Geral

O Google reCAPTCHA é o sistema de captcha mais popular do mundo, usado por milhões de sites para proteger contra spam e bots. O Achicaptcha atualmente suporta reCAPTCHA v2 com alta taxa de sucesso.

⚠️

Atualmente, o Achicaptcha suporta apenas reCAPTCHA v2. reCAPTCHA v3 e Enterprise ainda não são suportados.

ReCAPTCHA

1. Criar Tarefa

Requisição

POST https://api.achicaptcha.com/createTask

Parâmetros

Nome do ParâmetroTipo de DadosObrigatório?Descrição
clientKeystringsimChave da API
task.typestringsimRecaptchaV2TaskProxyless para resolução ultra-rápida
RecaptchaV2TaskProxylessNormal para resolução normal
task.websiteURLstringsimURL do site contendo o captcha
task.websiteKeystringsimChave do site reCAPTCHA

Exemplo de Requisição

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "RecaptchaV2TaskProxyless",
    "websiteURL": "https://www.google.com/recaptcha/api2/demo",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
  }
}

Resposta

Quando bem-sucedido, o servidor retorna errorId = 0 e taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

2. Obter Resultado

Requisição

POST https://api.achicaptcha.com/getTaskResult

Parâmetros

Nome do ParâmetroTipo de DadosObrigatório?Descrição
clientKeystringsimChave da API
taskIdstringsimTaskId obtido de (1)

Exemplo de Requisição

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

Resposta

{
  "errorId": 0,
  "status": "ready",
  "solution": "03AGdBq27QGA96FJRo3mtz..."
}

Explicação do Status

  • errorId = 0 e status = ready: Resolvido com sucesso, leia o resultado em solution
  • errorId = 0 e status = processing: Resolvendo captcha, aguarde 2 segundos e tente novamente
  • errorId > 0: Erro do sistema, retorna código de erro e descrição

Exemplos de Integração

import requests
import time
 
def solve_recaptcha_v2(website_url, website_key, api_key='YOUR_API_KEY'):
    # Passo 1: Criar tarefa
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'RecaptchaV2TaskProxyless',
            'websiteURL': website_url,
            'websiteKey': website_key
        }
    }
    
    response = requests.post(create_task_url, json=create_task_payload)
    result = response.json()
    
    if result['errorId'] != 0:
        raise Exception(result['errorDescription'])
    
    task_id = result['taskId']
    
    # Passo 2: Obter resultado
    get_result_url = 'https://api.achicaptcha.com/getTaskResult'
    
    while True:
        time.sleep(2)  # Aguardar 2 segundos
        
        get_result_payload = {
            'clientKey': api_key,
            'taskId': task_id
        }
        
        response = requests.post(get_result_url, json=get_result_payload)
        result = response.json()
        
        if result['errorId'] != 0:
            raise Exception(result['errorDescription'])
        
        if result['status'] == 'ready':
            return result['solution']
        
        # Se status == 'processing', continuar loop
 
# Uso
website_url = 'https://www.google.com/recaptcha/api2/demo'
website_key = '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-'
token = solve_recaptcha_v2(website_url, website_key, 'YOUR_API_KEY')
print('Token reCAPTCHA:', token)

Códigos de Erro Comuns

Código de ErroDescriçãoNotas
0sucessoSucesso
1processandoProcessando
2campos obrigatórios ausentesCampos obrigatórios ausentes, verifique os parâmetros novamente
3tarefa não suportadaTipo de tarefa não suportado
4falha ao criar tarefaFalha ao criar tarefa
5chave do cliente não existeChave da API não existe, verifique a chave da API novamente
6saldo da conta insuficienteSaldo da conta insuficiente, adicione mais créditos
7tarefa falhou, por favor crie uma nova tarefaTarefa falhou, por favor crie uma nova tarefa
8ID da tarefa não existeID da tarefa não existe

Melhores Práticas

Para obter os melhores resultados ao usar a API Achicaptcha, siga estes princípios:

1. Validar Chave do Site

  • Verifique a chave do site antes de enviar a requisição
  • Certifique-se de que a chave do site obtida do atributo data-sitekey está correta
  • Verifique se a URL do site corresponde à página que contém o captcha

2. Lidar com Timeouts

  • O token tem tempo de expiração (geralmente 120 segundos)
  • Use o token imediatamente após recebê-lo
  • Não armazene o token em cache por muito tempo

3. Intervalo de Polling

  • Aguarde pelo menos 2 segundos entre as verificações de resultado
  • Não sobrecarregue a API com muitas requisições consecutivas
  • Defina um timeout para evitar loops infinitos (recomendado 120 segundos)

4. Lógica de Retry

  • Implemente retry para erros temporários como ERROR_NO_SLOT_AVAILABLE
  • Use backoff exponencial ao tentar novamente
  • Limite o número máximo de tentativas

5. Segurança da Chave da API

  • Não codifique a chave da API diretamente no código
  • Use variáveis de ambiente
  • Não exponha a chave da API no lado do cliente

Links úteis: