Skip to content

GET /task/result/:id — Get Result

Poll for the result of a submitted task.

GET https://api.ucaptcha.net/task/result/:task_id

Replace :task_id with the task_id returned by POST /task/submit.

Pass your API key via:

  • x-api-key header (recommended)
  • ?token= query parameter
{
"status": "QUEUED"
}
{
"status": "RUNNING"
}
{
"status": "SUCCESS",
"result": {
"token": "ct=abc123xyz..."
}
}

The result object contains the solution. The exact fields depend on the task type — most return a token field.

{
"status": "FAILED",
"error": "Task failed"
}
{
"status": "NOT_FOUND"
}
StatusDescription
QUEUEDTask created, waiting to be picked up
RUNNINGTask is actively being solved
SUCCESSSolution available in result
FAILEDTask could not be solved
NOT_FOUNDTask ID not found
Terminal window
curl https://api.ucaptcha.net/task/result/550e8400-e29b-41d4-a716-446655440000 \
-H "x-api-key: YOUR_API_KEY"
import requests
import time
task_id = "550e8400-e29b-41d4-a716-446655440000"
API_KEY = "YOUR_API_KEY"
while True:
result = requests.get(
f"https://api.ucaptcha.net/task/result/{task_id}",
headers={"x-api-key": API_KEY}
).json()
if result["status"] == "SUCCESS":
print("Token:", result["result"]["token"])
break
elif result["status"] in ("FAILED", "NOT_FOUND"):
print("Failed:", result.get("error"))
break
time.sleep(2)
const API_KEY = "YOUR_API_KEY";
const taskId = "550e8400-e29b-41d4-a716-446655440000";
while (true) {
const result = await fetch(`https://api.ucaptcha.net/task/result/${taskId}`, {
headers: { "x-api-key": API_KEY }
}).then(r => r.json());
if (result.status === "SUCCESS") {
console.log("Token:", result.result.token);
break;
} else if (result.status === "FAILED" || result.status === "NOT_FOUND") {
console.error("Failed:", result.error);
break;
}
await new Promise(r => setTimeout(r, 2000));
}