计费:一次调用花多少
一次成功的调用只扣一次,价格就是接口页上写的,$0.0003 起;空结果只在接口写明会收的情况下收。失败不扣费;24 小时内同一个幂等键不会扣第二次。
一次调用多少钱
- 按次:一页一个价,不管里面有几条。207 个接口里有 196 个这样计价;
tiktok.videos.search是每次 $0.0020。 - 按条:返回几条收几条的钱,另有每次最低和单次最高。有 11 个接口这样计价;X 社群帖子每条 $0.0003,每次最低 $0.0003,最高 $0.0060。
价格写在三个地方:接口的页面上、GET /v1/catalog(每个接口的 pricing)、prices.json。价格页列着全部。价格只用美元。
每次返回都在 meta.billing 里写明这次花了多少:
amount
这次扣了多少。
currency
固定是 USD。
balance_after
扣完之后的余额。
要给一次调用封顶,带上 X-Max-Price:可能超过它的调用在执行前就被拒(400 max_price_exceeded)。
什么情况扣费
结果返回什么扣不扣
完整数据,
result_status: complete。扣一次。批量里有的没取到取到的在
data.items,没取到的在 data.missing 并写原因;partial。按条的只收取到的;按次的照收一次。列表里个别条目无效无效的丢掉,
warnings 里写明丢了几条。按条的只收有效的;按次的只要有一条有效就收一次。请求合法但没有数据空的
items;empty。不要用同样的参数重试。只有接口写明要收的才收(pricing.charge_when_empty,页面上也写着):207 个接口里有 128 个收。批量一个都没取到
empty,要的每一个都列在 data.missing。不扣。我们或数据来源出错、超时5xx,写明能不能重试。不扣。用同一个
Idempotency-Key 重试。幂等
- 同一个
Idempotency-Key、同样的请求,24 小时内再发,返回第一次的结果,不再执行,不再扣费。 - 同一个键、不同的请求,是 409
idempotency_conflict。 - 可重试的失败不保存:同键再发会重新执行。不可重试的失败(对象不存在、参数错)24 小时内同键返回同样的报错。
- SDK 和命令行每次调用都会自己带一个键。直接发 HTTP 请求时要你自己带。
bash
curl -G "https://api.dataxapi.com/v1/tiktok/videos/search" \ --data-urlencode "query=space station" \ -H "Authorization: Bearer $DATAXAPI_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "X-Max-Price: 0.002"
两个不收费的查询,告诉你一次调用后来怎么样了:
GET /v1/calls?idempotency_key=…
一个键现在代表什么(state):free、in_progress、settled、failed、retryable 或 retry_refused。查询不会开始任何调用。
GET /v1/calls/{request_id}
一次调用的记录:status(in_progress、settled、released)和 charged(扣了多少)。
余额和充值
- 余额是预付的,没有订阅。在控制台的账单页充值,最低 $10。
- 余额不过期。
- 充值不退。可以先用试用金($0.10,一个邮箱一次)试,再决定充不充。
- 余额不够的调用在执行前被拒:402
insufficient_balance,带required(需要多少)和available(现在有多少)。超出某把 Key 自己上限的是 402key_budget_exceeded。
用量
GET /v1/usage 汇总这个账户已经结束的调用,不收费。group_by 可以取 day、capability、key_id、entry、source、end_user 里的一个或几个;since 和 until 定时间段(不写是最近 30 天,最长 92 天);format=csv 返回文件。每行有 calls(调用数)、settled(交付了的)、charged(扣了多少)。
bash
curl -G "https://api.dataxapi.com/v1/usage" \ --data-urlencode "group_by=day,capability" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"