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.

1. Criar Tarefa
Requisição
POST https://api.achicaptcha.com/createTask
Parâmetros
| Nome do Parâmetro | Tipo de Dados | Obrigatório? | Descrição |
|---|---|---|---|
clientKey | string | sim | Chave da API |
task.type | string | sim | RecaptchaV2TaskProxyless para resolução ultra-rápida RecaptchaV2TaskProxylessNormal para resolução normal |
task.websiteURL | string | sim | URL do site contendo o captcha |
task.websiteKey | string | sim | Chave 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âmetro | Tipo de Dados | Obrigatório? | Descrição |
|---|---|---|---|
clientKey | string | sim | Chave da API |
taskId | string | sim | TaskId 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 = 0estatus = ready: Resolvido com sucesso, leia o resultado emsolutionerrorId = 0estatus = processing: Resolvendo captcha, aguarde 2 segundos e tente novamenteerrorId > 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 Erro | Descrição | Notas |
|---|---|---|
| 0 | sucesso | Sucesso |
| 1 | processando | Processando |
| 2 | campos obrigatórios ausentes | Campos obrigatórios ausentes, verifique os parâmetros novamente |
| 3 | tarefa não suportada | Tipo de tarefa não suportado |
| 4 | falha ao criar tarefa | Falha ao criar tarefa |
| 5 | chave do cliente não existe | Chave da API não existe, verifique a chave da API novamente |
| 6 | saldo da conta insuficiente | Saldo da conta insuficiente, adicione mais créditos |
| 7 | tarefa falhou, por favor crie uma nova tarefa | Tarefa falhou, por favor crie uma nova tarefa |
| 8 | ID da tarefa não existe | ID 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-sitekeyestá 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: