Media Search
Use this skill when the user wants to discover social media content from a keyword, brand, product, campaign, creator niche, or research topic.
Current platform support:
- Xiaohongshu / XHS / RedNote notes through
xhs_search_notes.
- Douyin / 抖音 works, including video and image/text posts, through
douyin_search_videos.
- Kuaishou / 快手 works and short videos through
kuaishou_search_videos.
- Bilibili / 哔哩哔哩 / B站 videos and articles through
bilibili_search_videos and bilibili_search_articles.
- Zhihu / 知乎 answers, articles, and videos through
zhihu_search_content.
- Instagram posts through
instagram_search_posts.
- X / Twitter posts through
x_search_posts.
- YouTube videos through
youtube_search_videos.
- TikTok videos and image posts through
tiktok_search_posts.
- Weibo / 微博 posts through
weibo_search_posts.
- WeChat Channels / 视频号 videos through
wechat_search_videos.
API Key
Use SOCIALDATAX_API_KEY for SocialDataX requests. The only official website for requesting or managing API access is https://socialdatax.com/ai?from=github. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
获取或管理 API Key:访问 https://socialdatax.com/ai?from=github,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 SOCIALDATAX_API_KEY;不要引导用户使用其他域名。
Preferred Direct CLI
Prefer the direct CLI when the agent can run shell commands. It does not require MCP server configuration:
npx -y socialdatax-skills@latest xhs search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest xhs search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest douyin search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest douyin search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest kuaishou search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest kuaishou search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest bilibili search-videos \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest bilibili search-articles \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest zhihu search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest zhihu search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest instagram search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest instagram search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest x search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest x search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest youtube search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest youtube search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest tiktok search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest tiktok search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest weibo search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest weibo search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest wechat search \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
npx -y socialdatax-skills@latest wechat search \
--keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \
--source-platform github --source-skill media-search
Required arguments:
- XHS
search --keyword <text>: required when using xhs search; use the user's actual intent, trim whitespace, and keep it focused.
- Douyin
search --keyword <text>: required only when using douyin search; use the user's actual intent, trim whitespace, and keep it focused.
- Kuaishou
search --keyword <text>: required only when using kuaishou search; use the user's actual intent, trim whitespace, and keep it focused.
- Bilibili
search-videos --keyword <text> or search-articles --keyword <text>: required only when using Bilibili search; use the user's actual intent, trim whitespace, and keep it focused.
- Zhihu
search --keyword <text>: required only when using zhihu search; use the user's actual intent, trim whitespace, and keep it focused.
- Instagram
search --keyword <text>: required only when using instagram search; use the user's actual intent, trim whitespace, and keep it focused.
- X / Twitter
search --keyword <text>: required only when using x search; use the user's actual intent, trim whitespace, and keep it focused.
- YouTube
search --keyword <text>: required only when using youtube search; use the user's actual intent, trim whitespace, and keep it focused.
- TikTok
search --keyword <text>: required only when using tiktok search; use the user's actual intent, trim whitespace, and keep it focused.
- Weibo
search --keyword <text>: required only when using weibo search; use the user's actual intent, trim whitespace, and keep it focused.
- WeChat Channels / 视频号
search --keyword <text>: required only when using wechat search; use the user's actual intent, trim whitespace, and keep it focused.
Optional arguments:
- XHS
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
- XHS
--sort-type <general|time_descending|like_count_descending|comment_count_descending|collect_count_descending>: optional sort value; omit it for default sorting.
- XHS
--note-type <all|image|video>: optional note type filter; default is all.
- XHS
--publish-time-range <all|day|week|half_year>: optional publish-time filter; default is all.
- Douyin
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
- Douyin
--sort-type <general|time_descending|like_count_descending>: optional sort value; omit it for the default sort.
- Douyin
--publish-time-range <all|day|week|half_year>: optional publish-time filter; omit it for no publish-time filter.
- Douyin
--duration-range <all|under_1_minute|one_to_five_minutes|over_5_minutes>: optional duration filter; omit it for no duration filter.
- Douyin
--content-type <all|video|image>: optional content type filter; omit it for all content types.
- XHS
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- Douyin
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- Kuaishou
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
--max-items <n>: stop after collecting N search results.
--since-days <1-365>: available only on XHS, Douyin, Kuaishou, Weibo, and WeChat Channels search. For Bilibili video, Zhihu, and YouTube search, use the documented publish-time filters instead; do not pass --since-days to Bilibili article, Instagram, X / Twitter, or TikTok search.
--pretty: output formatting only.
- Kuaishou
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
- Weibo
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
- WeChat Channels / 视频号
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
- Bilibili
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain.
- Bilibili video search
--sort-type <general|view_count_descending|time_descending|danmaku_count_descending|collect_count_descending>: optional sort value; omit it for default sorting.
- Bilibili article search
--sort-type <general|time_descending|view_count_descending|like_count_descending|comment_count_descending>: optional sort value; omit it for default sorting.
- Bilibili video search
--publish-time-range <all|day|week|half_year>: optional publish-time filter; omit it for no publish-time filter.
- Bilibili video search
--publish-time-start-date <YYYY-MM-DD> and --publish-time-end-date <YYYY-MM-DD>: optional exact date bounds; omit them unless narrowing by date.
- Bilibili video search
--duration-range <all|under_10_minutes|between_10_and_30_minutes|between_30_and_60_minutes|over_60_minutes>: optional duration filter; omit it for no duration filter.
- Bilibili article search
--category <all|animation|gaming|film_and_tv|lifestyle|hobbies|light_novel|technology|notes>: optional article category filter; default is all.
- Zhihu
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain.
- Zhihu
--content-type <all|answer|article|video>: optional content type filter; omit it for all content types.
- Zhihu
--sort-type <general|upvote_count_descending|time_descending>: optional sort value; omit it for default sorting.
- Zhihu
--publish-time-range <all|day|week|month|three_months|half_year|year>: optional publish-time filter; omit it for no publish-time filter.
- Instagram
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain.
- X / Twitter
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain.
- X / Twitter
--sort-type <hot|time_descending>: optional sort value; omit it for default sorting.
- YouTube
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain.
- YouTube
--sort-type <general|time_descending|view_count_descending|rating>: optional sort value; omit it for default sorting.
- YouTube
--video-type <all|video|movie>: optional video type filter; omit it for all video types.
- YouTube
--publish-time-range <all|last_hour|today|this_week|this_month|this_year>: optional publish-time filter; omit it for no publish-time filter.
- YouTube
--duration-range <all|under_4_min|between_4_and_20_min|over_20_min>: optional duration filter; omit it for no duration filter.
- TikTok
--page-token <next_page_token>: opaque pagination token; omit it on the first search request. Continue only with the complete returned next_page_token from the same search pagination chain.
- TikTok
--content-type <all|video|image>: optional content type filter; omit it for all content types.
- WeChat Channels / 视频号
--sort-type <all|time_descending|collect_count_descending>: optional sort value; omit it for the default sort.
- WeChat Channels / 视频号
--duration-range <all|under_5_min|between_5_and_20_min|over_20_min>: optional duration filter; omit it for no duration filter.
- Bilibili
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- Zhihu
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- Instagram
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- X / Twitter
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- YouTube
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- TikTok
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- Weibo
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
- WeChat Channels / 视频号
--pages <n>: fetch and merge N search pages from the current starting point; continue with returned next_page_token.
--source-client socialdatax-skills --source-platform github --source-skill media-search: usage attribution for this Agent Skill; keep these values unchanged when running examples from this Skill.
XHS sort values:
general: default sorting.
time_descending: newest first.
like_count_descending: most liked first.
comment_count_descending: most commented first.
collect_count_descending: most collected first.
XHS note type filter values:
all: no note type filter.
image: image/text notes.
video: video notes.
XHS publish-time filter values:
all: no publish-time filter.
day: published within one day.
week: published within one week.
half_year: published within half a year.
Douyin sort values:
general: default sorting.
time_descending: newest first.
like_count_descending: most liked first.
Douyin publish-time filter values:
all: no publish-time filter.
day: published within one day.
week: published within one week.
half_year: published within half a year.
Douyin duration filter values:
all: no duration filter.
under_1_minute: under 1 minute.
one_to_five_minutes: 1-5 minutes.
over_5_minutes: over 5 minutes.
Douyin content type filter values:
all: all content types.
video: video works.
image: image/text posts.
The command prints JSON with platform, tool, arguments, and data. Search supports --pages and --max-items, but not --all, because search has no stable complete-result boundary. Multi-page output keeps merged results in data.items and adds page_count, item_count, and the next-page marker.
With CLI --since-days <n>, XHS and Douyin search automatically prefer newest-first sorting and the closest native publish-time range unless the user explicitly sets sort or publish-time filters; WeChat Channels search defaults to time_descending; Kuaishou and Weibo only apply CLI-side publish_time filtering.
Kuaishou search pagination:
- Continue only when
next_page_token is not empty.
- Pass the complete returned
next_page_token back unchanged as page_token for the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
Bilibili search has separate direct CLI actions for videos and articles: use bilibili search-videos for video samples and bilibili search-articles for article samples.
Zhihu, Instagram, X / Twitter, YouTube, and TikTok search commands use the same --keyword, --page-token, --pages, and --max-items direct CLI pattern.
WeChat Channels / 视频号 sort values:
all: no sort restriction.
time_descending: newest first.
collect_count_descending: hottest first / most collected first.
WeChat Channels / 视频号 duration filter values:
all: no duration filter.
under_5_min: under 5 minutes.
between_5_and_20_min: 5-20 minutes.
over_20_min: over 20 minutes.
Weibo and WeChat Channels search pagination:
- Continue only when
next_page_token is not empty.
- Pass the complete returned
next_page_token back unchanged as page_token for the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
Safety Boundary
Search access is read-only. It uses SOCIALDATAX_API_KEY from the user's environment at runtime for SocialDataX search requests. Generated Skill files do not contain API keys. It does not read local browser data or perform login, posting, liking, commenting, or account changes. The optional X / Twitter local save command writes only to the requested local --output path or --output-dir directory and does not require SOCIALDATAX_API_KEY.
MCP Tools
MCP tools matching the direct CLI commands above:
xhs_search_notes
douyin_search_videos
kuaishou_search_videos
bilibili_search_videos
bilibili_search_articles
zhihu_search_content
instagram_search_posts
x_search_posts
youtube_search_videos
tiktok_search_posts
weibo_search_posts
wechat_search_videos
For XHS, call xhs_search_notes with:
keyword: required search phrase or topic; use the user's actual intent and trim whitespace.
page_token: optional opaque pagination token. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
sort_type: optional, one of general, time_descending, like_count_descending, comment_count_descending, collect_count_descending; omit it for default sorting.
note_type: optional search filter, one of all, image, video; default is all.
publish_time_range: optional search filter, one of all, day, week, half_year; default is all.
Use the same meanings as the CLI XHS sort and filter values above.
For Douyin, call douyin_search_videos with:
keyword: required search phrase or topic.
page_token: optional opaque pagination token. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
Do not pass page to douyin_search_videos; omit page_token on the first request.
sort_type: optional, one of general, time_descending, like_count_descending; omit it for the default sort.
publish_time_range: optional publish-time filter, one of all, day, week, half_year; omit it for no publish-time filter.
duration_range: optional duration filter, one of all, under_1_minute, one_to_five_minutes, over_5_minutes; omit it for no duration filter.
content_type: optional content type filter, one of all, video, image; omit it for all content types.
Do not pass page to xhs_search_notes; omit page_token on the first request.
Continue XHS pagination only when next_page_token is not empty, and pass the complete returned next_page_token back unchanged as page_token for the same keyword, sort, note type, publish-time range, and caller chain.
Continue Douyin pagination only when next_page_token is not empty. Pass the complete returned next_page_token back unchanged as page_token for the same keyword and filter chain.
Do not stop only because one page has empty items.
For Kuaishou, call kuaishou_search_videos with:
keyword: required search phrase or topic.
page_token: optional opaque pagination token. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
Do not pass page to kuaishou_search_videos; omit page_token on the first request.
Continue Kuaishou pagination only when next_page_token is not empty. Pass the complete returned next_page_token back unchanged as page_token for the same keyword chain.
For Bilibili, call bilibili_search_videos for videos with keyword and optional page_token, sort_type, publish_time_range, publish_time_start_date, publish_time_end_date, or duration_range; call bilibili_search_articles for articles with keyword and optional page_token, sort_type, or category.
For Zhihu, call zhihu_search_content with keyword and optional page_token, content_type, sort_type, or publish_time_range.
For Instagram, call instagram_search_posts with keyword and optional page_token.
For X / Twitter, call x_search_posts with keyword and optional page_token or sort_type.
For YouTube, call youtube_search_videos with keyword and optional page_token, sort_type, video_type, publish_time_range, or duration_range.
For TikTok, call tiktok_search_posts with keyword and optional page_token or content_type.
For Weibo, call weibo_search_posts with:
keyword: required search phrase or topic.
page_token: optional opaque pagination token. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
Do not pass page to weibo_search_posts; omit page_token on the first request.
Continue Weibo pagination only when next_page_token is not empty. Pass the complete returned next_page_token back unchanged as page_token for the same keyword chain.
For WeChat Channels / 视频号, call wechat_search_videos with:
keyword: required search phrase or topic.
page_token: optional opaque pagination token. Continue only with the complete returned next_page_token from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
Do not pass page to wechat_search_videos; omit page_token on the first request.
sort_type: optional, one of all, time_descending, collect_count_descending; omit it for the default sort.
duration_range: optional duration filter, one of all, under_5_min, between_5_and_20_min, over_20_min; omit it for no duration filter.
Continue WeChat Channels pagination only when next_page_token is not empty. Pass the complete returned next_page_token back unchanged as page_token for the same keyword and filter chain.
--since-days uses CLI-side filtering only and is not an MCP tool argument; for MCP-only calls, request newest-first/native publish-time filters where available and filter returned publish_time values in your analysis.
XHS search parameter naming reminder: direct CLI uses --sort-type, --publish-time-range, and --note-type; the xhs_search_notes MCP tool uses sort_type, publish_time_range, and note_type. Do not pass sortType, publishTimeRange, or noteType.
Output Guidance
Summarize visible evidence separately from interpretation. Include useful content IDs, URLs, titles or descriptions, authors, counts, and publish time when the user needs traceability.
For XHS search results, in every use of a returned note_url, such as final answers, display, references, storage, output, or forwarding, preserve it exactly as the full URL, including xsec_token query parameters. Do not modify, truncate, redact, mask, normalize, rebuild, or synthesize the URL from note_id.
For XHS note_id, copy the entire returned note_id exactly; do not pass or display only a prefix.
For Douyin search results, include content_type when the user needs traceability.
For Douyin image/text search results, use returned images and treat video.media_type="audio" as an audio player resource rather than a video post.
For Kuaishou search results, include photo_id, share_url, author facts, and visible interaction counts when the user needs traceability.
For Bilibili search results, include content IDs, URLs, titles or descriptions, creator facts, and visible interaction counts when the user needs traceability.
For Zhihu search results, include content URLs, titles or summaries, creator facts, and visible interaction counts when the user needs traceability.
For Instagram, X / Twitter, YouTube, and TikTok search results, include returned post or video URLs, public IDs, author facts, and visible interaction counts when the user needs traceability.
For X / Twitter search results, preserve returned media_items[].cover_image_url and media_items[].video_url values when present. When the user wants to save X media, pass one returned media URL at a time to npx -y socialdatax-skills@latest x download-media --url "<media_url>" --output-dir <directory> --pretty; this local save command does not require SOCIALDATAX_API_KEY. If the CLI process does not inherit the user's local proxy, add --proxy "http://127.0.0.1:7890" or set HTTP_PROXY / HTTPS_PROXY / ALL_PROXY. If search media fields are absent, use X detail as the fallback before downloading.
For Weibo search results, include post_id, post_url, author facts, interaction counts, and publish time when the user needs traceability.
For WeChat Channels / 视频号 search results, include encrypted_object_id, author facts, interaction counts, publish time, and duration when the user needs traceability.
Troubleshooting
- If an SDK/dependency, npm network, Node.js/npm/npx availability, permission, or missing runtime error appears, treat it as a local runtime, dependency installation, network, or agent authorization issue, not a SocialDataX API key or business data error. If the current environment has permission, install or restore automatically. When network or execution authorization is needed, ask the user to approve or finish authorization, then continue the same command; do not use public web search as a substitute for SocialDataX data.
- For non-balance network or API errors, preserve the error message, check
SOCIALDATAX_API_KEY, parameters, and link or ID format, then retry once when appropriate.
- If the response returns
insufficient_balance or says the balance/credits are insufficient, do not retry repeatedly. Show the recharge URL from the error exactly as returned, then continue the same command after the user recharges.
- If the user has recharged but still sees insufficient balance, confirm
SOCIALDATAX_API_KEY belongs to the same account that was recharged; if needed, copy a fresh API Key from the official dashboard.
1---2name: media-search3description: Search social media content by keyword for social research, competitor research, topic discovery, content planning, market observation, and trend scanning. This version is backed by hosted platform MCP services and supports Xiaohongshu / XHS / RedNote, Douyin, Kuaishou, Bilibili, Zhihu, Instagram, X / Twitter, YouTube, TikTok, Weibo, and WeChat Channels.4---5<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->67# Media Search89Use this skill when the user wants to discover social media content from a keyword, brand, product, campaign, creator niche, or research topic.1011Current platform support:1213- Xiaohongshu / XHS / RedNote notes through `xhs_search_notes`.14- Douyin / 抖音 works, including video and image/text posts, through `douyin_search_videos`.15- Kuaishou / 快手 works and short videos through `kuaishou_search_videos`.16- Bilibili / 哔哩哔哩 / B站 videos and articles through `bilibili_search_videos` and `bilibili_search_articles`.17- Zhihu / 知乎 answers, articles, and videos through `zhihu_search_content`.18- Instagram posts through `instagram_search_posts`.19- X / Twitter posts through `x_search_posts`.20- YouTube videos through `youtube_search_videos`.21- TikTok videos and image posts through `tiktok_search_posts`.22- Weibo / 微博 posts through `weibo_search_posts`.23- WeChat Channels / 视频号 videos through `wechat_search_videos`.2425## API Key2627Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/ai?from=github>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.28获取或管理 API Key:访问 <https://socialdatax.com/ai?from=github>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。2930## Preferred Direct CLI3132Prefer the direct CLI when the agent can run shell commands. It does not require MCP server configuration:3334```bash35npx -y socialdatax-skills@latest xhs search \36 --keyword "<keyword>" --pretty --source-client socialdatax-skills \37 --source-platform github --source-skill media-search3839npx -y socialdatax-skills@latest xhs search \40 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \41 --source-platform github --source-skill media-search4243npx -y socialdatax-skills@latest douyin search \44 --keyword "<keyword>" --pretty --source-client socialdatax-skills \45 --source-platform github --source-skill media-search4647npx -y socialdatax-skills@latest douyin search \48 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \49 --source-platform github --source-skill media-search5051npx -y socialdatax-skills@latest kuaishou search \52 --keyword "<keyword>" --pretty --source-client socialdatax-skills \53 --source-platform github --source-skill media-search5455npx -y socialdatax-skills@latest kuaishou search \56 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \57 --source-platform github --source-skill media-search5859npx -y socialdatax-skills@latest bilibili search-videos \60 --keyword "<keyword>" --pretty --source-client socialdatax-skills \61 --source-platform github --source-skill media-search6263npx -y socialdatax-skills@latest bilibili search-articles \64 --keyword "<keyword>" --pretty --source-client socialdatax-skills \65 --source-platform github --source-skill media-search6667npx -y socialdatax-skills@latest zhihu search \68 --keyword "<keyword>" --pretty --source-client socialdatax-skills \69 --source-platform github --source-skill media-search7071npx -y socialdatax-skills@latest zhihu search \72 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \73 --source-platform github --source-skill media-search7475npx -y socialdatax-skills@latest instagram search \76 --keyword "<keyword>" --pretty --source-client socialdatax-skills \77 --source-platform github --source-skill media-search7879npx -y socialdatax-skills@latest instagram search \80 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \81 --source-platform github --source-skill media-search8283npx -y socialdatax-skills@latest x search \84 --keyword "<keyword>" --pretty --source-client socialdatax-skills \85 --source-platform github --source-skill media-search8687npx -y socialdatax-skills@latest x search \88 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \89 --source-platform github --source-skill media-search9091npx -y socialdatax-skills@latest youtube search \92 --keyword "<keyword>" --pretty --source-client socialdatax-skills \93 --source-platform github --source-skill media-search9495npx -y socialdatax-skills@latest youtube search \96 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \97 --source-platform github --source-skill media-search9899npx -y socialdatax-skills@latest tiktok search \100 --keyword "<keyword>" --pretty --source-client socialdatax-skills \101 --source-platform github --source-skill media-search102103npx -y socialdatax-skills@latest tiktok search \104 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \105 --source-platform github --source-skill media-search106107npx -y socialdatax-skills@latest weibo search \108 --keyword "<keyword>" --pretty --source-client socialdatax-skills \109 --source-platform github --source-skill media-search110111npx -y socialdatax-skills@latest weibo search \112 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \113 --source-platform github --source-skill media-search114115npx -y socialdatax-skills@latest wechat search \116 --keyword "<keyword>" --pretty --source-client socialdatax-skills \117 --source-platform github --source-skill media-search118119npx -y socialdatax-skills@latest wechat search \120 --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \121 --source-platform github --source-skill media-search122```123124Required arguments:125126- XHS `search --keyword <text>`: required when using `xhs search`; use the user's actual intent, trim whitespace, and keep it focused.127- Douyin `search --keyword <text>`: required only when using `douyin search`; use the user's actual intent, trim whitespace, and keep it focused.128- Kuaishou `search --keyword <text>`: required only when using `kuaishou search`; use the user's actual intent, trim whitespace, and keep it focused.129- Bilibili `search-videos --keyword <text>` or `search-articles --keyword <text>`: required only when using Bilibili search; use the user's actual intent, trim whitespace, and keep it focused.130- Zhihu `search --keyword <text>`: required only when using `zhihu search`; use the user's actual intent, trim whitespace, and keep it focused.131- Instagram `search --keyword <text>`: required only when using `instagram search`; use the user's actual intent, trim whitespace, and keep it focused.132- X / Twitter `search --keyword <text>`: required only when using `x search`; use the user's actual intent, trim whitespace, and keep it focused.133- YouTube `search --keyword <text>`: required only when using `youtube search`; use the user's actual intent, trim whitespace, and keep it focused.134- TikTok `search --keyword <text>`: required only when using `tiktok search`; use the user's actual intent, trim whitespace, and keep it focused.135- Weibo `search --keyword <text>`: required only when using `weibo search`; use the user's actual intent, trim whitespace, and keep it focused.136- WeChat Channels / 视频号 `search --keyword <text>`: required only when using `wechat search`; use the user's actual intent, trim whitespace, and keep it focused.137138Optional arguments:139140- XHS `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.141- XHS `--sort-type <general|time_descending|like_count_descending|comment_count_descending|collect_count_descending>`: optional sort value; omit it for default sorting.142- XHS `--note-type <all|image|video>`: optional note type filter; default is `all`.143- XHS `--publish-time-range <all|day|week|half_year>`: optional publish-time filter; default is `all`.144- Douyin `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.145- Douyin `--sort-type <general|time_descending|like_count_descending>`: optional sort value; omit it for the default sort.146- Douyin `--publish-time-range <all|day|week|half_year>`: optional publish-time filter; omit it for no publish-time filter.147- Douyin `--duration-range <all|under_1_minute|one_to_five_minutes|over_5_minutes>`: optional duration filter; omit it for no duration filter.148- Douyin `--content-type <all|video|image>`: optional content type filter; omit it for all content types.149- XHS `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.150- Douyin `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.151- Kuaishou `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.152- `--max-items <n>`: stop after collecting N search results.153- `--since-days <1-365>`: available only on XHS, Douyin, Kuaishou, Weibo, and WeChat Channels search. For Bilibili video, Zhihu, and YouTube search, use the documented publish-time filters instead; do not pass `--since-days` to Bilibili article, Instagram, X / Twitter, or TikTok search.154- `--pretty`: output formatting only.155- Kuaishou `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.156- Weibo `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.157- WeChat Channels / 视频号 `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.158- Bilibili `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain.159- Bilibili video search `--sort-type <general|view_count_descending|time_descending|danmaku_count_descending|collect_count_descending>`: optional sort value; omit it for default sorting.160- Bilibili article search `--sort-type <general|time_descending|view_count_descending|like_count_descending|comment_count_descending>`: optional sort value; omit it for default sorting.161- Bilibili video search `--publish-time-range <all|day|week|half_year>`: optional publish-time filter; omit it for no publish-time filter.162- Bilibili video search `--publish-time-start-date <YYYY-MM-DD>` and `--publish-time-end-date <YYYY-MM-DD>`: optional exact date bounds; omit them unless narrowing by date.163- Bilibili video search `--duration-range <all|under_10_minutes|between_10_and_30_minutes|between_30_and_60_minutes|over_60_minutes>`: optional duration filter; omit it for no duration filter.164- Bilibili article search `--category <all|animation|gaming|film_and_tv|lifestyle|hobbies|light_novel|technology|notes>`: optional article category filter; default is `all`.165- Zhihu `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain.166- Zhihu `--content-type <all|answer|article|video>`: optional content type filter; omit it for all content types.167- Zhihu `--sort-type <general|upvote_count_descending|time_descending>`: optional sort value; omit it for default sorting.168- Zhihu `--publish-time-range <all|day|week|month|three_months|half_year|year>`: optional publish-time filter; omit it for no publish-time filter.169- Instagram `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain.170- X / Twitter `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain.171- X / Twitter `--sort-type <hot|time_descending>`: optional sort value; omit it for default sorting.172- YouTube `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain.173- YouTube `--sort-type <general|time_descending|view_count_descending|rating>`: optional sort value; omit it for default sorting.174- YouTube `--video-type <all|video|movie>`: optional video type filter; omit it for all video types.175- YouTube `--publish-time-range <all|last_hour|today|this_week|this_month|this_year>`: optional publish-time filter; omit it for no publish-time filter.176- YouTube `--duration-range <all|under_4_min|between_4_and_20_min|over_20_min>`: optional duration filter; omit it for no duration filter.177- TikTok `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain.178- TikTok `--content-type <all|video|image>`: optional content type filter; omit it for all content types.179- WeChat Channels / 视频号 `--sort-type <all|time_descending|collect_count_descending>`: optional sort value; omit it for the default sort.180- WeChat Channels / 视频号 `--duration-range <all|under_5_min|between_5_and_20_min|over_20_min>`: optional duration filter; omit it for no duration filter.181- Bilibili `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.182- Zhihu `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.183- Instagram `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.184- X / Twitter `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.185- YouTube `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.186- TikTok `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.187- Weibo `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.188- WeChat Channels / 视频号 `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.189- `--source-client socialdatax-skills --source-platform github --source-skill media-search`: usage attribution for this Agent Skill; keep these values unchanged when running examples from this Skill.190191XHS sort values:192- `general`: default sorting.193- `time_descending`: newest first.194- `like_count_descending`: most liked first.195- `comment_count_descending`: most commented first.196- `collect_count_descending`: most collected first.197198XHS note type filter values:199- `all`: no note type filter.200- `image`: image/text notes.201- `video`: video notes.202203XHS publish-time filter values:204- `all`: no publish-time filter.205- `day`: published within one day.206- `week`: published within one week.207- `half_year`: published within half a year.208209Douyin sort values:210- `general`: default sorting.211- `time_descending`: newest first.212- `like_count_descending`: most liked first.213214Douyin publish-time filter values:215- `all`: no publish-time filter.216- `day`: published within one day.217- `week`: published within one week.218- `half_year`: published within half a year.219220Douyin duration filter values:221- `all`: no duration filter.222- `under_1_minute`: under 1 minute.223- `one_to_five_minutes`: 1-5 minutes.224- `over_5_minutes`: over 5 minutes.225226Douyin content type filter values:227- `all`: all content types.228- `video`: video works.229- `image`: image/text posts.230231The command prints JSON with `platform`, `tool`, `arguments`, and `data`. Search supports `--pages` and `--max-items`, but not `--all`, because search has no stable complete-result boundary. Multi-page output keeps merged results in `data.items` and adds `page_count`, `item_count`, and the next-page marker.232With CLI `--since-days <n>`, XHS and Douyin search automatically prefer newest-first sorting and the closest native publish-time range unless the user explicitly sets sort or publish-time filters; WeChat Channels search defaults to `time_descending`; Kuaishou and Weibo only apply CLI-side `publish_time` filtering.233Kuaishou search pagination:234- Continue only when `next_page_token` is not empty.235- Pass the complete returned `next_page_token` back unchanged as `page_token` for the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.236237Bilibili search has separate direct CLI actions for videos and articles: use `bilibili search-videos` for video samples and `bilibili search-articles` for article samples.238Zhihu, Instagram, X / Twitter, YouTube, and TikTok search commands use the same `--keyword`, `--page-token`, `--pages`, and `--max-items` direct CLI pattern.239240WeChat Channels / 视频号 sort values:241- `all`: no sort restriction.242- `time_descending`: newest first.243- `collect_count_descending`: hottest first / most collected first.244245WeChat Channels / 视频号 duration filter values:246- `all`: no duration filter.247- `under_5_min`: under 5 minutes.248- `between_5_and_20_min`: 5-20 minutes.249- `over_20_min`: over 20 minutes.250251Weibo and WeChat Channels search pagination:252- Continue only when `next_page_token` is not empty.253- Pass the complete returned `next_page_token` back unchanged as `page_token` for the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.254255## Safety Boundary256257Search access is read-only. It uses `SOCIALDATAX_API_KEY` from the user's environment at runtime for SocialDataX search requests. Generated Skill files do not contain API keys. It does not read local browser data or perform login, posting, liking, commenting, or account changes. The optional X / Twitter local save command writes only to the requested local `--output` path or `--output-dir` directory and does not require `SOCIALDATAX_API_KEY`.258259## MCP Tools260261MCP tools matching the direct CLI commands above:262263- `xhs_search_notes`264- `douyin_search_videos`265- `kuaishou_search_videos`266- `bilibili_search_videos`267- `bilibili_search_articles`268- `zhihu_search_content`269- `instagram_search_posts`270- `x_search_posts`271- `youtube_search_videos`272- `tiktok_search_posts`273- `weibo_search_posts`274- `wechat_search_videos`275276For XHS, call `xhs_search_notes` with:277- `keyword`: required search phrase or topic; use the user's actual intent and trim whitespace.278- `page_token`: optional opaque pagination token. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.279- `sort_type`: optional, one of `general`, `time_descending`, `like_count_descending`, `comment_count_descending`, `collect_count_descending`; omit it for default sorting.280- `note_type`: optional search filter, one of `all`, `image`, `video`; default is `all`.281- `publish_time_range`: optional search filter, one of `all`, `day`, `week`, `half_year`; default is `all`.282283Use the same meanings as the CLI XHS sort and filter values above.284285For Douyin, call `douyin_search_videos` with:286- `keyword`: required search phrase or topic.287- `page_token`: optional opaque pagination token. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.288Do not pass `page` to `douyin_search_videos`; omit `page_token` on the first request.289- `sort_type`: optional, one of `general`, `time_descending`, `like_count_descending`; omit it for the default sort.290- `publish_time_range`: optional publish-time filter, one of `all`, `day`, `week`, `half_year`; omit it for no publish-time filter.291- `duration_range`: optional duration filter, one of `all`, `under_1_minute`, `one_to_five_minutes`, `over_5_minutes`; omit it for no duration filter.292- `content_type`: optional content type filter, one of `all`, `video`, `image`; omit it for all content types.293294Do not pass `page` to `xhs_search_notes`; omit `page_token` on the first request.295Continue XHS pagination only when `next_page_token` is not empty, and pass the complete returned `next_page_token` back unchanged as `page_token` for the same keyword, sort, note type, publish-time range, and caller chain.296Continue Douyin pagination only when `next_page_token` is not empty. Pass the complete returned `next_page_token` back unchanged as `page_token` for the same keyword and filter chain.297Do not stop only because one page has empty `items`.298For Kuaishou, call `kuaishou_search_videos` with:299- `keyword`: required search phrase or topic.300- `page_token`: optional opaque pagination token. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.301Do not pass `page` to `kuaishou_search_videos`; omit `page_token` on the first request.302Continue Kuaishou pagination only when `next_page_token` is not empty. Pass the complete returned `next_page_token` back unchanged as `page_token` for the same keyword chain.303For Bilibili, call `bilibili_search_videos` for videos with `keyword` and optional `page_token`, `sort_type`, `publish_time_range`, `publish_time_start_date`, `publish_time_end_date`, or `duration_range`; call `bilibili_search_articles` for articles with `keyword` and optional `page_token`, `sort_type`, or `category`.304For Zhihu, call `zhihu_search_content` with `keyword` and optional `page_token`, `content_type`, `sort_type`, or `publish_time_range`.305For Instagram, call `instagram_search_posts` with `keyword` and optional `page_token`.306For X / Twitter, call `x_search_posts` with `keyword` and optional `page_token` or `sort_type`.307For YouTube, call `youtube_search_videos` with `keyword` and optional `page_token`, `sort_type`, `video_type`, `publish_time_range`, or `duration_range`.308For TikTok, call `tiktok_search_posts` with `keyword` and optional `page_token` or `content_type`.309For Weibo, call `weibo_search_posts` with:310- `keyword`: required search phrase or topic.311- `page_token`: optional opaque pagination token. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.312Do not pass `page` to `weibo_search_posts`; omit `page_token` on the first request.313Continue Weibo pagination only when `next_page_token` is not empty. Pass the complete returned `next_page_token` back unchanged as `page_token` for the same keyword chain.314For WeChat Channels / 视频号, call `wechat_search_videos` with:315- `keyword`: required search phrase or topic.316- `page_token`: optional opaque pagination token. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.317Do not pass `page` to `wechat_search_videos`; omit `page_token` on the first request.318- `sort_type`: optional, one of `all`, `time_descending`, `collect_count_descending`; omit it for the default sort.319- `duration_range`: optional duration filter, one of `all`, `under_5_min`, `between_5_and_20_min`, `over_20_min`; omit it for no duration filter.320Continue WeChat Channels pagination only when `next_page_token` is not empty. Pass the complete returned `next_page_token` back unchanged as `page_token` for the same keyword and filter chain.321`--since-days` uses CLI-side filtering only and is not an MCP tool argument; for MCP-only calls, request newest-first/native publish-time filters where available and filter returned `publish_time` values in your analysis.322323XHS search parameter naming reminder: direct CLI uses `--sort-type`, `--publish-time-range`, and `--note-type`; the `xhs_search_notes` MCP tool uses `sort_type`, `publish_time_range`, and `note_type`. Do not pass `sortType`, `publishTimeRange`, or `noteType`.324325## Output Guidance326327Summarize visible evidence separately from interpretation. Include useful content IDs, URLs, titles or descriptions, authors, counts, and publish time when the user needs traceability.328For XHS search results, in every use of a returned `note_url`, such as final answers, display, references, storage, output, or forwarding, preserve it exactly as the full URL, including `xsec_token` query parameters. Do not modify, truncate, redact, mask, normalize, rebuild, or synthesize the URL from `note_id`.329For XHS `note_id`, copy the entire returned `note_id` exactly; do not pass or display only a prefix.330For Douyin search results, include `content_type` when the user needs traceability.331For Douyin image/text search results, use returned `images` and treat `video.media_type="audio"` as an audio player resource rather than a video post.332For Kuaishou search results, include `photo_id`, `share_url`, author facts, and visible interaction counts when the user needs traceability.333For Bilibili search results, include content IDs, URLs, titles or descriptions, creator facts, and visible interaction counts when the user needs traceability.334For Zhihu search results, include content URLs, titles or summaries, creator facts, and visible interaction counts when the user needs traceability.335For Instagram, X / Twitter, YouTube, and TikTok search results, include returned post or video URLs, public IDs, author facts, and visible interaction counts when the user needs traceability.336For X / Twitter search results, preserve returned `media_items[].cover_image_url` and `media_items[].video_url` values when present. When the user wants to save X media, pass one returned media URL at a time to `npx -y socialdatax-skills@latest x download-media --url "<media_url>" --output-dir <directory> --pretty`; this local save command does not require `SOCIALDATAX_API_KEY`. If the CLI process does not inherit the user's local proxy, add `--proxy "http://127.0.0.1:7890"` or set `HTTP_PROXY` / `HTTPS_PROXY` / `ALL_PROXY`. If search media fields are absent, use X detail as the fallback before downloading.337For Weibo search results, include `post_id`, `post_url`, author facts, interaction counts, and publish time when the user needs traceability.338For WeChat Channels / 视频号 search results, include `encrypted_object_id`, author facts, interaction counts, publish time, and duration when the user needs traceability.339340## Troubleshooting341342- If an SDK/dependency, npm network, Node.js/npm/npx availability, permission, or missing runtime error appears, treat it as a local runtime, dependency installation, network, or agent authorization issue, not a SocialDataX API key or business data error. If the current environment has permission, install or restore automatically. When network or execution authorization is needed, ask the user to approve or finish authorization, then continue the same command; do not use public web search as a substitute for SocialDataX data.343- For non-balance network or API errors, preserve the error message, check `SOCIALDATAX_API_KEY`, parameters, and link or ID format, then retry once when appropriate.344- If the response returns `insufficient_balance` or says the balance/credits are insufficient, do not retry repeatedly. Show the recharge URL from the error exactly as returned, then continue the same command after the user recharges.345- If the user has recharged but still sees insufficient balance, confirm `SOCIALDATAX_API_KEY` belongs to the same account that was recharged; if needed, copy a fresh API Key from the official dashboard.