Skip to content
API
Captcha da Amazon

Captcha da Amazon

Visão Geral

O Amazon Captcha é um sistema de autenticação utilizado pela Amazon para proteger seus sites contra bots e atividades automatizadas. Este é um captcha de texto especialmente distorcido que aparece apenas nos sistemas da Amazon.

🛒

O Captcha da Amazon normalmente aparece durante o login, pesquisas de produtos ou quando a Amazon detecta comportamento incomum do seu endereço IP.

Captcha da Amazon Captcha da Amazon

1. Criar Solicitação

Solicitação

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

Parâmetros

Nome do parâmetroTipo de dadosObrigatório?Descrição
clientKeystringsimChave da API (Api key)
task.typestringsimImageToTextTask
task.imagestringsimbase64 da imagem do captcha da Amazon
task.subTypestringsimamazon

Exemplo de Solicitação

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "SUA_API_KEY",
  "task": {
    "type": "ImageToTextTask",
    "image": "imagem do captcha da Amazon codificada em base64",
    "subType": "amazon"
  }
}

Resposta

Em caso de sucesso, o servidor retorna 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

Nome do parâmetroTipo de dadosObrigatório?Descrição
clientKeystringsimChave da API (Api key)
taskIdstringsimTaskId obtido em (1)

Exemplo de Solicitação

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

Resposta

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

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
import base64
 
def solve_amazon_captcha(image_path, api_key='SUA_API_KEY'):
    # Ler e codificar a 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](https://api.achicaptcha.com/createTask)'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'ImageToTextTask',
            'image': image_base64,
            'subType': 'amazon'
        }
    }
    
    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](https://api.achicaptcha.com/getTaskResult)'
    
    while True:
        time.sleep(2)  # Aguarde 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', continue o loop
 
# Uso
solution = solve_amazon_captcha('amazon_captcha.png', 'SUA_API_KEY')
print('Amazon captcha result:', solution)

Códigos de Erro Comuns

Código de ErroDescriçãoNotas
0successSucesso
1processingProcessando
2missing required fieldsCampo obrigatório ausente, verifique os parâmetros novamente
3task not supportedTipo de tarefa não suportado
4task creation failedFalha na criação da tarefa
5client key does not existChave de API não existe, verifique a chave novamente
6insufficient account balanceSaldo da conta insuficiente, recarregue 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 de alta resolução
  • Garanta que as imagens não estejam excessivamente borradas ou com ruído
  • Capture ou recorte a área correta do captcha da Amazon

2. Intervalo de Polling

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

3. Lógica de Tentativa (Retry)

  • Implemente novas 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 de API

  • Não incorpore a chave de API diretamente no código (hardcode)
  • Use variáveis de ambiente
  • Não exponha a chave de API no lado do cliente (client-side)

Links Úteis: