Skip to content
API
Captcha de Texto

Text Captcha

Visão Geral

Um captcha de texto padrão é uma imagem contendo texto distorcido que é legível por humanos. Para resolver a imagem do captcha, os usuários devem inserir o texto da imagem.

📝

O captcha de texto pode incluir números, letras ou uma combinação de ambos. Eles geralmente usam distorções de imagem, ruído e várias fontes para dificultar a leitura automatizada.

1. Criar Solicitação

Solicitação

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

Parâmetros

ParâmetroTipo de DadosObrigatório?Descrição
clientKeystringsimChave da API
task.typestringsimImageToTextTask
task.imagestringsimBase64 da imagem
task.subTypestringsimUm dos seguintes tipos: common, amazon, microsoft, facebook, garena, artistshot, gmx, 11166, houssam

Exemplo de Solicitação

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "SUA_CHAVE_API",
  "task": {
    "type": "ImageToTextTask",
    "image": "imagem codificada em base64",
    "subType": "gmx"
  }
}

Resposta

Em caso de sucesso, o servidor retornará errorId = 0 e taskId

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

2. Obter Resultado

Solicitação

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

Parâmetros

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

Exemplo de Solicitação

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

Resposta

{ 
  "errorId": 0, 
  "status": "ready", 
  "solution": "swamn" 
}

Explicação do Status

  • errorId = 0 e status = ready: Resolvido com sucesso, leia o resultado em solution.text
  • errorId = 0 e status = processing: O captcha está sendo resolvido, aguarde 2 segundos e tente novamente
  • errorId > 0: Erro do sistema, código de erro e descrição fornecidos

Opções de SubType

O Achicaptcha suporta vários tipos de captcha de texto através do parâmetro subType:

SubTypeDescrição
commonCaptcha de texto comum, o mais popular
amazonCaptcha específico da Amazon com distorção especial
microsoftCaptcha usado nos serviços da Microsoft
facebookCaptcha do Facebook com fontes distintas
garenaCaptcha na plataforma Garena
artistshotCaptcha do site Artistshot
gmxCaptcha de e-mail GMX
11166Tipo especial de captcha com código 11166
houssamTipo específico de captcha chamado Houssam
discordTipo de captcha específico do Discord
okvipTipo de captcha específico do OKVIP
shopeeTipo de captcha específico da Shopee
📝

Normalmente subType: common pode lidar com todos os tipos de captcha de texto. Se o captcha de texto do seu site for muito específico, entre em contato com o admin (opens in a new tab) para obter suporte.

Exemplos de Integração

import requests
import time
import base64
 
 
def solve_captcha(image_path, sub_type='common', api_key='SUA_CHAVE_API'):
    # Ler e codificar imagem
    with open(image_path, 'rb') as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
    
    # Passo 1: Criar tarefa
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'ImageToTextTask',
            'image': image_base64,
            'subType': sub_type
        }
    }
    
    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 o loop
 
# Uso
solution = solve_captcha('captcha.png', 'common', 'SUA_CHAVE_API')
print('Resultado do Captcha:', solution)

Códigos de Erro Comuns

Código de ErroDescriçãoNotas
0successSucesso
1processingProcessando
2missing required fieldsCampos obrigatórios ausentes, verifique os parâmetros
3task not supportedTipo de tarefa não suportado
4task creation failedFalha na criação da tarefa
5client key does not existA chave da API não existe, verifique sua chave da API
6insufficient account balanceSaldo da conta insuficiente, adicione mais créditos
7task failed, please create a new taskTarefa falhou, por favor crie uma nova tarefa
8task ID does not existID da tarefa não existe

Melhores Práticas

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

1. Qualidade da Imagem

  • Use imagens com boa resolução
  • Garanta que as imagens não estejam muito borradas ou com ruído
  • Escolha o subType apropriado para o seu tipo de captcha

2. Intervalo de Polling

  • Aguarde pelo menos 2 segundos entre as verificações de resultado
  • Não inunde a API com muitas solicitações consecutivas
  • Tenha um tempo limite (timeout) para evitar loops infinitos

3. Lógica de Tentativa (Retry)

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

4. Segurança da Chave 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 (client-side)

Links Úteis: