Skip to content
API
Captcha do Facebook

Facebook Captcha

Visão Geral

O Facebook Captcha é um sistema de segurança usado pelo Facebook para prevenir spam, bots e atividades automatizadas indesejadas. Trata-se de um captcha de texto com a fonte distintiva do Facebook.

📘

O Facebook Captcha geralmente aparece ao fazer login, registrar novas contas ou quando o Facebook detecta atividade incomum na sua conta.

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
task.typestringsimImageToTextTask
task.imagestringsimbase64 da imagem do captcha do Facebook
task.subTypestringsimfacebook

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 do captcha do Facebook codificada em base64",
    "subType": "facebook"
  }
}

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
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": "2m7k8x"
}

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_facebook_captcha(image_path, 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': 'facebook'
        }
    }
    
    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_facebook_captcha('facebook_captcha.png', 'SUA_CHAVE_API')
print('Resultado do captcha do Facebook:', 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 existA chave da 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 corte a área correta do captcha do Facebook

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 API diretamente no código
  • Use variáveis de ambiente
  • Não exponha a chave API no lado do cliente (client-side)

Links Úteis: