# Web Capture

Fetch multiple public web pages by URL, including known pages the Agent cannot fetch locally, and return full-page Markdown or structured elements. Pages that need a login or interaction belong to the local browser MCP, not this task.

ID: task:raw_html_v1 · Region: global · Status: available

catalog_version: 938eb1e3bdb6476050bf2983e6e8db1edcf9f0942d16c7ebd2029dcd28295afe
updated_at: 2026-10-21T10:40:52.196893+00:00

Web

Dataset releases define historical periods; live reads describe request-time data and do not guarantee completeness.

Docs: https://docs.kleardata.ai/capabilities/task%3Araw_html_v1

## GET /v1/collections/tasks/raw_html_v1

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.



Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "raw_html_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "output_format": "markdown",
      "urls": [
        "https://example.com/"
      ]
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "output_format": {
        "default": "markdown",
        "enum": [
          "markdown",
          "json"
        ],
        "type": "string"
      },
      "urls": {
        "items": {
          "type": "string"
        },
        "maxItems": 10,
        "minItems": 1,
        "type": "array",
        "ui_default": [],
        "ui_max_url_length": 2048,
        "ui_required": true
      }
    },
    "required": [
      "urls"
    ],
    "type": "object"
  }
}
```

- input_schema (object): No field description available
- examples (array<object>): No field description available
## describe_collection_task

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.



Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "raw_html_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "output_format": "markdown",
      "urls": [
        "https://example.com/"
      ]
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "output_format": {
        "default": "markdown",
        "enum": [
          "markdown",
          "json"
        ],
        "type": "string"
      },
      "urls": {
        "items": {
          "type": "string"
        },
        "maxItems": 10,
        "minItems": 1,
        "type": "array",
        "ui_default": [],
        "ui_max_url_length": 2048,
        "ui_required": true
      }
    },
    "required": [
      "urls"
    ],
    "type": "object"
  }
}
```

- input_schema (object): No field description available
- examples (array<object>): No field description available
## asklear collection describe

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.



Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "raw_html_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "output_format": "markdown",
      "urls": [
        "https://example.com/"
      ]
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "output_format": {
        "default": "markdown",
        "enum": [
          "markdown",
          "json"
        ],
        "type": "string"
      },
      "urls": {
        "items": {
          "type": "string"
        },
        "maxItems": 10,
        "minItems": 1,
        "type": "array",
        "ui_default": [],
        "ui_max_url_length": 2048,
        "ui_required": true
      }
    },
    "required": [
      "urls"
    ],
    "type": "object"
  }
}
```

- input_schema (object): No field description available
- examples (array<object>): No field description available
## POST /v1/collections/estimate

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Use the task estimate and actual execution settlement for Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "output_format": {
          "default": "markdown",
          "enum": [
            "markdown",
            "json"
          ],
          "type": "string"
        },
        "urls": {
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "urls"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "raw_html_v1"
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "output_format": "markdown",
    "urls": [
      "https://example.com/"
    ]
  },
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 3
}
```

- quote_token (string): No field description available
- upper_bound_credits (integer): No field description available
## estimate_collection

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Use the task estimate and actual execution settlement for Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "output_format": {
          "default": "markdown",
          "enum": [
            "markdown",
            "json"
          ],
          "type": "string"
        },
        "urls": {
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "urls"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "raw_html_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "output_format": "markdown",
    "urls": [
      "https://example.com/"
    ]
  },
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 3
}
```

- quote_token (string): No field description available
- upper_bound_credits (integer): No field description available
## asklear collection estimate

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Use the task estimate and actual execution settlement for Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "output_format": {
          "default": "markdown",
          "enum": [
            "markdown",
            "json"
          ],
          "type": "string"
        },
        "urls": {
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "urls"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "raw_html_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "output_format": "markdown",
    "urls": [
      "https://example.com/"
    ]
  },
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 3
}
```

- quote_token (string): No field description available
- upper_bound_credits (integer): No field description available
## POST /v1/collections/jobs

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Use the task estimate and actual execution settlement for Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "output_format": {
          "default": "markdown",
          "enum": [
            "markdown",
            "json"
          ],
          "type": "string"
        },
        "urls": {
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "urls"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "raw_html_v1"
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "output_format": "markdown",
    "urls": [
      "https://example.com/"
    ]
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): No field description available
- status (string): No field description available

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## start_collection

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Use the task estimate and actual execution settlement for Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "output_format": {
          "default": "markdown",
          "enum": [
            "markdown",
            "json"
          ],
          "type": "string"
        },
        "urls": {
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "urls"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "raw_html_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "output_format": "markdown",
    "urls": [
      "https://example.com/"
    ]
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): No field description available
- status (string): No field description available

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## asklear collection start

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Use the task estimate and actual execution settlement for Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "output_format": {
          "default": "markdown",
          "enum": [
            "markdown",
            "json"
          ],
          "type": "string"
        },
        "urls": {
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "urls"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "raw_html_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "output_format": "markdown",
    "urls": [
      "https://example.com/"
    ]
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "raw_html_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): No field description available
- status (string): No field description available

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## GET /v1/collections/jobs/{job_id}

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 30,
          "minimum": 1,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 1,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): Asklear request identifier for tracing.
