问答
社媒数据接口返回的数据有多新?
简短回答
okdata 每次调用都在你调用的那一刻去平台读取,每次返回都会记下数据是几点读的、是不是由短期缓存返回的。所以数据新不新,取决于你上次是什么时候调的:刷新一条 TikTok 视频的数据 $0.002,一条 X 帖子 $0.001,抖音热搜榜 $0.002。
报告里写着竞品某条视频有 120 万播放。这是什么时候的数?答不上来的话,这个数就没多大用处。关于播放量看起来不对的争论,多数最后发现是两次读取的时间不一样。新鲜度是每一次返回自己的属性,好习惯是把时间戳和数字存在一起。
每次返回告诉你什么
meta.fetched_at:数据从平台读取的时间。meta.cached:只有这次由短期缓存返回、没有重新读取时,才为true。
返回里的每个指标,都是 fetched_at 那一刻的快照。你读完之后点赞还在涨,已经拿到的数据不会自己更新。
curl -s -G "https://api.okdata.online/v1/x/posts/get" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode 'url=https://x.com/user/status/1850000000000000000' \
| jq '{fetched_at: .meta.fetched_at, cached: .meta.cached, metrics: .data.item.metrics}'
需要多新,要花多少
| 用途 | 接口 | 刷新频率 | 费用 |
|---|---|---|---|
| 跟踪热搜 | 抖音热搜榜 | 每小时一次,跑一天 | $0.048 |
| 微博同理 | 微博热搜 | 每小时一次,跑一个月 | $1.44 |
| 投放视频的数据 | TikTok 视频详情 | 100 条视频,每天一次,30 天 | $6.00 |
| 一条爆帖的传播 | X 帖子详情 | 每 15 分钟一次,持续 6 小时 | $0.024 |
大多数报告按天更新就够了。热搜是例外,几个小时就换一轮,按小时存快照,历史数据才有价值。
看着像过时、其实不是的情况
- 平台自己有延迟。 有的平台按自己的节奏更新公开计数,隔一分钟读两次,差值可能比真实变化大,也可能完全一样。
- 平台不公开的数字。 平台不展示的指标返回 null,
meta.unavailable会注明。null 不是旧值。 - 你自己的缓存。 表格或看板里存的是旧返回,显示的自然是旧数。每个数字旁边都标上
fetched_at。
要看数据随时间的变化,就按固定间隔去取,每次快照连同时间戳一起存,不要覆盖上一次的值。热搜的这种做法见趋势研究。
更新于