Uma API para resolver captcha
para todos os desafios
Mude o campo type, não a sua integração. Todos os desafios que suportamos compartilham o mesmo formato de requisição e o mesmo formato de resposta.
POST https://api.captchano.com/v1/solve?wait=60
Authorization: Bearer cn-YOUR_API_KEY
Content-Type: application/json
{
"type": "recaptcha_v2",
"url": "https://example.com/login",
"sitekey": "6LcABC...",
"proxy": "http://user:pass@host:port",
"userAgent": "Mozilla/5.0 ..."
}200 OK
{
"id": "slv_3f9c0a7e1b2d4c6e8f0a1b2c",
"status": "ready",
"type": "recaptcha_v2",
"solution": {
"token": "03AGdBq25S...",
"userAgent": "Mozilla/5.0 ..."
},
"cost": "0.00598",
"solveTime": 12.4,
"createdAt": 1767225600000
}Autenticação
Envie sua chave como Authorization: Bearer cn-… (ou em um header X-API-Key). Crie e revogue chaves no painel. As chaves são exibidas uma única vez e armazenadas com hash, então guarde uma cópia em um lugar seguro.
Endpoints
POST /v1/solve— envia um desafio. Semwait, retorna202com umidestatus: "solving". Com?wait=N(até 120 segundos), a requisição fica aguardando até a resolução ficar pronta e retorna200, ou retorna202se ainda estiver em andamento quando a espera terminar.GET /v1/task/{id}— consulta uma tarefa. Faça polling a cada cinco segundos; o status passa desolvingparareadyoufailed. Uma solução paga continua disponível para consulta por dez minutos.GET /v1/balance— seu crédito restante, em USD.
Tipos de desafio
recaptcha_v2— url, sitekey; opcional invisible. $0.00598 por resolução bem-sucedida.recaptcha_v3— url, sitekey; opcionais action, minScore. $0.00598 por resolução bem-sucedida.recaptcha_enterprise— url, sitekey; opcional invisible — widgets Enterprise no estilo caixa de seleção (chaves Enterprise baseadas em pontuação não são suportadas). $0.00598 por resolução bem-sucedida.turnstile— url, sitekey; opcionais action, cData, pageData. $0.00435 por resolução bem-sucedida.datadome— url, challengeUrl, proxy (obrigatório), userAgent. $0.00435 por resolução bem-sucedida.image— body (imagem em base64). $0.003 por resolução bem-sucedida.
Campos que decidem a aceitação
proxy recebe uma string como http://user:pass@host:port (http, socks4 e socks5 são aceitos). É opcional em desafios baseados em token e obrigatório no DataDome. Passar o proxy que vai enviar o token é o fator que mais influencia a aceitação: um token gerado por trás de outro IP é o motivo mais comum para um token aparentemente válido ser rejeitado.
action e minScore se aplicam ao reCAPTCHA baseado em pontuação. Envie a action que a própria página informa, senão a pontuação é reduzida na verificação. Quando a solução incluir um userAgent, reutilize-o exatamente no envio.
Erros
Os erros trazem um code estável e legível por máquina e uma mensagem para humanos, seja como { "error": { "code", "message" } }, seja em uma tarefa com status: "failed". Nada que não tenha produzido uma solução utilizável é cobrado.
invalid_api_key(401) — Chave ausente, revogada ou incorreta.insufficient_balance(402) — O saldo não cobre uma resolução. Recarregue.unsupported_type(400 / 422) — Type desconhecido, url ausente ou um campo obrigatório ausente.invalid_sitekey(422) — A sitekey foi rejeitada para essa página.proxy_required(422) — O DataDome foi solicitado sem proxy.proxy_unreachable(400 / 422) — String de proxy malformada ou o proxy recusou a conexão.unsolvable(422) — Não foi possível resolver o desafio. Não cobrado.capacity_unavailable(503 / 422) — Temporariamente impossibilitado de aceitar resoluções. Tente novamente com backoff.task_not_found(404) — Nenhuma tarefa com esse id na sua conta.upstream_error(422) — Não foi possível concluir a resolução. Não cobrado.
Cobrança
Toda resposta ready informa seu cost em USD, descontado do seu saldo pré-pago. Resoluções que falham não custam nada. Os preços de cada tipo estão na página de preços.
SDKs
A API é HTTPS e JSON simples, então nenhum pacote é necessário. Se você preferir usar um, os SDKs oficiais de código aberto cobrem todos os tipos, erros tipados e a espera bloqueante: Python, Node.js e TypeScript, Go e PHP.
Exemplos
Exemplos funcionais para Selenium, Puppeteer, Playwright e Scrapy, além de wrappers de ferramenta para frameworks de agentes de IA, estão na documentação.
Pronto para começar?
Comece com um teste grátis de 3 dias e depois pague por resolução bem-sucedida conforme seu tráfego cresce. Não é preciso cartão para o teste.