# 积分与限制

> 了解 Search1API 的请求费用、账户余额、充值、自动充值、速率限制和超时。

Canonical URL: https://s1.dev/zh/docs/essentials/credits-and-limits

Search1API 在请求成功完成时扣除积分。搜索已完成但没有找到任何结果，同样属于成功请求，会被计费；以错误状态码失败的请求（包括 `502` 服务失败）不计费。

## 请求费用

| 端点 | 积分 |
| --- | --- |
| `POST /search` | 1 |
| `POST /maps` | 每页 3（每页最多 20 个地点） |
| `POST /ask` | 5 |
| `POST /news` | 1 |
| `POST /crawl` | 1 |
| `POST /screenshot` | 2 |
| `POST /sitemap` | 1 |
| `POST /trending` | 1 |
| `POST /extract` | 10 |
| `POST /deepcrawl` | 20 |
| `GET /deepcrawl/status/{taskId}` | 免费 |
| `GET /usage` | 免费 |

## 搜索并获取完整页面内容

当你设置了 `crawl_results` 时，`/search` 和 `/news` 的费用是动态的：

```text
1 credit for the search + 1 credit for each page crawled successfully
```

例如，如果 `crawl_results` 为 `4`，其中三个页面返回了内容，则该请求消耗 4 积分。抓取失败的页面不计费。`crawl_results` 不能大于 `max_results`。

批量请求按条目逐项计费。即使批量中的其他条目成功，失败的条目费用也为零。

## Maps 分页与计费

`POST /maps` 每次请求获取一页 Google Maps 结果，每页最多 20 个地点。每个完成的页面消耗 3 积分，包括经确认为空的页面。技术故障不计费。`max_results` 会截断该页结果，但不会降低该页的费用；获取下一页需要再发起一次请求。Maps 目前只支持单个请求。

Maps 返回 `searchParameters` 和 `results`，与 Search 和 News 的单请求格式一致。所请求的页码包含在 `searchParameters` 中；`results` 数组包含该页返回的地点。某一页结果较少或为空，并不代表后续页面一定没有结果。使用 `GET /usage` 查看账户剩余余额。

## 免费积分与付费积分

新账户可获得 100 积分，无需信用卡，且不会过期。订阅会每月重置额度。充值积分永不过期。当两种余额同时可用时，优先扣除订阅积分，再扣除充值积分。

当前套餐和充值金额请参阅[价格页面](https://s1.dev/pricing)。

## 充值积分

可充值 **$5 到 $2,000** 之间的任意金额。基础汇率为 **$1 = 1,000 积分**。充值金额较大时，整笔金额均可获得赠送：

- $19 及以上：+5%
- $99 及以上：+20%
- $499 及以上：+60%

你可以从[价格页面](https://s1.dev/pricing#pay-as-you-go)或仪表盘发起充值。如需充值超过 $2,000，请联系 [sys@search1api.com](mailto:sys@search1api.com)。

## 自动充值

自动充值是可选功能，默认关闭。在[仪表盘](https://app.s1.dev/)中设置积分阈值、充值金额和银行卡。只有当可用的订阅积分与充值积分合计低于阈值时，Search1API 才会按设定金额扣款。

自动充值与手动充值使用相同的赠送档位。保存规则时不会扣款。任意 24 小时内最多自动扣款三次；连续三次扣款失败后，该功能会自动关闭。阈值必须低于单次充值到账的积分数，这样一次充值就能让余额回到阈值以上。

如果已开启自动充值且仍可正常执行，Search1API 不会发送通用的余额不足邮件。扣款失败时会单独发送通知；多次失败后，你可以更新银行卡并重新开启该规则。

## 查询余额

```bash
curl https://api.search1api.com/usage \
  -H "Authorization: Bearer YOUR_API_KEY"
```

```json
{ "usage": 24980 }
```

`usage` 字段表示剩余积分数。当余额不足以支付一次成功请求的费用时，API 会返回 `402 Payment Required`，而不是原本的成功响应。

## 速率限制

对于使用 Bearer 认证、从账户积分扣费的请求，大多数端点的限制为**每个账户每分钟 200 次请求**。截图渲染有单独的限制，为**每个账户每分钟 10 次请求**；`/ask` 也有单独的限制，为**每个账户每分钟 30 次请求**。同一账户下使用不同 API 密钥发起的请求共享这些限制。

超出端点限制的请求会返回 `429 Too Many Requests`，并带有 `Retry-After: 60` 响应头。请等待该时长后再重试。如需更高的限制，请联系 [sys@search1api.com](mailto:sys@search1api.com)。

## 客户端超时

搜索和结果抓取操作最多会等待上游服务 20 秒。截图请求接受 1 到 30 秒的 `timeout_ms` 值。`/ask` 最长可能需要 35 秒。请将客户端超时设置得高于 API 超时，以便服务端能返回有用的错误响应。

`POST /deepcrawl` 是异步的。成功发起后会返回 `202 Accepted` 和一个 `taskId`；通过轮询 `GET /deepcrawl/status/{taskId}` 获取结果。查询状态不消耗积分。

> **info:** 针对不同状态码的恢复方式，请参阅[错误处理](https://s1.dev/zh/docs/essentials/error-handling)。