Tipo de tarefa
reCAPTCHA v2
RecaptchaV2Taskproxy próprio
O reCAPTCHA v2 é a caixa de seleção “Não sou um robô” e sua variante invisível. A API retorna um token gRecaptchaResponse que você envia junto com o formulário da página.
Com o seu proxy: a tarefa é resolvida pelo proxy que você informar, então o token corresponde ao seu IP. As credenciais do proxy são apagadas após a resolução.
Métricas em tempo real, 24 h
As métricas em tempo real deste tipo aparecerão na página de status após o lançamento.
Parâmetros da tarefa
| Parâmetro | Tipo | obrigatório | Parâmetros da tarefa |
|---|---|---|---|
type | string | obrigatório | RecaptchaV2Task |
websiteURL | string | obrigatório | URL completa da página com o captcha. |
websiteKey | string | obrigatório | Chave do site (data-sitekey ou o parâmetro k da requisição anchor). |
isInvisible | boolean | opcional | true para o reCAPTCHA v2 invisível (sem caixa de seleção). |
recaptchaDataSValue | string | opcional | Valor de data-s, se a página o usar (alguns serviços do Google). |
userAgent | string | opcional | User-Agent usado na resolução; use o mesmo ao enviar o token. |
cookies | string | opcional | Cookies do site de destino no formato key1=value1; key2=value2. |
proxyType | string | obrigatório | http, socks4 ou socks5. |
proxyAddress | string | obrigatório | Endereço IP ou host do proxy (apenas endereços públicos). |
proxyPort | integer | obrigatório | Porta do proxy. |
proxyLogin | string | opcional | Login do proxy, se ele exigir autenticação. |
proxyPassword | string | opcional | Senha do proxy. Apagada após a resolução da tarefa. |
Exemplo
import time
import requests
API = "https://"
KEY = "YOUR_API_KEY"
# 1. create a task: the price is held, not charged
task = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "RecaptchaV2Task",
"websiteURL": "https://example.com/login",
"websiteKey": "6Le-SITE-KEY",
"proxyType": "http",
"proxyAddress": "203.0.113.10",
"proxyPort": 8080,
"proxyLogin": "user",
"proxyPassword": "pass",
},
}).json()
if task["errorId"]:
raise RuntimeError(task["errorCode"])
# 2. poll the result (or pass "callbackUrl" and get a signed webhook)
while True:
time.sleep(3)
res = requests.post(f"{API}/getTaskResult",
json={"clientKey": KEY, "taskId": task["taskId"]}).json()
if res["errorId"]:
raise RuntimeError(res["errorCode"])
if res["status"] == "ready":
print(res["solution"]["gRecaptchaResponse"])
break
Outros tipos de tarefas
- reCAPTCHA v2
RecaptchaV2TaskProxylessUS$ 0,60 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskProxylessUS$ 1,50 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskUS$ 1,50 - reCAPTCHA v3
RecaptchaV3TaskProxylessUS$ 0,90 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskProxylessUS$ 2,00 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskUS$ 2,00