Primeiros Passos

Início rápido do CaptchaAI: sua primeira resolução de CAPTCHA em 5 minutos

Este guia tem um único objetivo: levar você do zero à primeira chamada bem-sucedida da API e ao token resolvido o com menor latência possível. Sem teoria nem desvios — apenas os passos mínimos e código que funciona.

Todos os tipos de CAPTCHA suportados pelo CaptchaAI seguem o mesmo padrão de quatro passos:

  1. Enviar os dados do CAPTCHA para in.php
  2. Guardar o ID da tarefa retornado na resposta
  3. Consultar res.php a cada 5 segundos até o resultado ficar pronto
  4. Usar o token — injetá-lo na página ou requisição de destino

Passo 0: pegue sua chave de API

  1. Cadastre-se em captchaai.com
  2. Abra seu painel
  3. Copie a chave de 32 caracteres

Sua conta precisa de threads ativos para enviar tarefas. Se está só avaliando o serviço, fale com o suporte para liberar threads de teste.


Passo 1: envie um CAPTCHA

Este exemplo resolve um Cloudflare Turnstile — um dos tipos mais comuns. Você precisa de dois dados da página alvo:

  • sitekey — a chave pública do widget Turnstile (atributo data-sitekey ou parâmetros do script Turnstile; começa com 0x)
  • pageurl — a URL completa onde o widget é carregado

cURL

curl -X POST "https://ocr.captchaai.com/in.php" \
  -d "key=YOUR_API_KEY" \
  -d "method=turnstile" \
  -d "sitekey=0x4AAAAAAAC3DHQFLr1GavNl" \
  -d "pageurl=https://staging.example.com/qa-login" \
  -d "json=1"

Python

import requests

response = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "turnstile",
    "sitekey": "0x4AAAAAAAC3DHQFLr1GavNl",
    "pageurl": "https://staging.example.com/qa-login",
    "json": 1,
})
print(response.json())

Node.js

const response = await fetch("https://ocr.captchaai.com/in.php", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    key: "YOUR_API_KEY",
    method: "turnstile",
    sitekey: "0x4AAAAAAAC3DHQFLr1GavNl",
    pageurl: "https://staging.example.com/qa-login",
    json: "1",
  }),
});
console.log(await response.json());

PHP

<?php
$response = file_get_contents("https://ocr.captchaai.com/in.php?" . http_build_query([
    "key"       => "YOUR_API_KEY",
    "method"    => "turnstile",
    "sitekey"   => "0x4AAAAAAAC3DHQFLr1GavNl",
    "pageurl"   => "https://staging.example.com/qa-login",
    "json"      => 1,
]));
echo $response;

Passo 2: guarde o ID da tarefa

Resposta de sucesso:

{
  "status": 1,
  "request": "71823469"
}

O campo request é o ID da sua tarefa — você vai precisar dele para buscar o resultado.

Se status for 0, algo deu errado. O código de erro fica em request:

Erro Significado Como resolver
ERROR_WRONG_USER_KEY Formato da chave API errado Confira os 32 caracteres
ERROR_KEY_DOES_NOT_EXIST Chave não encontrada Verifique no painel
ERROR_ZERO_BALANCE Sem threads disponíveis Recarregue ou aguarde liberação
ERROR_PAGEURL Faltou o parâmetro pageurl Adicione a URL completa
ERROR_WRONG_GOOGLEKEY sitekey vazio ou inválido Reextraia o sitekey (Turnstile começa com 0x)

Passo 3: consulte o resultado

Espere 15 segundos, depois consulte a cada 5 segundos até receber resposta.

Python

import time

time.sleep(15)

while True:
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY",
        "action": "get",
        "id": "71823469",
        "json": 1,
    }).json()

    if result.get("request") == "CAPCHA_NOT_READY":
        time.sleep(5)
        continue

    if result.get("status") == 1:
        token = result["request"]
        print(f"Solved! Token: {token[:60]}...")
        break

    raise RuntimeError(result)

Node.js

await new Promise((r) => setTimeout(r, 15000));

while (true) {
  const r = await fetch(
    `https://ocr.captchaai.com/res.php?key=YOUR_API_KEY&action=get&id=71823469&json=1`,
  );
  const data = await r.json();
  if (data.request === "CAPCHA_NOT_READY") {
    await new Promise((r) => setTimeout(r, 5000));
    continue;
  }
  if (data.status === 1) {
    console.log("Solved:", data.request.slice(0, 60));
    break;
  }
  throw new Error(JSON.stringify(data));
}

Passo 4: use o token

O modo de injeção varia conforme o tipo de CAPTCHA:

  • Turnstile / reCAPTCHA: escrever em cf-turnstile-response ou g-recaptcha-response, ou chamar o callback da página.
  • OCR de imagem: colocar o texto reconhecido no input de resposta.
  • GeeTest / FunCaptcha: montar os vários campos retornados conforme o site.

Injeção mínima no navegador:

document.querySelector('[name="cf-turnstile-response"]').value = token;
document.querySelector("form").submit();

Erros comuns no começo

  • Espaço ao copiar a chave de API — remova-o.
  • Falta protocolo em pageurl — precisa ser https://....
  • Primeira consulta cedo demais — aguarde 15 segundos.
  • Consultar com muita frequência — 5 s é o suficiente, não acelera o resultado.
  • Threads esgotados — veja Formatos de resposta da API e seu plano.

Próximos passos

  • Como resolver reCAPTCHA v2 com a API: guia passo a passo
  • Como resolver Cloudflare Turnstile pela API
  • Como resolver GeeTest v3 usando API
  • Image Captcha Solving Using Api
Os comentários estão desativados para este artigo.