Endpoints by data type
Post detail API
16 endpoints on 13 platforms return post details as the same Post object. One post, video, note or article by its ID or link: the full text, author, time posted, images and the counts as they stand when you call. A call costs from $0.0003 to $0.02, each endpoint at its own price; a failed call is free.
Post detail · on each platform
| Platform | Endpoint | Path | A page | Price |
|---|---|---|---|---|
| Douyin | Douyin video detail | GET /v1/douyin/videos/get | 1 | $0.002 per call |
| Xiaohongshu (RedNote) | Xiaohongshu note detail | GET /v1/xiaohongshu/notes/get | 1 | $0.02 per call |
| WeChat Official Accounts | Official Account article detail | GET /v1/wechat_mp/articles/get | 1 | $0.02 per call |
| Bilibili | Bilibili video detail | GET /v1/bilibili/videos/get | 1 | $0.002 per call |
| TikTok | TikTok video detail | GET /v1/tiktok/videos/get | 1 | $0.002 per call |
| X (Twitter) | X post detail | GET /v1/x/posts/get | 1 | $0.0003 per call |
| YouTube | YouTube video detail | GET /v1/youtube/videos/get | 1 | $0.002 per call |
| Instagram post detail | GET /v1/instagram/posts/get | 1 | $0.004 per call | |
| Reddit post detail | GET /v1/reddit/posts/get | 1 | $0.002 per call | |
| Kuaishou | Kuaishou video detail | GET /v1/kuaishou/videos/get | 1 | $0.002 per call |
| Zhihu | Zhihu article detail coming soon | GET /v1/zhihu/articles/get | 1 | $0.002 per call |
| WeChat Channels | WeChat Channels video detail | GET /v1/wechat_channels/videos/get | 1 | $0.02 per call |
| Douyin | Douyin Xingtu video report | GET /v1/douyin/xingtu/videos/get | 1 | $0.004 per call |
| Xiaohongshu (RedNote) | Xiaohongshu video note with its video | GET /v1/xiaohongshu/videos/get | 1 | $0.02 per call |
| Weibo post detail | GET /v1/weibo/posts/get | 1 | $0.002 per call | |
| YouTube | YouTube post detail | GET /v1/youtube/posts/get | 1 | $0.002 per call |
from $0.0003 to $0.02 a call, each endpoint at its own price. A call that fails costs nothing.
The object it returns: Post
Every endpoint above returns these fields with the same names and types. A field a platform does not show comes back null and is named in meta.unavailable.
| Field | Type | Meaning |
|---|---|---|
id | string | Post ID on the platform. |
url | string | Link to the post. |
type | string | What kind of post it is. |
title | string | null | Title, where the platform has one (videos, notes, articles). |
text | string | Caption, body or description as plain text; articles come as Markdown. |
lang | string | null | Language code, as reported or detected. |
published_at | string | null | When it was published, ISO 8601 in UTC; null only where the source gives no time (wechat_mp.articles.metrics, wechat_channels.videos.metrics, youtube.channels.videos.list with type=short), then listed in meta.unavailable. |
author | AccountRef | Who posted it. |
metrics | Metrics | Counts at fetch time; a count the platform hides is null. |
images | string[] | null | Image URLs for image posts and notes. |
hashtags | string[] | null | Hashtags or topics, without the # sign. |
ext | object | Platform-specific extras. Only returned with view=full. |
The same call on two platforms
Same parameters, same paging, same response shape. Only the path changes.
# Douyin
curl -G "https://api.okdata.online/v1/douyin/videos/get" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode 'id=7301234567890123456'
# Xiaohongshu (RedNote)
curl -G "https://api.okdata.online/v1/xiaohongshu/notes/get" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode 'id=6650a1b2000000001e00abcd'What people use it for
- Turn a list of links from a campaign report into current views and likes.
- Give an AI agent the full text of a post someone pasted into the chat.
- Re-check a viral post every few hours to see how fast it is still growing.
Questions
- Can I pass a share link?
- On most platforms, yes: the url parameter takes the post’s link, including short share links such as v.douyin.com and v.kuaishou.com. A WeChat article takes its mp.weixin.qq.com link.
- Do I get the video file?
- Usually not: you get the link, text, images or cover, and the counts. A few endpoints do return the file, and their pages say so; on WeChat Channels, for example, url is the video file, encrypted, with the key in ext.decode_key of the same answer.
- What if the post was deleted?
- The call answers not_found, and on most endpoints that costs nothing, private posts included, so you can check a long list of old links without paying for the dead ones. prices.json lists the few that charge for it.