Beatra

Public social data

Search public social content, read posts, creators, comments, and engagement, then continue into Beatra understanding and creation.

Primary agent path

Public social data uses the same Beatra OAuth MCP connection as images, video, music, and speech. You do not add a second server. Connect https://mcp.beatra.ai/mcp, then:

  1. Search available tools with beatra.social.tools.search — by platform, keyword, or type (content, creator, comments, trends, captions).
  2. Inspect one tool with beatra.social.tools.get. Confirm the credit price, then copy the returned schema_hash and argument list.
  3. Call beatra.social.execute once with operation_key, that schema_hash, arguments, and one client_request_id.
  4. Poll beatra.tasks.get until the task is terminal. The result is inline JSON or a JSON artifact.

One execute is one prepaid task and one lookup. The next page of a list is another execute.

AI guide

MCP integration guide for AI

For custom API integrations, copy this guide into Claude, Codex, or another coding assistant.

Tool arguments

{
  "operation_key": "social.tiktok.video.get_by_id",
  "schema_hash": "sha256:…",
  "arguments": { "aweme_id": "…" },
  "client_request_id": "social-lookup-opaque-1"
}

Use the schema_hash that beatra.social.tools.get just returned. If get returns a new hash, send a new client_request_id.

What you can look up

The table is a snapshot of current tools. Live price, arguments, and schema_hash always come from beatra.social.tools.get.

TikTok

ToolTypeWhat it returnsCreditsPaging
social.tiktok.video.get_by_idcontentRead one public TikTok video by aweme_id, including caption, author, metrics, and public media URLs.6No
social.tiktok.video.get_by_urlcontentRead one public TikTok video from a share URL, including caption, author, metrics, and public media URLs.6No
social.tiktok.user.getcreatorRead a public TikTok profile by unique_id or sec_user_id.6No
social.tiktok.user.posts.listcontentRead one page of a user's public TikTok videos and the next cursor.6Yes
social.tiktok.video.searchcontentSearch public TikTok videos by keyword and return one billed page.6Yes
social.tiktok.user.searchcreatorSearch public TikTok users by keyword and return one billed page.6Yes
social.tiktok.video.comments.listcommentsRead one page of public top-level comments on a TikTok video.6Yes
social.tiktok.comment.replies.listcommentsRead one page of public replies to a TikTok comment.6Yes
social.tiktok.hashtag.trends.listtrendsRead public TikTok hashtag trend rankings for a country and time range.6Yes

Douyin

ToolTypeWhat it returnsCreditsPaging
social.douyin.video.get_by_urlcontentRead one public Douyin post from a share URL, including media URLs.6No
social.douyin.video.get_by_idcontentRead one public Douyin post by aweme_id, including media URLs.6No
social.douyin.user.getcreatorRead a public Douyin profile by sec_user_id.6No
social.douyin.user.posts.listcontentRead one page of a user's public Douyin posts and the next cursor.6Yes
social.douyin.video.searchcontentSearch public Douyin videos by keyword and return one billed page.60Yes
social.douyin.user.searchcreatorSearch public Douyin users by keyword and return one billed page.6Yes
social.douyin.video.comments.listcommentsRead one page of public top-level comments on a Douyin video.6Yes
social.douyin.comment.replies.listcommentsRead one page of public replies to a Douyin comment.6Yes
social.douyin.hot_search.listtrendsRead the current public Douyin hot-search board.6No

Xiaohongshu

ToolTypeWhat it returnsCreditsPaging
social.xiaohongshu.note.image.getcontentRead one public Xiaohongshu image note, including image URLs and metadata.60No
social.xiaohongshu.note.video.getcontentRead one public Xiaohongshu video note, including cover and video URLs.60No
social.xiaohongshu.user.getcreatorRead a public Xiaohongshu profile.60No
social.xiaohongshu.user.notes.listcontentRead one page of a user's public notes.60Yes
social.xiaohongshu.note.searchcontentSearch public Xiaohongshu notes by keyword and return one billed page.60Yes
social.xiaohongshu.user.searchcreatorSearch public Xiaohongshu users by keyword and return one billed page.60Yes
social.xiaohongshu.note.comments.listcommentsRead one page of public top-level comments on a note.60Yes
social.xiaohongshu.comment.replies.listcommentsRead one page of public replies to a note comment.60Yes
social.xiaohongshu.topic.gettrendsRead a public Xiaohongshu topic and its metadata.60No
social.xiaohongshu.topic.notes.listcontentRead one page of public notes under a topic.60Yes

