# getTaskResult 获取结果

> POST /getTaskResult 查询异步任务的结果：每 5 秒查一次，processing 继续等，ready 取 solution，出错停止轮询；任务最长约 110 秒，结果保留约 10 分钟，查询不扣点。

Source: https://docs.yescaptcha.com/zh/api/get-task-result/ · Last verified: 2026-10-15

`getTaskResult` 查询异步任务的结果。创建任务后每 5 秒调用一次：返回 `processing` 就继续等，返回 `ready` 时结果在 `solution` 里，返回错误就停止。查询不扣点，查多少次都一样。

- POST `https://api.yescaptcha.com/getTaskResult` (国际节点)
- POST `https://cn.yescaptcha.com/getTaskResult` (国内节点)

## 请求参数

| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `clientKey` | string | 是 | 账户密钥，和创建任务时用的相同 |
| `taskId` | string | 是 | [`createTask`](https://docs.yescaptcha.com/zh/api/create-task/) 返回的任务 ID |

```json
{ "clientKey": "YOUR_CLIENT_KEY", "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" }
```

## 返回结果

| 情况 | 返回 | 怎么做 |
| --- | --- | --- |
| 处理中 | `{"errorId": 0, "status": "processing"}` | 5 秒后再查 |
| 完成 | `{"errorId": 0, "status": "ready", "solution": {...}}` | 取 `solution`，`solution` 的字段见各任务类型页 |
| 识别失败 | `{"errorId": 1, "errorCode": "ERROR_CAPTCHA_UNSOLVABLE", ...}` | 已自动退点，可以重新创建任务 |
| 超时 | `{"errorId": 1, "errorCode": "ERROR_TASK_TIMEOUT", ...}` | 已自动退点，可以重新创建任务 |
| 任务不存在或已过期 | `{"errorId": 1, "errorCode": "ERROR_TASKID_INVALID", ...}` | 停止查询这个 `taskId` |

完成时的例子（reCAPTCHA v2）：

```json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..."
  }
}
```

## 规则

-   **每 5 秒查一次。** 同一个 `taskId` 5 秒内的重复查询直接返回 `processing`，查得更勤不会更快。
-   **任务最长处理约 110 秒**（少数类型 180 到 220 秒），超时返回 `ERROR_TASK_TIMEOUT` 并自动退点。程序里的等待上限建议设为 3 分钟左右。
-   **结果保留约 10 分钟**，之后 `taskId` 失效，返回 `ERROR_TASKID_INVALID`。拿到结果要尽快使用：token 本身的有效期更短（reCAPTCHA 约 120 秒）。
-   **出错就停。** 返回 `errorId: 1` 后继续查同一个 `taskId` 结果不会变；同一个已结束的任务被查到第 3 次起，`errorDescription` 末尾会提示停止轮询。`ERROR_TASKID_INVALID` 计入 [自动暂停](https://docs.yescaptcha.com/zh/api/rate-limits/) 的错误次数（同一个 ID 只算第一次）。
-   在哪个节点创建的任务，就到哪个节点查询。
-   `getTaskResult` 不受自动暂停影响：暂停前已创建的任务照常可以查。
