Task type
GeeTest v3
GeeTestTaskyour proxy
Send the page parameters, receive a ready-to-use token in the same response format as every other type.
With your proxy: the task is solved through the proxy you pass, so the token matches your IP. Proxy credentials are deleted after solving.
Live metrics, 24 h
Live metrics for this type will appear on the status page after launch.
Task parameters
| Parameter | Type | required | Task parameters |
|---|---|---|---|
type | string | required | GeeTestTask |
websiteURL | string | required | Full URL of the page with the captcha. |
gt | string | required | GeeTest gt: the public id of the site from initGeetest. |
challenge | string | required | A fresh GeeTest challenge for this task. |
userAgent | string | optional | User-Agent to solve with; use the same one when submitting the token. |
cookies | string | optional | Cookies for the target site in the key1=value1; key2=value2 format. |
proxyType | string | required | http, socks4 or socks5. |
proxyAddress | string | required | Proxy IP address or host (public addresses only). |
proxyPort | integer | required | Proxy port. |
proxyLogin | string | optional | Proxy login, if the proxy requires authorisation. |
proxyPassword | string | optional | Proxy password. Deleted after the task is solved. |
Example
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": "GeeTestTask",
"websiteURL": "https://example.com/login",
"gt": "81388ea1fc187e0c335c0a8907ff2625",
"challenge": "2e2f0f65240058b683cb6ea21c303eea",
"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"])
break
Other task types
- reCAPTCHA v2
RecaptchaV2TaskProxyless$0.60 - reCAPTCHA v2
RecaptchaV2Task$0.60 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskProxyless$1.50 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTask$1.50 - reCAPTCHA v3
RecaptchaV3TaskProxyless$0.90 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskProxyless$2.00 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTask$2.00 - Cloudflare Turnstile
TurnstileTaskProxyless$0.80 - Cloudflare Turnstile
TurnstileTask$0.80 - Cloudflare Challenge
CloudflareChallengeTaskProxyless$1.20 - Cloudflare Challenge
CloudflareChallengeTask$1.20 - GeeTest v3
GeeTestTaskProxyless$0.90 - GeeTest v4
GeeTestTaskProxylessV4$0.90 - GeeTest v4
GeeTestTaskV4$0.90 - Lemin
LeminTaskProxyless$1.20 - Lemin
LeminTask$1.20 - ARCaptcha
ARCaptchaTaskProxyless$1.20 - ARCaptcha
ARCaptchaTask$1.20 - ArvanCloud
ArvanCloudTaskProxyless$1.20 - ArvanCloud
ArvanCloudTask$1.20