# 按次计费的数据接口，会不会项目做到一半突然涨价？

> 会，任何数据接口都可能调价，X 和不少爬虫服务都调过。怎么自动发现价格变化、把损失控制住，让 X、抖音数据项目的预算不被打乱。

网页版：https://okdata.online/zh/answers/data-api-price-changes/

**简短回答：**会。任何服务商都可能调价，X 也调过。okdata 每次调用按调用那一刻的接口价格扣费（目前 X 帖子搜索 $0.006，抖音搜索 $0.02），价格表带版本号，脚本可以盯着它；每次返回也写明了这次实际扣了多少，价格一变，变后的第一次调用就能发现。

数据接口调价常见到值得提前准备。2026 年，X 把每月 200 美元的 Basic 套餐换成了[按量付费的预充值额度](https://opentermsarchive.org/en/memos/x-replaces-its-dollar200-entry-level-api-plan-with-a-pay-per-use-model/)。某个热门的 X 爬虫改了每千条结果的定价，[有用户直接发帖质疑新价格](https://apify.com/quacker/twitter-scraper/issues/unlogical-new-pricin-W1mTtb7ajE5rWMh15)。V2EX 上也有人发现 [各家 API 中转都涨了不少](https://www.v2ex.com/t/1027802)。调价本身不稀奇，关键是你当天就发现，还是月底对账才发现。

## okdata 提供的发现手段

- **带版本号的价格表。** `https://okdata.online/prices.json` 列出全部接口的价格，并带 `price_book` 版本号。版本号变了，就说明有接口调价了。
- **每次返回都写明扣费。** `meta.billing.amount` 是这一次的准确费用：[X 帖子搜索](/zh/apis/x/posts/search/)目前 $0.006，[抖音视频搜索](/zh/apis/douyin/videos/search/)目前 $0.02。
- **没有要解约的合同。** 预充值、没有套餐，价格不合适的那天就可以停下或者换掉。

这里没有锁定一段时间价格的承诺。长期合作型的项目，可以发邮件给 hello@okdata.online，书面确认。

## 让流水线自己发现

```python
import json, os, pathlib, requests
from decimal import Decimal

book = requests.get("https://okdata.online/prices.json", timeout=30).json()
seen = pathlib.Path("price_book.json")
if seen.exists() and json.loads(seen.read_text())["price_book"] != book["price_book"]:
    print("价格表有变化：本次运行前先核对价格")
seen.write_text(json.dumps({"price_book": book["price_book"]}))

expected = {e["id"]: Decimal(e["price"]) for e in book["endpoints"]}
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
body = requests.get("https://api.okdata.online/v1/x/posts/search", headers=H,
                    params={"query": "你的品牌", "sort": "latest"}, timeout=60).json()
charged = Decimal(body["meta"]["billing"]["amount"])
if charged > expected["x.posts.search"]:
    raise SystemExit(f"实际扣费 {charged}，预期 {expected['x.posts.search']}，停止运行")
```

## 把预算本身护住

- **承诺期越短越好。** 年付能拿折扣，但一旦调价就很被动。按次付费加适量余额，风险就限于已经充进去的那部分。
- **把服务商藏在一个函数后面。** 业务代码只调用 `search_posts()`，不直接写死某家的地址，换一家只要一个下午。
- **预算留余量。** 按今天的价格算完，再加 20% 到 30%，留给补采和调价。
- **大任务前重新估一次。** 跑 5 万次调用的回溯之前，花两分钟对一遍价格表，很便宜的保险。

最新价格和哪些情况不收费，见[价格页](/zh/pricing/)。

## 用到的接口

- [X 帖子搜索](https://okdata.online/zh/apis/x/posts/search/) `x.posts.search`：$0.006/次 · 每页约 20 条帖子
- [抖音视频搜索](https://okdata.online/zh/apis/douyin/videos/search/) `douyin.videos.search`：$0.02/次 · 每页约 20 条视频

更新于 2026-11-12
