Endpoints by data type
Hashtag posts API
4 endpoints on 4 platforms return hashtag posts as the same Post object. The public posts filed under one hashtag or topic, a page at a time, each with its text, author, counts and time posted. A call costs from $0.002 to $0.02, each endpoint at its own price; a failed call is free.
Hashtag posts · on each platform
| Platform | Endpoint | Path | A page | Price |
|---|---|---|---|---|
| Instagram hashtag posts | GET /v1/instagram/hashtags/posts/list | 10 | $0.004 per call · about 10 posts per page | |
| Douyin | Douyin hashtag videos | GET /v1/douyin/hashtags/videos/list | 10 | $0.002 per call · about 10 videos per page |
| Xiaohongshu (RedNote) | Xiaohongshu topic notes | GET /v1/xiaohongshu/topics/notes/list | 10 | $0.02 per call · about 10 notes per page |
| TikTok | TikTok hashtag videos | GET /v1/tiktok/hashtags/videos/list | 20 | $0.002 per call · about 20 videos per page |
from $0.002 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.
# Instagram
curl -G "https://api.okdata.online/v1/instagram/hashtags/posts/list" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode 'id=nasa'
# Douyin
curl -G "https://api.okdata.online/v1/douyin/hashtags/videos/list" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode 'id=7495235888088090635'What people use it for
- See what people actually post under a campaign hashtag, not just how many posts it has.
- Find creators who use a niche tag before you approach them.
- Collect examples of a format or a trend for a content brief.
Questions
- Do I get every post under a hashtag?
- Usually not. Platforms show a selection of posts under a tag, often not in time order, and the endpoint returns what the platform shows. Each endpoint page says how its list is built.
- How is this different from keyword search?
- Search matches words anywhere in a post and ranks by the platform’s own relevance. A hashtag list holds only posts that carry the tag, which is closer to what the authors meant their posts to be about.
- Which platforms have it?
- Only platforms with public hashtag or topic pages can offer it, and endpoints are added one platform at a time. The table above lists the ones you can call now.