问答

社媒数据接口返回的数据有多新?

简短回答

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。

要看数据随时间的变化,就按固定间隔去取,每次快照连同时间戳一起存,不要覆盖上一次的值。热搜的这种做法见趋势研究。

更新于