- result.meta.api_name (string): Executed collection operation name.
- result.meta.latency_ms (integer): Collection execution latency in milliseconds.
- result.meta.credits_charged (integer): Asklear Credits settled for each successful URL in this task.
- result.data.documents (array<object>): One result document per submitted URL.
- result.data.documents[].url (string): Normalized submitted URL.
- result.data.documents[].status (enum): succeeded or failed.
- result.data.documents[].format (enum): markdown or json.
- result.data.documents[].content (string): Markdown for a successful document, up to 10 MiB in UTF-8; total serialized result data is limited to 10 MiB. Content is not truncated.
- result.data.documents[].elements (array<object>): Structured JSON elements when format is json and status is succeeded.
- result.data.documents[].elements[].type (string): Element type, such as a visible HTML tag.
- result.data.documents[].elements[].text (string): Visible text for the element.
- result.data.documents[].elements[].metadata (object): Bounded element metadata; currently includes the source tag.
- result.data.documents[].error_code (string): collection_content_too_large for content exceeding the page or batch budget; collection_failed for other failures. Failed documents are not charged.
## get_collection_job

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 30,
          "minimum": 1,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 1,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): Asklear request identifier for tracing.
- result.meta.api_name (string): Executed collection operation name.
- result.meta.latency_ms (integer): Collection execution latency in milliseconds.
- result.meta.credits_charged (integer): Asklear Credits settled for each successful URL in this task.
- result.data.documents (array<object>): One result document per submitted URL.
- result.data.documents[].url (string): Normalized submitted URL.
- result.data.documents[].status (enum): succeeded or failed.
- result.data.documents[].format (enum): markdown or json.
- result.data.documents[].content (string): Markdown for a successful document, up to 10 MiB in UTF-8; total serialized result data is limited to 10 MiB. Content is not truncated.
- result.data.documents[].elements (array<object>): Structured JSON elements when format is json and status is succeeded.
- result.data.documents[].elements[].type (string): Element type, such as a visible HTML tag.
- result.data.documents[].elements[].text (string): Visible text for the element.
- result.data.documents[].elements[].metadata (object): Bounded element metadata; currently includes the source tag.
- result.data.documents[].error_code (string): collection_content_too_large for content exceeding the page or batch budget; collection_failed for other failures. Failed documents are not charged.
## asklear collection get-job

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Markdown 单页 UTF-8 最多 10 MiB,序列化结果 data 总量最多 10 MiB;超限页面明确失败,不截断正文、不计费。
只抓公开页面,需要登录或反爬拦截的页面会以单条失败返回,不影响同批其他 URL。
目标域名必须解析到公网单播地址;请求固定连接已校验的 IP 并保留 Host/SNI,每次跳转最多 5 次且重新校验目标。
不返回原始 HTML:markdown 返回整页 Markdown,json 返回结构化元素。只剥掉脚本与样式,导航、侧栏、页脚都会保留,不做正文抽取。
不执行 JavaScript,靠脚本渲染的页面只能拿到首屏 HTML 的转换结果。
单次最多 10 个 URL,按成功条数结算。

Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 30,
          "minimum": 1,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 1,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): Asklear request identifier for tracing.
- result.meta.api_name (string): Executed collection operation name.
- result.meta.latency_ms (integer): Collection execution latency in milliseconds.
- result.meta.credits_charged (integer): Asklear Credits settled for each successful URL in this task.
- result.data.documents (array<object>): One result document per submitted URL.
- result.data.documents[].url (string): Normalized submitted URL.
- result.data.documents[].status (enum): succeeded or failed.
- result.data.documents[].format (enum): markdown or json.
- result.data.documents[].content (string): Markdown for a successful document, up to 10 MiB in UTF-8; total serialized result data is limited to 10 MiB. Content is not truncated.
- result.data.documents[].elements (array<object>): Structured JSON elements when format is json and status is succeeded.
- result.data.documents[].elements[].type (string): Element type, such as a visible HTML tag.
- result.data.documents[].elements[].text (string): Visible text for the element.
- result.data.documents[].elements[].metadata (object): Bounded element metadata; currently includes the source tag.
- result.data.documents[].error_code (string): collection_content_too_large for content exceeding the page or batch budget; collection_failed for other failures. Failed documents are not charged.
## POST /v1/search/raw_html

legacy · available · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Public URLs only; no signed-in browser interaction.

Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "additionalProperties": false,
  "description": "Low-friction synchronous request for fetching public page content.",
  "properties": {
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "output_format": {
      "default": "markdown",
      "enum": [
        "markdown",
        "json"
      ],
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    },
    "urls": {
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "urls"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "output_format": "markdown",
  "urls": [
    "https://example.com/"
  ]
}
```

### Synthetic response / 合成响应

```json
{
  "data": {
    "documents": []
  }
}
```

- data (object): No field description available
- meta (object): No field description available
- meta.request_id (string): No field description available
- meta.api_name (string): No field description available
- meta.latency_ms (integer): No field description available
- meta.credits_charged (integer): No field description available

Follow up: GET /v1/search/{job_id}
Read pending webpage collection.

