# Account posts API

> 12 endpoints on 12 platforms return account posts as the same Post object. What one account has published, newest first on most platforms, a page at a time: each post’s text, link, time posted and…

Canonical page: https://okdata.online/roles/accounts-posts-list/

12 endpoints on 12 platforms return account posts as the same Post object. What one account has published, newest first on most platforms, a page at a time: each post’s text, link, time posted and counts. A call costs from $0.002 to $0.02, each endpoint at its own price; a failed call is free.

## on each platform

| Platform | Endpoint | Path | A page | Price |
|---|---|---|---|---|
| Douyin | [Douyin account videos](https://okdata.online/apis/douyin/users/videos/list/) | `GET /v1/douyin/users/videos/list` | 20 | $0.002 per call · about 20 videos per page |
| Xiaohongshu (RedNote) | [Xiaohongshu account notes](https://okdata.online/apis/xiaohongshu/users/notes/list/) | `GET /v1/xiaohongshu/users/notes/list` | 20 | $0.02 per call · about 20 notes per page |
| WeChat Official Accounts | [Official Account article history](https://okdata.online/apis/wechat_mp/accounts/articles/list/) | `GET /v1/wechat_mp/accounts/articles/list` | 10 | $0.02 per call · about 10 articles per page |
| X (Twitter) | [X account posts](https://okdata.online/apis/x/users/posts/list/) | `GET /v1/x/users/posts/list` | 20 | $0.002 per call · about 20 posts per page |
| Instagram | [Instagram account posts](https://okdata.online/apis/instagram/users/posts/list/) | `GET /v1/instagram/users/posts/list` | 12 | $0.004 per call · about 12 posts per page |
| Reddit | [Reddit user posts](https://okdata.online/apis/reddit/users/posts/list/) | `GET /v1/reddit/users/posts/list` | 25 | $0.002 per call · about 25 posts per page |
| Kuaishou | [Kuaishou account videos](https://okdata.online/apis/kuaishou/users/videos/list/) | `GET /v1/kuaishou/users/videos/list` | 20 | $0.02 per call · about 20 videos per page |
| Zhihu | [Zhihu user articles](https://okdata.online/apis/zhihu/users/articles/list/) (coming soon) | `GET /v1/zhihu/users/articles/list` | 20 | $0.002 per call · about 20 articles per page |
| WeChat Channels | [WeChat Channels account videos](https://okdata.online/apis/wechat_channels/users/videos/list/) | `GET /v1/wechat_channels/users/videos/list` | 15 | $0.02 per call · about 15 videos per page |
| Weibo | [Weibo account posts](https://okdata.online/apis/weibo/users/posts/list/) | `GET /v1/weibo/users/posts/list` | 20 | $0.002 per call · about 20 posts per page |
| Bilibili | [Bilibili account videos](https://okdata.online/apis/bilibili/users/videos/list/) | `GET /v1/bilibili/users/videos/list` | 30 | $0.002 per call · about 30 videos per page |
| TikTok | [TikTok account videos](https://okdata.online/apis/tiktok/users/videos/list/) | `GET /v1/tiktok/users/videos/list` | 10 | $0.002 per call · about 10 videos per page |

## The object it returns: [Post](https://okdata.online/docs/objects/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.

```bash
# Douyin
curl -G "https://api.okdata.online/v1/douyin/users/videos/list" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'id=MS4wLjABAAAA...'

# Xiaohongshu (RedNote)
curl -G "https://api.okdata.online/v1/xiaohongshu/users/notes/list" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'id=5f1234567890abcdef123456'
```

## What people use it for

- Pull a competitor’s last three months of posts and see which formats got the most likes.
- Check that a creator still posts regularly before a campaign.
- Archive an Official Account’s articles into a knowledge base.

## Questions

### How far back can I go?

Page with page.next_cursor until page.has_more is false. How far that reaches is up to the platform, and each page is one call, so a backfill costs the number of pages times the price in the table.

### Do the posts come with their counts?

Yes. Each post carries metrics with the views, likes, comments, shares and saves the platform shows at fetch time. A count the platform hides is null.

### Can I get only the posts since my last check?

Read the first page and stop when you reach a post id you already stored. On a platform that lists newest first, a daily check is usually one call per account.

## Other data types

- [Comments API](https://okdata.online/roles/posts-comments-list/)
- [Trending topics API](https://okdata.online/roles/trends-list/)
- [Comment replies API](https://okdata.online/roles/comments-replies-list/)
- [Hashtag posts API](https://okdata.online/roles/topics-posts-list/)
- [Profile API](https://okdata.online/roles/accounts-get/)
- [Post detail API](https://okdata.online/roles/posts-get/)
- [Post search API](https://okdata.online/roles/posts-search/)
- [Trending posts API](https://okdata.online/roles/posts-trending/)
- [Account search API](https://okdata.online/roles/accounts-search/)
- [Post metrics API](https://okdata.online/roles/posts-metrics/)
- [Community posts API](https://okdata.online/roles/communities-posts-list/)
- [Ad detail API](https://okdata.online/roles/ads-get/)
- [Advertiser ads API](https://okdata.online/roles/advertisers-ads-list/)
- [Ad search API](https://okdata.online/roles/ads-search/)
- [Transcript API](https://okdata.online/roles/transcripts-get/)
- [Followers list API](https://okdata.online/roles/accounts-followers-list/)
- [Product detail API](https://okdata.online/roles/products-get/)
- [Product reviews API](https://okdata.online/roles/products-reviews-list/)
- [Product search API](https://okdata.online/roles/products-search/)
- [Creator search API](https://okdata.online/roles/creators-search/)
- [Creator profile API](https://okdata.online/roles/creators-get/)
- [Creator audience API](https://okdata.online/roles/creators-audience-get/)