Instagram

ToolTypeWhat it returnsCreditsPaging
social.instagram.post.getcontentRead one public Instagram post or Reel, including media URLs.12No
social.instagram.user.getcreatorRead a public Instagram profile.12No
social.instagram.user.posts.listcontentRead one page of a user's public posts.12Yes
social.instagram.user.reels.listcontentRead one page of a user's public Reels.12Yes
social.instagram.user.searchcreatorSearch public Instagram users by keyword.12No
social.instagram.reel.searchcontentSearch public Instagram Reels by keyword and return one billed page.12Yes
social.instagram.hashtag.posts.listcontentRead one page of public posts for a hashtag.12Yes
social.instagram.post.comments.listcommentsRead one page of public comments on a post.12Yes
social.instagram.comment.replies.listcommentsRead one page of public replies to a comment.12Yes

YouTube

ToolTypeWhat it returnsCreditsPaging
social.youtube.video.getcontentRead public YouTube video metadata, statistics, and thumbnails.6No
social.youtube.video.comments.listcommentsRead one page of public YouTube comments.6Yes
social.youtube.comment.replies.listcommentsRead one page of public YouTube comment replies.6Yes
social.youtube.video.captions.getcaptionsSubmit one caption request and receive the available public captions for a video.60No
social.youtube.channel.resolvecreatorResolve a public channel URL or handle to a channel_id.6No
social.youtube.channel.getcreatorRead a public YouTube channel description and statistics.6No
social.youtube.channel.videos.listcontentRead one page of a channel's public videos.6Yes
social.youtube.channel.shorts.listcontentRead one page of a channel's public Shorts.6Yes
social.youtube.video.searchcontentSearch public YouTube videos and return one billed page of video items.12Yes

X / Twitter

ToolTypeWhat it returnsCreditsPaging
social.twitter.tweet.getcontentRead one public X/Twitter post, including media URLs.6No
social.twitter.user.getcreatorRead a public X/Twitter profile.6No
social.twitter.user.tweets.listcontentRead one page of a user's public posts.6Yes
social.twitter.user.media.listcontentRead one page of a user's public media posts.6Yes
social.twitter.user.replies.listcommentsRead one page of a user's public replies.6Yes
social.twitter.tweet.comments.listcommentsRead one page of public replies to a post.6Yes
social.twitter.tweet.search.topcontentSearch public X/Twitter posts with Top ranking and return one billed page.6Yes
social.twitter.tweet.search.recentcontentSearch public X/Twitter posts by recency and return one billed page.6Yes
social.twitter.trends.listtrendsRead public trending topics for a country.6No

Typical successful payloads include:

  • post or note text, author identity, and public statistics
  • comment and reply text with public engagement counts
  • captions or subtitles when the selected tool returns them
  • public media URLs (play, cover, image) you can fetch or pass to beatra.images.understand, beatra.videos.understand, or a generation tool

Small results are inlined on the task. Larger results are stored as a JSON artifact and linked from the task. Open Activity in the console to read the same payload.

Price

Each successful lookup costs one of these credit amounts, confirmed before the task is created:

Credits per successful lookup
6
12
30
60

Failed or safely canceled tasks refund the hold. After the lookup has started, cancel returns 409 — keep polling the same task. Social tasks have no model field.

Billing, task status, and recovery

queued and running are not failures. If the create response is lost, retry the identical arguments with the same client_request_id. Any changed argument requires a new ID.

SituationWhat to do
402 insufficient_balanceTop up at console.beatra.ai, then retry the same client_request_id. Nothing was charged.
invalid_request on argumentsCall beatra.social.tools.get and send only the published fields.
Tool not found or not availableSearch again; use an operation_key that tools.get reports as available.
schema_hash no longer matchesCall tools.get again and submit a new client_request_id.
Lost create responseRetry the identical execute with the same client_request_id.
409 on cancelThe lookup already started. Keep polling the same task.

When a lookup fails after it started, keep the error code and read error.message. That message is the platform's wording after safety redaction. Change arguments only when the message names a field or ID; otherwise wait or keep polling the same task.

REST API

There is no public Social REST API. Use MCP plus beatra.tasks.get.

On this page