getTaskResult
JSON methods
Token tasks
- reCAPTCHA v2
- reCAPTCHA v2 Enterprise
- reCAPTCHA v3
- Cloudflare Turnstile
- GeeTest v3 / v4
- FunCaptcha (Arkose Labs)
- Amazon AWS WAF
- MTCaptcha
- Friendly Captcha
- Lemin Cropped Captcha
- DataDome
- KeyCaptcha
- Capy Puzzle
- Cloudflare Challenge page
- Cutcaptcha
- CyberSiARA
- atbCAPTCHA
- Tencent Captcha
- Prosopo Procaptcha
- CaptchaFox
- Altcha
- NetEase Yidun
- Yandex SmartCaptcha
- VK Captcha
- Binance Captcha
- Custom task (Imperva, Temu and others)
getTaskResult
Returns the state of a task. While it is being solved, status is processing. When it is done, status is ready and solution holds the answer. A failed task returns errorId 1 with the reason, and its charge is already back on the balance.
POSThttps://unlock-api.com/getTaskResult
Wait about 5 seconds after creating the task, then check every 5 seconds. A task not solved within 5 minutes fails with ERROR_CAPTCHA_UNSOLVABLE.
Request parameters
clientKeyStringRequired
Your API key, 32 characters, from the account page.
taskIdIntegerRequired
The id returned by createTask.
Request
POST /getTaskResult
{
"clientKey": "YOUR_API_KEY",
"taskId": 1001
}Response
{
"errorId": 0,
"status": "processing",
"taskId": 1001
}{
"errorId": 0,
"taskId": 1001,
"status": "ready",
"solution": {
"token": "0.zrSnRHO7h0HwSjSCU8oyzbjEtD8p..."
},
"cost": "0.00055",
"createTime": 1791640000,
"endTime": 1791640011,
"solveCount": 1
}{
"errorId": 1,
"errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
"errorDescription": "The task could not be solved. Its cost was returned to your balance.",
"taskId": 1001
}Response fields
errorIdInteger
0 when the request worked, 1 when it did not.
taskIdInteger
Task id.
statusString
processing while the task is being solved, ready when it is done.
solutionObject
The answer. Its fields depend on the task type.
costString
Price of this task in US dollars.
createTimeInteger
Unix time when the task was created.
endTimeInteger
Unix time when the task was solved.
solveCountInteger
How many times the task was solved. Always 1.
errorCodeString
Error name when errorId is 1.
errorDescriptionString
Short explanation of the error in English.
Code samples
curl -s https://unlock-api.com/getTaskResult \
-H "Content-Type: application/json" \
-d '{"clientKey":"YOUR_API_KEY","taskId":1001}'import requests
r = requests.post("https://unlock-api.com/getTaskResult", json={
"clientKey": "YOUR_API_KEY",
"taskId": 1001
}).json()
print(r)const r = await fetch("https://unlock-api.com/getTaskResult", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
"clientKey": "YOUR_API_KEY",
"taskId": 1001
}),
}).then((res) => res.json());
console.log(r);Errors this method can return
The key is wrong. Copy it again from the account page. (in.php and res.php: ERROR_WRONG_USER_KEY)
The request came from an IP that is not on the account's allow list. Add the IP on the account page.
This account is blocked. Contact support from the account page.
Too many requests. Slow down result checks to every 5 seconds.
There is no task with this id on your account.
The task could not be solved in time. Its charge is back on your balance.