Skip to content
API
ReCAPTCHA
Imagem

ReCAPTCHA Image (Telefone)

Visão Geral

Resolva Recaptcha com velocidade ultra-rápida, precisão número 1 no mercado. Fornecemos serviços para resolver todos os tipos de ReCaptcha Image em telefones.

📱

Este serviço permite que você envie imagens de captcha e receba índices de células para clicar para resolver o captcha.

ReCAPTCHA Mobile

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.typestringsimReCaptchaPhoneTask
task.subTypestringsimValor igual a 0
task.imagestringsimImagem do captcha em formato base64, capture a área de exibição da imagem do captcha (sem borda, apenas células quadradas pequenas)
task.otherstringsimPergunta|Contagem de grade
• Pergunta: "Select all images with a bus" (full question text shown in the captcha prompt)
• Contagem de grade: 3 (ou 4, 5)
→ other: "Select all images with a bus|4"

Exemplo de Requisição

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ReCaptchaPhoneTask",
    "subType": "0",
    "image": "iVBORw0KGgoAAAANSUhEUgAA...(imagem codificada em base64)",
    "other": "Select all images with a bus|4"
  }
}

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": "0,5,9"
}

Nota: Para o tipo "grid", a solução é uma lista de índices de imagem para clicar, começando de 0

Explicação do Status

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

Exemplos de Integração

import requests
import time
 
def solve_recaptcha_phone(image_base64, question, grid_count, 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': 'ReCaptchaPhoneTask',
            'subType': '0',
            'image': image_base64,
            'other': f'{question}|{grid_count}'
        }
    }
    
    response = requests.post(create_task_url, json=create_task_payload)
    result = response.json()
    
    if result['errorId'] > 1:
        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-3 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'] > 1:
            raise Exception(result['errorDescription'])
        
        if result['status'] == 'ready':
            return result['solution']  # Retorna "0,5,9" - índices para clicar
        
        # Se status == 'processing', continuar loop
 
# Uso
image_base64 = 'iVBORw0KGgoAAAANSUhEUgAA...'  # Imagem do captcha codificada em base64
question = 'Select all images with a bus'  # Full question text from the captcha prompt
grid_count = 4  # Contagem de grade (3, 4 ou 5)
solution = solve_recaptcha_phone(image_base64, question, grid_count, 'YOUR_API_KEY')
print('Índices de grade para clicar:', solution)  # Exemplo: "0,5,9"
 
# Usar solução para clicar nas células correspondentes
indices = [int(i) for i in solution.split(',')]
for index in indices:
    # Clicar na célula com índice correspondente
    print(f'Clicar no índice da célula: {index}')

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. Preparar Imagem do Captcha

  • Capture a área de exibição da imagem do captcha claramente, sem bordas ou outros elementos de UI
  • Inclua apenas as células quadradas pequenas (grade) do captcha
  • Imagem no formato base64
  • Certifique-se de que a imagem tenha resolução suficiente para reconhecimento

2. Determinar Informações Precisas

  • Obtenha a pergunta da parte do texto em negrito do captcha (exemplo: "Select all images with a bus", "Select all squares with traffic lights")
  • Determine a contagem correta de grade (3x3, 4x4 ou 5x5)
  • Formate other corretamente: "pergunta|contagem_de_grade" (exemplo: "Select all images with a bus|4")

3. Intervalo de Polling

  • Aguarde pelo menos 2-3 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. Processar Resultados

  • A solução retornada é uma string de índices para clicar, separados por vírgulas (exemplo: "0,5,9")
  • O índice começa em 0, contando da esquerda para a direita, de cima para baixo
  • Analise a string e clique nas células correspondentes

5. 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

6. 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: