Tasks
Updated 8/6/2026
Aliyun Captcha 2.0 Solver API
Solve Aliyun Captcha 2.0 challenges with the Solverify Aliyun Solver API. Create a browser-based task with the page URL, Aliyun SceneId, identity prefix, region, and proxy, then retrieve the verification payload from solution.value.
Use this task type when an authorized integration needs the Aliyun certifyId, deviceToken, and verification data generated by a completed Captcha 2.0 session.
The Aliyun integration follows the standard Solverify task workflow:
- Identify the page URL,
SceneId, identity prefix, and region. - Create an
aliyuntask with the proxy used by the target workflow. - Store the returned
taskId. - Poll
POST /getTaskResultuntil processing completes. - Parse the verification payload from
solution.value. - Submit it through the same network path used for the solve.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
clientKey | string | Yes | Your private Solverify API key. |
task.type | string | Yes | Must be aliyun. |
task.websiteURL | string | Yes | Full URL where the Aliyun Captcha 2.0 widget is displayed. Maximum 2,048 characters. |
task.websiteKey | string | Yes | Aliyun SceneId passed to initAliyunCaptcha. Maximum 256 characters. |
task.prefix | string | Yes | Identity Prefix from the Aliyun Captcha console. Maximum 128 characters. |
task.region | string | No | Aliyun region: sgp or cn. Default: sgp. |
task.useragent | string | No | Chrome-family user-agent for the browser session. The worker accepts desktop Chrome/Chromium and Android Chrome when it can generate a compatible fingerprint. |
task.proxyType | string | Yes | Proxy type. Only http is accepted. |
task.proxyAddress | string | Yes | Proxy IP address or hostname. Maximum 256 characters. |
task.proxyPort | string | Yes | Proxy port as a numeric string containing 1 to 5 digits. |
task.proxyLogin | string | No | Username for an authenticated proxy. |
task.proxyPassword | string | No | Password for an authenticated proxy. |
The identity prefix is the subdomain portion of <prefix>.captcha-open.aliyuncs.com.
Aliyun's device token is tied to the network path that generated it. Use the same proxy IP for the solver task and the follow-up business request.
If useragent is supplied, use desktop Chrome/Chromium or Android Chrome. The Node worker accepts Android Chrome only when it can generate a compatible device fingerprint; Android solving is not covered by a dedicated Aliyun end-to-end test. Firefox, Edge, Opera, iOS, and non-Chrome Android user-agents are rejected.
Create Aliyun Task Request
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "aliyun",
"websiteURL": "https://h5.rsnvip7.fun/",
"websiteKey": "s7r707fw8",
"prefix": "zir9dtu",
"region": "sgp",
"proxyType": "http",
"proxyAddress": "1.1.1.1",
"proxyPort": "8080",
"proxyLogin": "username",
"proxyPassword": "password"
}
}
Omit region to use sgp. Omit proxy credentials when authentication is not required. The optional useragent field is also omitted in this example.
Aliyun Solver Code Examples
These examples create an Aliyun Captcha 2.0 task and print the returned task ID.
curl --request POST \
--url https://solver.solverify.net/createTask \
--header "Content-Type: application/json" \
--data '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "aliyun",
"websiteURL": "https://h5.rsnvip7.fun/",
"websiteKey": "s7r707fw8",
"prefix": "zir9dtu",
"region": "sgp",
"proxyType": "http",
"proxyAddress": "1.1.1.1",
"proxyPort": "8080"
}
}'
Create Task Response
{
"errorId": 0,
"taskId": "UUID"
}
Completed Aliyun Result
{
"errorId": 0,
"status": "completed",
"solution": {
"value": "{\"sceneId\":\"s7r707fw8\",\"certifyId\":\"Zfx3380sm1\",\"deviceToken\":\"U0dfV0VCIzM3OTVkMjgyNDJhMTE2MTli...\",\"data\":\"JRMlgg1EDSM6Rg4LRQRHM1ICsZIZfhFXaGEBckRX...\"}"
},
"errorCode": null,
"errorDescription": null
}
Parsing solution.value
The value commonly contains these Aliyun verification fields:
| Field | Description |
|---|---|
sceneId | Scene identifier associated with the solved Captcha 2.0 widget. |
certifyId | Certification identifier generated by the Aliyun challenge. |
deviceToken | Device token associated with the browser and network context. |
data | Aliyun verification data submitted to the target workflow. |
solution.value may be a JSON-encoded string or a structured object, depending on result storage and deserialization. Check its type before parsing:
const verification = typeof result.solution.value === "string"
? JSON.parse(result.solution.value)
: result.solution.value;
Aliyun Timeout
The current Node worker timeout for Aliyun tasks is approximately 120 seconds. Configure an overall polling deadline and stop when the API returns an error.
Aliyun Captcha API Errors
| Error code | Description |
|---|---|
ERROR_INVALID_REQUEST | The top-level request is missing or contains invalid JSON. |
ERROR_INVALID_TASK | The URL, SceneId, prefix, region, or proxy settings are missing or invalid. |
ERROR_INSUFFICIENT_BALANCE | The account balance is too low to create the task. |
ERROR_NO_CAPACITY | Aliyun solver capacity is temporarily unavailable. |
ERROR_TASK_FAILED | The Aliyun challenge could not be completed or rejected its configuration. |
ERROR_TIMEOUT | Solving exceeded the allowed processing time. |
For recovery guidance and every supported response, see Solverify API Error Codes.
Next Steps
After creating an Aliyun Captcha 2.0 task, poll the Get Task Result API every 2 to 3 seconds with the returned taskId. Stop polling after completion or failure.
Frequently Asked Questions
What does the Aliyun Captcha 2.0 Solver API return?
The completed task returns the Aliyun verification payload in solution.value, commonly containing sceneId, certifyId, deviceToken, and data.
Which Aliyun regions are supported?
Use sgp or cn. If task.region is omitted, the solver defaults to sgp.
What is the Aliyun identity prefix?
It is the subdomain portion of the endpoint shown in the Aliyun Captcha console: <prefix>.captcha-open.aliyuncs.com.
Is a proxy required?
Yes. Aliyun tasks require proxyType, proxyAddress, and proxyPort. Use the same proxy IP for the follow-up request that consumes the device token.
Can I supply a user-agent?
Yes. task.useragent is optional. The Node worker accepts desktop Chrome/Chromium and can configure Android Chrome with a matching mobile fingerprint, but the repository does not currently include an Aliyun Android end-to-end test.
Why does solution.value sometimes look like an escaped string?
The verification payload may be stored as serialized JSON. Parse it once when it is a string; use it directly when the API already returns an object.