> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleariflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 网页抓取 API

> Cleariflow 网页抓取 API 通过现代化的 RESTful JSON 接口提供 JavaScript 渲染页面提取，具备 SSRF 防护和灵活的渲染选项。

## 入门

<Card title="同步抓取" icon="browser" href="scrape/scrape">
  `scrape` 端点运行浏览器会话，在单次请求中返回渲染后的 HTML — 适合低延迟集成。
</Card>

<Card title="异步任务" icon="clock" href="scrape/jobs">
  `jobs` 端点将抓取任务入队，并允许轮询状态和结果 —— 适合高并发或加载较慢的页面。
</Card>

### REST 架构

Web 抓取 API 遵循 REST 原则，采用可预测的资源导向 URL 和标准 HTTP 状态码，实现无缝集成与错误处理。

### HTTPS 安全

所有 API 通信均通过 TLS 1.2 或更高版本加密，确保数据完整性与隐私。

### API 版本

Web 抓取 API 通过版本控制保持向后兼容，当前为 Version 1。

### 身份验证

API 密钥是访问 Web 抓取 API 的唯一凭证。每个 Cleariflow 服务需要独立密钥。请在 JSON 正文中通过 `api_key` 传递您的密钥。

### 基础 URL

```
https://scrape.cleariflow.com
```

### 页面渲染

页面在真实的无头浏览器中渲染。返回内容前会完整执行 JavaScript。内置 SSRF 防护会阻止对 localhost 和私有 IP 的请求。

## 响应与错误代码

请求失败时，API 返回结构化 JSON 错误响应及具体代码和说明，便于排查问题。

| 代码  | 类型                    | 说明                          |
| --- | --------------------- | --------------------------- |
| 200 | OK                    | 一切按预期工作。                    |
| 202 | Accepted              | 异步任务已成功入队。                  |
| 400 | Bad request           | 错误请求 — URL 无效、目标被阻止或负载格式错误。 |
| 401 | Unauthorized          | 请求未被接受，通常因 API 密钥缺失或错误。     |
| 422 | Quota reached         | 因 API 额度不足请求被中止。（免费套餐）      |
| 429 | Too many requests     | 达到每秒请求上限。免费套餐限制为每秒 1 次请求。   |
| 500 | Internal server error | 因服务器错误无法完成请求。               |
