# 社媒接口返回的部分字段是空的，这样也要付钱吗？

> 微博、TikTok、公众号文章的播放、分享或点赞为什么会返回 null，meta.unavailable 怎么逐个说明原因，以及为什么字段为空的调用照样计费。

网页版：https://okdata.online/zh/answers/null-fields-still-charged/

**简短回答：**字段为空，要么是平台本身不公开这个数，要么是数据源暂时取不到；okdata 每次返回都会列出这些字段，并注明是哪一种原因。调用本身是成功的，所以照常计费，比如微博搜索每页 $0.002。围绕某个指标做报告之前，先做一次测试调用，看看这份清单。

报表模板里有一列分享数，结果一半是空的。先别急着怪数据，看看原因。用爬虫工具的人经常[反馈数据缺失](https://apify.com/clockworks/tiktok-scraper/issues/missing-data-qWJHpPSmyhqof1zKz)，原因通常就两种，okdata 在每次返回里都会写明。

## 两种原因

`meta.unavailable` 把每个为 null 的字段对应到一个原因：

- **`platform`**：平台对谁都不公开这个数，任何接口都拿不到。微博不像抖音那样展示分享和收藏，TikTok 的帖子没有标题。
- **`capability`**：平台在某处展示了，但这个接口背后的数据源暂时取不到，以后可能会变。公众号文章的阅读数就是值得先查一下的例子。

各平台的帖子、账号、评论用同一套字段名，缺的数就是 null，不会少一个键把你的解析代码弄崩。

```bash
curl -s -G "https://api.okdata.online/v1/weibo/posts/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'query=新品发布' | jq '.meta.unavailable'
# 例如 {"metrics.shares": "platform", "metrics.favorites": "platform", "title": "platform"}
```

## 要不要付钱

要。调用完成了，平台能提供的数据都返回了。价格按次算，不按字段算：

| 接口 | 价格 |
|---|---|
| [微博搜索](/zh/apis/weibo/posts/search/) | 每页 $0.002 |
| [TikTok 视频详情](/zh/apis/tiktok/videos/get/) | 每条 $0.002 |
| [公众号文章详情](/zh/apis/wechat_mp/articles/get/) | 每篇 $0.02 |

错误则不同。内容不存在返回 `not_found`，不收费；数据源故障返回 `upstream_failed`，也不收费。

## 别为拿不到的数付钱

1. 大任务开跑前，先调一次，看 `meta.unavailable`。报告依赖的指标如果在里面，就改报告或换平台，别在调用量上硬加。
2. 看接口页面，上面列了每个接口返回哪些字段。
3. 通过 [MCP](/zh/mcp/) 接入的智能体，可以先免费调用 `describe` 看字段，再决定调不调。
4. 用 `fields=` 去掉不需要的列。模型读结果时能省 token，调用费不变。

## 什么时候该换数据来源

`platform` 类的数字只有账号主人能在平台后台看到。自家账号，就去后台看。别人的账号，就挑各平台都公开的指标来比，比如点赞和评论数。按这个思路做跨平台对比，可以参考[内容研究](/zh/solutions/content-research/)。

## 用到的接口

- [微博搜索](https://okdata.online/zh/apis/weibo/posts/search/) `weibo.posts.search`：$0.002/次 · 每页约 10 条帖子
- [TikTok 视频详情](https://okdata.online/zh/apis/tiktok/videos/get/) `tiktok.videos.get`：$0.002/次
- [公众号文章详情](https://okdata.online/zh/apis/wechat_mp/articles/get/) `wechat_mp.articles.get`：$0.02/次

更新于 2026-11-12
