Skip to content
../products
Alibaba CAPTCHAAntiAlibabaCaptchaTaskProxyLess

Alibaba CAPTCHA, solved in 15.0s.

Alibaba's signup / login captcha (GeeTest v4-family). Pass the captchaId; get a validation token.

$3.00per 1,000
~15.0savg solve
99%+success
4/mthroughput
type: AntiAlibabaCaptchaTask…0.00s
POST/createTask type=AntiAlibabaCaptchaTaskProxyLess
taskId tsk_ob8prd9m
POLL/getTaskResult status=processing
status ready
token 0xca88121f181a...
type: AntiAlibabaCaptchaTaskProxyLess● running on production solvers

What is Alibaba CAPTCHA?

Alibaba properties gate signup and login with a GeeTest v4-family challenge (captchaId-based). Passing the widget's captchaId, we solve the challenge and return the validation token your form submits.

How it works

1

Send Task

POST your AntiAlibabaCaptchaTaskProxyLess with the target URL and sitekey to our API. We'll queue it instantly.

2

We Solve

Send the widget's captchaId and the page URL. We drive the GeeTest v4 flow, solve the challenge, and return the validate token (with the lot_number / gen_time set your form needs). No proxy required for the solve.

3

Get Token

Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.

Quick integration

solve.py
import requests, time

API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"

# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "AntiAlibabaCaptchaTaskProxyLess",
        "type": "AntiAlibabaCaptchaTask",
        "captchaId": "<geetest captchaId>",
        "websiteURL": "https://www.example.com/register"
    }
}).json()

task_id = task["taskId"]
print(f"Task created: {task_id}")

# Step 2: Poll for result
while True:
    result = requests.post(f"{API}/getTaskResult", json={
        "clientKey": KEY,
        "taskId": task_id
    }).json()

    if result["status"] == "ready":
        print("Solved!", result["solution"])
        break
    elif result["status"] == "failed":
        print("Failed:", result.get("errorDescription"))
        break

    time.sleep(1)

Using the result

use_result.py
# Step 3 — GeeTest v4-family: submit these to your site's verify endpoint
sol = result["solution"]
requests.post("https://target.example.com/verify", data={
    "lot_number":     sol["lot_number"],
    "pass_token":     sol["pass_token"],
    "gen_time":       sol["gen_time"],
    "captcha_output": sol["captcha_output"],
})

Using your own proxy

Use AntiAlibabaCaptchaTask instead of AntiAlibabaCaptchaTaskProxyLess to route the solve through your own proxy. This is useful when the target site checks the IP that solved the captcha matches the IP submitting the form.

solve_proxy.py
import requests, time

API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"

# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "AntiAlibabaCaptchaTask",

    }
}).json()

task_id = task["taskId"]
print(f"Task created: {task_id}")

# Step 2: Poll for result
while True:
    result = requests.post(f"{API}/getTaskResult", json={
        "clientKey": KEY,
        "taskId": task_id
    }).json()

    if result["status"] == "ready":
        print("Solved!", result["solution"])
        break
    elif result["status"] == "failed":
        print("Failed:", result.get("errorDescription"))
        break

    time.sleep(1)

additional proxy parameters

proxyTypetypestringreqnohttp, https, or socks5.
proxyAddresstypestringreqyesProxy host (IP or hostname). Required — the solve is IP-bound.
proxyPorttypeintegerreqyesProxy port.
proxyLogintypestringreqnoProxy username, if your proxy needs auth.
proxyPasswordtypestringreqnoProxy password, if your proxy needs auth.

Task parameters

typetypestringreqyesAntiAlibabaCaptchaTask or AntiAlibabaCaptchaTaskProxyLess.
captchaIdtypestringreqyesThe GeeTest captchaId from the Alibaba widget.
websiteURLtypestringreqyesThe page hosting the captcha.

Solution response

tokentypestringThe GeeTest validation payload to submit with your form.
validatetypestringThe GeeTest `validate` value.
seccodetypeobjectThe full encrypted validation object (captcha_output / lot_number / pass_token / gen_time).

Example response

Full getTaskResult response shape. The fields in the table above describe what's inside solution — the outer envelope (errorId, status) is identical for every captcha type.

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "seccode": {
      "gen_time": "…",
      "lot_number": "…",
      "pass_token": "…",
      "captcha_output": "…"
    },
    "validate": "<validate token>"
  }
}

Error response

Failures use the same envelope with errorId: 1 plus errorCode + errorDescription. See the error-code reference for the full list.

{
  "errorId": 1,
  "errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
  "errorDescription": "Solver gave up — automatically refunded."
}

Pending response

While the solver is still working, getTaskResult returns status: "processing". Poll every 1–2 seconds until ready or failed.

{
  "errorId": 0,
  "status": "processing"
}

Features

Native GeeTest v4 solve
Returns the validate token + full seccode
No browser required

task types

proxyless: AntiAlibabaCaptchaTaskProxyLess

with proxy: AntiAlibabaCaptchaTask

Frequently asked questions

start solving alibaba captcha.

$0.10 in free credits — no card. ~250 free solves to test before you spend.