io.github.CDCStream/captapi
REMOTE · API.CAPTAPI.COM · 2 COMPONENTS · SCANNED SEP 20
Social media data: 85 tools across 11 platforms (YouTube, TikTok, Instagram, X & more), one key.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 178 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 36159 tokens (~203/item across 178 items; 178 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- Stability check failed: schema churn in the 30 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 178 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 179 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the io.github.CDCStream/captapi MCP server?
io.github.CDCStream/captapi is a hosted endpoint at https://api.captapi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.captapi.com
claude mcp add --transport http cdcstream-captapi 'https://api.captapi.com/mcp'
{
"mcpServers": {
"cdcstream-captapi": {
"url": "https://api.captapi.com/mcp"
}
}
} {
"servers": {
"cdcstream-captapi": {
"type": "http",
"url": "https://api.captapi.com/mcp"
}
}
} [mcp_servers.cdcstream-captapi] url = "https://api.captapi.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cdcstream-captapi": {
"type": "remote",
"url": "https://api.captapi.com/mcp",
"enabled": true
}
}
} openclaw mcp add cdcstream-captapi --url 'https://api.captapi.com/mcp' --transport streamable-http
mcp_servers:
cdcstream-captapi:
url: "https://api.captapi.com/mcp" {
"McpServers": {
"cdcstream-captapi": {
"Transport": "http",
"Url": "https://api.captapi.com/mcp"
}
}
} assistant mcp add cdcstream-captapi -t streamable-http -u 'https://api.captapi.com/mcp'
{
"mcpServers": {
"cdcstream-captapi": {
"type": "http",
"url": "https://api.captapi.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Sept 26 0
- A breaking change shipped without a version bump: still 0.1.0 ▼ security
- Tool “threads_search” rewrote its description, which is the text the model reads security
- Tool “tiktok_popular_songs” rewrote its description, which is the text the model reads security
- Tool “tiktok_shop_product_details” rewrote its description, which is the text the model reads security
- Tool “truth_social_profile” rewrote its description, which is the text the model reads security
- Tool “instagram_comments” rewrote its description, which is the text the model reads security
- Tool “instagram_hashtag_search” rewrote its description, which is the text the model reads security
- Tool “linkedin_profile” rewrote its description, which is the text the model reads security
- “facebook_marketplace_search” added a required parameter “searchLocation”, so existing callers break ▼ functional
- “threads_search” added an optional parameter “orderBy” cosmetic
- “tiktok_ad_library_top_ads” reworded the description of “match” cosmetic
- “tiktok_popular_songs” reworded the description of “page” cosmetic
- “tiktok_search_by_hashtag” reworded the description of “q” cosmetic
- “tiktok_shop_product_details” reworded the description of “region” cosmetic
- “tiktok_shop_product_details” reworded the description of “url” cosmetic
- “truth_social_user_posts” reworded the description of “limit” cosmetic
- “facebook_marketplace_search” reworded the description of “daysSinceListed” cosmetic
- “youtube_hashtag_search” reworded the description of “q” cosmetic
- “facebook_marketplace_search” reworded the description of “location” cosmetic
- “instagram_comments” reworded the description of “cursor” cosmetic
- “instagram_hashtag_search” reworded the description of “q” cosmetic
- “instagram_profile_search” reworded the description of “q” cosmetic
- “instagram_reels_search” reworded the description of “q” cosmetic
- “facebook_marketplace_search” made “location” optional cosmetic
- 2 Sept 26 0
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- “tiktok_profile_region” added an optional parameter “cacheMaxAge” cosmetic
- “google_ad_library_ad_details” reworded the description of “cache” cosmetic
- “google_ad_library_advertiser_search” reworded the description of “cache” cosmetic
- “google_ad_library_company_ads” reworded the description of “cache” cosmetic
- “instagram_basic_profile” reworded the description of “cache” cosmetic
- “instagram_basic_profile” reworded the description of “cacheMaxAge” cosmetic
- “instagram_channel_details” reworded the description of “cache” cosmetic
- “instagram_channel_details” reworded the description of “cacheMaxAge” cosmetic
- “instagram_channel_reels” reworded the description of “cache” cosmetic
- “instagram_comments” reworded the description of “cache” cosmetic
- “instagram_details” reworded the description of “cache” cosmetic
- “instagram_embed” reworded the description of “cache” cosmetic
- “instagram_hashtag_search” reworded the description of “cache” cosmetic
- “instagram_highlights” reworded the description of “cache” cosmetic
- “instagram_highlights_details” reworded the description of “cache” cosmetic
- “instagram_reels_by_audio_id” reworded the description of “cache” cosmetic
- “instagram_reels_search” reworded the description of “cache” cosmetic
- “instagram_summarize” reworded the description of “cache” cosmetic
- “instagram_tagged_posts” reworded the description of “cache” cosmetic
- “instagram_transcript” reworded the description of “cache” cosmetic
- “kick_clip” reworded the description of “cache” cosmetic
- “kick_clip” reworded the description of “cacheMaxAge” cosmetic
- “komi_page” reworded the description of “cache” cosmetic
- “komi_page” reworded the description of “cacheMaxAge” cosmetic
- “kwai_post” reworded the description of “cache” cosmetic
- “kwai_profile” reworded the description of “cache” cosmetic
- “kwai_user_posts” reworded the description of “cache” cosmetic
- “linkbio_page” reworded the description of “cache” cosmetic
- “linkbio_page” reworded the description of “cacheMaxAge” cosmetic
- “linkedin_ad_library_ad_details” reworded the description of “cache” cosmetic
- “linkedin_ad_library_search_ads” reworded the description of “cache” cosmetic
- “linkedin_company” reworded the description of “cache” cosmetic
- “linkedin_company_posts” reworded the description of “cache” cosmetic
- “linkedin_post_details” reworded the description of “cache” cosmetic
- “linkedin_post_transcript” reworded the description of “cache” cosmetic
- “linkedin_profile” reworded the description of “cache” cosmetic
- “linkedin_search_posts” reworded the description of “cache” cosmetic
- “linkedin_search_posts” reworded the description of “sort” cosmetic
- “linkme_profile” reworded the description of “cache” cosmetic
- “linkme_profile” reworded the description of “cacheMaxAge” cosmetic
- “linktree_page” reworded the description of “cache” cosmetic
- “linktree_page” reworded the description of “cacheMaxAge” cosmetic
- “pillar_page” reworded the description of “cache” cosmetic
- “pillar_page” reworded the description of “cacheMaxAge” cosmetic
- “pinterest_board” reworded the description of “cache” cosmetic
- “pinterest_pin_details” reworded the description of “cache” cosmetic
- “pinterest_search” reworded the description of “cache” cosmetic
- “pinterest_user_boards” reworded the description of “cache” cosmetic
- “pinterest_user_pins” reworded the description of “cache” cosmetic
- “reddit_post_comments” reworded the description of “cache” cosmetic
- “reddit_post_details” reworded the description of “cache” cosmetic
- “reddit_post_transcript” reworded the description of “cache” cosmetic
- “reddit_search” reworded the description of “cache” cosmetic
- “reddit_subreddit_details” reworded the description of “cache” cosmetic
- “reddit_subreddit_posts” reworded the description of “cache” cosmetic
- “reddit_subreddit_search” reworded the description of “cache” cosmetic
- “rumble_channel_videos” reworded the description of “cache” cosmetic
- “rumble_comments” reworded the description of “cache” cosmetic
- “rumble_search” reworded the description of “cache” cosmetic
- “rumble_video_details” reworded the description of “cache” cosmetic
- “rumble_video_transcript” reworded the description of “cache” cosmetic
- “snapchat_user_profile” reworded the description of “cache” cosmetic
- “soundcloud_artist” reworded the description of “cache” cosmetic
- “soundcloud_artist” reworded the description of “cacheMaxAge” cosmetic
- “soundcloud_artist_tracks” reworded the description of “cache” cosmetic
- “soundcloud_track” reworded the description of “cache” cosmetic
- “soundcloud_track” reworded the description of “cacheMaxAge” cosmetic
- “spotify_album” reworded the description of “cache” cosmetic
- “spotify_artist” reworded the description of “cache” cosmetic
- “spotify_podcast” reworded the description of “cache” cosmetic
- “spotify_podcast_episodes” reworded the description of “cache” cosmetic
- “spotify_search” reworded the description of “cache” cosmetic
- “spotify_track” reworded the description of “cache” cosmetic
- “threads_post_details” reworded the description of “cache” cosmetic
- “threads_profile” reworded the description of “cache” cosmetic
- “threads_search” reworded the description of “cache” cosmetic
- “threads_search_users” reworded the description of “cache” cosmetic
- “threads_user_posts” reworded the description of “cache” cosmetic
- “tiktok_ad_library_ad_details” reworded the description of “cache” cosmetic
- “tiktok_ad_library_search” reworded the description of “cache” cosmetic
- “tiktok_ad_library_top_ads” reworded the description of “cache” cosmetic
- “tiktok_audience_demographics” reworded the description of “cache” cosmetic
- “tiktok_channel_details” reworded the description of “cache” cosmetic
- “tiktok_channel_details” reworded the description of “cacheMaxAge” cosmetic
- “tiktok_channel_posts” reworded the description of “cache” cosmetic
- “tiktok_comment_replies” reworded the description of “cache” cosmetic
- “tiktok_comments” reworded the description of “cache” cosmetic
- “tiktok_live” reworded the description of “cache” cosmetic
- “tiktok_live_info” reworded the description of “cache” cosmetic
- “tiktok_music_posts” reworded the description of “cache” cosmetic
- “tiktok_popular_creators” reworded the description of “cache” cosmetic
- “tiktok_popular_creators” reworded the description of “cacheMaxAge” cosmetic
- “tiktok_popular_hashtags” reworded the description of “cache” cosmetic
- “tiktok_popular_songs” reworded the description of “cache” cosmetic
- “tiktok_profile_region” reworded the description of “cache” cosmetic
- “tiktok_search_by_hashtag” reworded the description of “cache” cosmetic
- “tiktok_search_suggestions” reworded the description of “cache” cosmetic
- “tiktok_search_users” reworded the description of “cache” cosmetic
- “tiktok_shop_product_details” reworded the description of “cache” cosmetic
- “tiktok_shop_product_reviews” reworded the description of “cache” cosmetic
- “tiktok_shop_products” reworded the description of “cache” cosmetic
- “tiktok_shop_search” reworded the description of “cache” cosmetic
- “tiktok_shop_user_showcase” reworded the description of “cache” cosmetic
- “tiktok_song_details” reworded the description of “cache” cosmetic
- “tiktok_summarize” reworded the description of “cache” cosmetic
- “tiktok_top_search” reworded the description of “cache” cosmetic
- “tiktok_trending_feed” reworded the description of “cache” cosmetic
- “tiktok_user_followers” reworded the description of “cache” cosmetic
- “tiktok_user_followings” reworded the description of “cache” cosmetic
- “tiktok_video_details” reworded the description of “cache” cosmetic
- “truth_social_post” reworded the description of “cache” cosmetic
- “truth_social_profile” reworded the description of “cache” cosmetic
- “truth_social_user_posts” reworded the description of “cache” cosmetic
- “twitch_clip” reworded the description of “cache” cosmetic
- “twitch_clip” reworded the description of “cacheMaxAge” cosmetic
- “twitch_profile” reworded the description of “cache” cosmetic
- “twitch_profile” reworded the description of “cacheMaxAge” cosmetic
- “twitch_user_schedule” reworded the description of “cache” cosmetic
- “twitch_user_videos” reworded the description of “cache” cosmetic
- “twitter_community” reworded the description of “cache” cosmetic
- “twitter_community_tweets” reworded the description of “cache” cosmetic
- “twitter_profile” reworded the description of “cache” cosmetic
- “twitter_profile” reworded the description of “cacheMaxAge” cosmetic
- “twitter_transcript” reworded the description of “cache” cosmetic
- “twitter_tweet_details” reworded the description of “cache” cosmetic
- “twitter_user_tweets” reworded the description of “cache” cosmetic
- “youtube_audio_transcript” reworded the description of “cache” cosmetic
- “youtube_channel_details” reworded the description of “cache” cosmetic
- “youtube_channel_playlists” reworded the description of “cache” cosmetic
- “youtube_channel_shorts” reworded the description of “cache” cosmetic
- “youtube_channel_streams” reworded the description of “cache” cosmetic
- “youtube_channel_videos” reworded the description of “cache” cosmetic
- “youtube_comment_replies” reworded the description of “cache” cosmetic
- “youtube_comments” reworded the description of “cache” cosmetic
- “youtube_community_post_details” reworded the description of “cache” cosmetic
- “youtube_community_posts” reworded the description of “cache” cosmetic
- “youtube_hashtag_search” reworded the description of “cache” cosmetic
- “youtube_playlist” reworded the description of “cache” cosmetic
- “instagram_channel_posts” reworded the description of “cache” cosmetic
- “amazon_shop_page” reworded the description of “cache” cosmetic
- “analytics_compare” reworded the description of “cache” cosmetic
- “analytics_post” reworded the description of “cache” cosmetic
- “bluesky_post_details” reworded the description of “cache” cosmetic
- “bluesky_profile” reworded the description of “cache” cosmetic
- “bluesky_profile” reworded the description of “cacheMaxAge” cosmetic
- “bluesky_user_posts” reworded the description of “cache” cosmetic
- “facebook_ad_library_ad_details” reworded the description of “cache” cosmetic
- “facebook_ad_library_ad_transcript” reworded the description of “cache” cosmetic
- “facebook_ad_library_company_ads” reworded the description of “cache” cosmetic
- “facebook_ad_library_search” reworded the description of “cache” cosmetic
- “facebook_ad_library_search_companies” reworded the description of “cache” cosmetic
- “facebook_comment_replies” reworded the description of “cache” cosmetic
- “facebook_comments” reworded the description of “cache” cosmetic
- “facebook_details” reworded the description of “cache” cosmetic
- “facebook_event_details” reworded the description of “cache” cosmetic
- “facebook_event_search” reworded the description of “cache” cosmetic
- “facebook_group_posts” reworded the description of “cache” cosmetic
- “facebook_marketplace_item” reworded the description of “cache” cosmetic
- “facebook_marketplace_location_search” reworded the description of “cache” cosmetic
- “facebook_marketplace_search” reworded the description of “cache” cosmetic
- “facebook_page_details” reworded the description of “cache” cosmetic
- “facebook_profile_events” reworded the description of “cache” cosmetic
- “facebook_profile_photos” reworded the description of “cache” cosmetic
- “facebook_profile_posts” reworded the description of “cache” cosmetic
- “facebook_profile_reels” reworded the description of “cache” cosmetic
- “facebook_summarize” reworded the description of “cache” cosmetic
- “github_activity” reworded the description of “cache” cosmetic
- “github_contributions” reworded the description of “cache” cosmetic
- “github_followers” reworded the description of “cache” cosmetic
- “github_following” reworded the description of “cache” cosmetic
- “github_pull_requests” reworded the description of “cache” cosmetic
- “github_repositories” reworded the description of “cache” cosmetic
- “github_repository” reworded the description of “cache” cosmetic
- “github_trending_developers” reworded the description of “cache” cosmetic
- “github_trending_repositories” reworded the description of “cache” cosmetic
- “github_user” reworded the description of “cache” cosmetic
176 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
- 26 Aug 26 +1
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- 25 Aug 26 +1
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- 23 Aug 26 +1
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- 22 Aug 26 72
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://api.captapi.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.captapi.com | CN=YR2,O=Let's Encrypt,C=US | 28 Jul 2026 | 26 Oct 2026 | RSA 2048 | SHA256-RSA | 5dbf0650ac58ec069fb6d5208c3ae61d5d0 |
| SANs: api.captapi.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.captapi.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| captapi.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.captapi.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.captapi.com/mcp | HTTPS enforced | 301 | https://api.captapi.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
spotify_podcast ~121
Spotify podcast show — publisher, rating, topics, explicit flag, and totalEpisodes as clean JSON. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. |
No output schema declared.
No examples provided.
spotify_podcast_episodes ~212
Podcast episode archive — previewUrl, releaseDate, explicit, cursor pagination (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
| limit | integer | – | Max items to return (default 20, max 50). Flat 2 credits per call. |
| raw | boolean | – | Include slimmed per-episode upstream payload as episodes[].raw. Default false. visualIdentity / playedState / podcastV2 are never included. |
| url | string | yes | Spotify show/podcast URL, URI, or ID (e.g. https://open.spotify.com/show/…). Not an artist URL. |
No output schema declared.
No examples provided.
spotify_search ~180
Search Spotify — canonical spotify: URIs, explicit, fetchedAt (flat 2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 20, max 50). Flat 2 credits per call. |
| q | string | yes | Search term (min 2 chars). |
| raw | boolean | – | Include per-result upstream payload as results[].raw. Default false. Pathfinder GraphQL vs Apify scraper shapes differ — see FAQ. |
| type | string | – | Result kind: tracks (default), albums, artists, podcasts, or episodes. |
No output schema declared.
No examples provided.
spotify_track ~172
Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| raw | boolean | – | Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography. |
| url | string | yes | Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to R… |
No output schema declared.
No examples provided.
threads_post_details ~158
Threads post — engagement (views when exposed), comments[], relatedPosts[], threadId/isReply. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | Threads post URL, e.g. https://threads.net/@user/post/CODE. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Linke… |
No output schema declared.
No examples provided.
threads_profile ~166
Threads profile — displayName, private/isPrivate, bioLinks (Meta verified), isThreadsOnlyUser, transparencyLabel, bioFragments, HD avatars (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | Threads profile URL or @handle, e.g. https://threads.net/@username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Faceboo… |
No output schema declared.
No examples provided.
threads_search ~192
Threads keyword search — posts with engagement + media. orderBy relevant | post_dated | engagement. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 25, max 200). Flat 2 credits per call. |
| orderBy | string | – | Sort the fetched page: relevant (default, Meta Top / similar to query), post_dated (newest publishedAt first), or engagement (likes+replies+reposts+quotes+views). Unknown values are 400. |
| q | string | yes | Keyword or phrase to search public Threads posts (min 2 characters). |
No output schema declared.
No examples provided.
threads_search_users ~133
Threads user discovery from keyword search — id, handle, avatar, verified. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 20, max 100). Flat 1 credit per call. |
| q | string | yes | Keyword to find Threads users / creators (min 2 characters). |
No output schema declared.
No examples provided.
threads_user_posts ~214
Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. Flat 2 credits. source + stages/ms. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 20, max 100). Threads exposes only a short window of recent public posts on this surface. limit caps what you receive; it cannot increase what Threads returns. Flat 2 cre… |
| url | string | yes | Threads profile URL or @handle. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pintere… |
No output schema declared.
No examples provided.
tiktok_ad_library_ad_details ~163
One TikTok Commercial Content Library ad by ID — calendar-day dates, always 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| country | string | – | Two-letter ISO country code. Default GB. |
| url | string | yes | TikTok Ad Library URL or ad ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pintere… |
No output schema declared.
No examples provided.
tiktok_ad_library_search ~206
Search TikTok Commercial Content Library — relevance-filtered, uniform null schema (2 credits). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| country | string | – | Two-letter ISO country code (e.g. GB, DE, FR). Default GB (EU DSA library; US often empty). |
| limit | integer | – | Max items to return (default 20, max 200). Flat 2 credits per call. |
| match | string | – | Keyword token mode: "any" (default, OR whole-word) or "all" (AND). hair ≠ wheelchair. Empty results are free. |
| q | string | yes | Keyword or advertiser to search TikTok Commercial Content Library (min 2 characters). |
No output schema declared.
No examples provided.
tiktok_ad_library_top_ads ~415
TikTok Creative Center Top Ads — one ~20-row leaderboard page, not a library search (flat 2 / ~1 Apify). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| adFormat | string | – | Optional format filter: spark or non_spark. |
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| country | string | – | Two-letter ISO country code. Default US. |
| industry | string | – | Optional industry key or label from Creative Center. |
| limit | integer | – | Max items to return (default 20, max 20). One Creative Center leaderboard page is ~20 rows; limit only trims that pool — it cannot scan more candidates. Flat 2 credits on Decodo-native; Apify ~1 cred… |
| match | string | – | Keyword token mode: "any" (default, OR) or "all" (AND). Zero whole-word hits still return TikTok's keyword-ranked page as matchBasis=ranked (literalMatches=0). |
| objective | string | – | Optional campaign objective (e.g. Traffic, Conversion, Reach). |
| orderBy | string | – | Sort: for_you, likes, ctr, impressions, or cost. Default for_you. |
| period | integer | – | Lookback window in days: 7, 30, or 180. Default 30. |
| q | string | – | Optional keyword that filters the one ~20-row leaderboard page — not a library search. Case-insensitive whole-word match on title/brandName/industry/objective (hair ≠ wheelchair). There is no tags fi… |
No output schema declared.
No examples provided.
tiktok_audience_demographics ~240
Audience country + language mix for a TikTok creator — engagement sample, not a follower census. Costs 3 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| countriesLimit | integer | – | Max countries in audienceLocations; remainder folds into other{count,percentage}. Omit for the full list (other is omitted when unused). |
| url | string | yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You… |
| videos | integer | – | How many recent videos to sample comments from: 12 (default, 3 credits), 30 (5 credits), or 60 (8 credits). |
No output schema declared.
No examples provided.
tiktok_channel_details ~269
Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| raw | boolean | – | Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only. |
| url | string | yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You… |
No output schema declared.
No examples provided.
tiktok_channel_posts ~282
Latest videos from a TikTok profile. May return a labelled 6h-stale snapshot (degraded + staleAgeMs) when the live list is blocked. Failures are 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (TikTok's max_cursor timestamp, e.g. 1783614676000). A null nextCursor means the en… |
| limit | integer | – | How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per call. |
| url | string | yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You… |
No output schema declared.
No examples provided.
tiktok_comment_replies ~264
Replies under a TikTok comment — same authorId/authorSecUid/commentLanguage shape as comments. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| commentId | string | yes | ID of the parent (top-level) comment to fetch replies for — from the comments endpoint. Legacy alias: comment_id. |
| cursor | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value from the previous response. |
| limit | integer | – | Max items to return (default 50, max 500). Flat 2 credits per call. |
| url | string | yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro… |
No output schema declared.
No examples provided.
tiktok_comments ~268
TikTok comments — clean schema plus authorName, stable authorId/authorSecUid and commentLanguage for listening loops. Unresolvable videos are 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (a numeric offset, e.g. 50). A null nextCursor means the end of the comments. |
| limit | integer | – | Max items to return (default 50, max 500). Flat 2 credits per call. |
| url | string | yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro… |
No output schema declared.
No examples provided.
tiktok_live ~177
Is this TikTok creator live — isLive/status, creator.id/secUid, room, streamQualities with flv/hls/cmaf/dash. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You… |
No output schema declared.
No examples provided.
tiktok_live_info ~170
Identical to TikTok Live (isLive, creator.id/secUid, streamQualities hls/cmaf). Costs 7 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You… |
No output schema declared.
No examples provided.
tiktok_music_posts ~229
List TikTok videos that use a specific sound — caption, author, exact engagement, canonical hashtags, and mentions, with cursor pagination. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. hasMore is true only when nextCursor is present. |
| limit | integer | – | Max items to return (default 20, max 200). Flat 2 credits per call. |
| url | string | yes | TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Li… |
No output schema declared.
No examples provided.
tiktok_popular_creators ~260
Creative Center creators + createTime / bioLinkRisk / ttSeller hydrate for partnership vetting. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| country | string | – | Two-letter ISO country code. Default US. |
| follower_count | string | – | Optional range on FYP/Apify fallthrough: 10k-100k, 100k-1m, 1m-10m, >10m. |
| limit | integer | – | Max items to return (default 20, max 100). Flat 2 credits per call. |
| page | integer | – | Creative Center page (default 1). |
| sort | string | – | follower, engagement, or popularity. Default follower. |
No output schema declared.
No examples provided.
tiktok_popular_hashtags ~313
Related TikTok hashtags — Creative Center chart when it answers, otherwise a disclosed niche fallback. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| country | string | – | Two-letter ISO country for the Creative Center chart. Default US. |
| industryId | string | – | Optional Creative Center industry_id. |
| limit | integer | – | Max items to return (default 20, max 100). Flat 2 credits per call. |
| newOnBoard | boolean | – | Only hashtags newly on the Top 100. |
| page | integer | – | Creative Center page (default 1). |
| period | integer | – | Lookback days: 7, 30, or 120 (180→120). Default 7. |
| query | string | – | Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (25s); a miss falls through to related tags for fyp (source=niche_fallback) a… |
| sortBy | string | – | Chart sort: popular (default). |
No output schema declared.
No examples provided.
tiktok_popular_songs ~253
Creative Center popular/surging sounds — honoured{} names applied filters. Chart miss is 503 at 0 credits, not a For You sample. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| commercialMusic | boolean | – | Only Commercial Music Library–cleared sounds. |
| country | string | – | Two-letter ISO country. Default US. |
| limit | integer | – | Max items to return (default 20, max 20). Flat 2 credits per call. |
| newOnBoard | boolean | – | Only sounds newly on the Top 100. |
| page | integer | – | Creative Center page (1–20). Echoed on a native chart 200 with hasMore. Omitted on the extended path — that list is one page. |
| period | integer | – | 7, 30, or 120 days (180→120). Default 7. |
| rankType | string | – | popular | surging. Default popular. |
No output schema declared.
No examples provided.
tiktok_profile_region ~266
Find out where a TikTok creator is likely based and what language they use — country, language, stable ids, and core profile stats. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 7d response cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| raw | boolean | – | Set true to include TikTok's upstream user/statsV2 blob under raw. Default false — curated fields only. |
| url | string | yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You… |
No output schema declared.
No examples provided.
tiktok_search_by_hashtag ~246
Videos from TikTok's /tag/{name} challenge feed — not keyword or username search. Cursor + hasMore. Costs ~14 credits (0.7/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | integer | – | Pagination offset. Leave at 0 (or omit) for the first page; then pass the nextCursor value returned in the previous response. A null nextCursor means the end of the results. |
| limit | integer | – | Max items to return (default 20, max 100). Billed per result. |
| q | string | yes | Single hashtag token for the /tag/{name} challenge feed, with or without # (min 2). Spaces are 400 — use /v1/tiktok/search/top for a keyword query. |
| region | string | – | Two-letter ISO 3166-1 country our request is sent from. Default US. Does not filter results by country. |
No output schema declared.
No examples provided.
tiktok_search_suggestions ~207
Get the autocomplete terms TikTok suggests in its search bar for a keyword — the real phrases people search, ranked, so you can find trending queries and long-tail keyword ideas. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| country | string | – | Two-letter ISO country code that localizes the suggestions to a market, e.g. US, GB, DE. Default US. |
| language | string | – | Interface language for the suggestions, e.g. en-US or de-DE. Default en-US. |
| limit | integer | – | Max items to return (default 20, max 100). Flat 2 credits per call. |
| q | string | yes | Seed keyword to expand into autocomplete suggestions, e.g. skincare. |
No output schema declared.
No examples provided.
tiktok_search_users ~243
Search TikTok users — distinct creators only, id + secUid, per-counter isApproximate flags, cursor pagination. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor. Omit (or pass 0) for the first page; then pass the nextCursor value from the previous response verbatim — it carries the search session, not just an offset. A null nextCursor means… |
| fallback | boolean | – | Opt into the scraper actor when native search is unavailable (~2 min, capped at 100 s, degraded-empty on timeout). Default false — return an empty degraded page (0 credits) instead. |
| limit | integer | – | Max items to return (default 20, max 100). Flat 1 credit per call. |
| q | string | yes | Search query matched against usernames, display names and bios (min 2 characters). |
No output schema declared.
No examples provided.
tiktok_shop_product_details ~248
PDP — price (sku_min when guest min is *), sold vs stock, seller id/url, images[]. Unresolved URL is 404 at 0 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| region | string | – | Two-letter market region (default US). A region= or oec_region= query on the product URL wins over this default so a BR share URL is not fetched as US. Echoed as data.region. |
| url | string | yes | TikTok Shop product URL, e.g. https://shop.tiktok.com/view/product/1731410956394792439?region=BR or https://www.tiktok.com/shop/pdp/1731098552908944370. The URL platform must match this endpoint's pl… |
No output schema declared.
No examples provided.
tiktok_shop_product_reviews ~198
TikTok Shop product reviews — star rating, text, SKU variant, verified purchase, country, and review photos. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 20, max 200). Billed per result. |
| url | string | yes | TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731962298839634826. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Insta… |
No output schema declared.
No examples provided.
tiktok_shop_products ~245
Store catalog with shopInfo (sold/followers/rating) + products priced with sold, rating, typed discount. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 20, max 200). Flat 2 credits per call. |
| region | string | – | Two-letter market region (default US). Non-US coverage depends on TikTok exposing that shop in the selected region — empty results outside the US are often a platform limit, not a Captapi bug. |
| url | string | yes | TikTok Shop store URL, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube t… |
No output schema declared.
No examples provided.
tiktok_shop_search ~193
TikTok Shop keyword search — priced products with sold, rating/reviews, typed discount, seller id. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 10, max 10). Flat 2 credits per call. |
| q | string | yes | Product search query (min 2 characters), e.g. phone case. |
| region | string | – | Two-letter market region for the search (default US). Echoed on the response as data.region — not a creator home country. Native search is a SERP window (not TikTok's full catalog); compare requested… |
No output schema declared.
No examples provided.
tiktok_shop_user_showcase ~159
Creator Shop showcase — affiliate shelf products with per-product sold, rating, typed discount, and seller name/url. Costs ~45 credits (2.25/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 20, max 200). Billed per result. |
| username | string | yes | TikTok username, @handle, or profile URL, e.g. jeffreestar or https://www.tiktok.com/@jeffreestar. |
No output schema declared.
No examples provided.
tiktok_song_details ~171
TikTok sound metadata — usageCount, artists[{id,secUid,handle}], audio{bpm,loudness,beats}, commerce rights (1 credit native). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | TikTok music/sound URL, e.g. https://tiktok.com/music/name-ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Li… |
No output schema declared.
No examples provided.
tiktok_summarize ~197
Summarizer Costs 4 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| language | string | – | ISO code, e.g. "tr": pins the speech language and sets the summary output language. Defaults to auto-detect + English summary. |
| url | string | yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro… |
No output schema declared.
No examples provided.
tiktok_top_search ~170
TikTok Top/General search — videos and photo carousels when TikTok includes them, with contentType + images[]. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | integer | – | Pagination cursor. Leave 0 for the first page; then pass nextCursor from the previous response. TikTok may return duplicates across pages. |
| limit | integer | – | Max items to return (default 20, max 200). Flat 2 credits per call. |
| q | string | yes | Search query or keywords (min 2 characters). |
No output schema declared.
No examples provided.
tiktok_transcript ~187
Transcript Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. |
| language | string | – | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
| url | string | yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro… |
No output schema declared.
No examples provided.
tiktok_trending_feed ~323
For You by default; pass orderBy/period/page for Creative Center popular videos (like/hot/comment/repost) with totalCount. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| country | string | – | Two-letter ISO country (default US). For You: region-availability hint. Creative Center mode: chart market. |
| countryCode | string | – | Alias of country. Wins when both are set. |
| limit | integer | – | Max items to return (default 20, max 200). Flat 2 credits per call. |
| orderBy | string | – | Creative Center sort: hot (views), like, comment, or repost. Unknown values are 400. vv/views/plays are aliases of hot — the response echoes the public name. Setting this (or period / page>1) switche… |
| page | integer | – | Creative Center page (default 1). page>1 triggers chart mode. |
| period | integer | – | Lookback days: 7, 30, or 120 (180→120). Triggers chart mode. Every returned publishedAt is inside this window — a For You fallthrough is filtered the same way. |
No output schema declared.
No examples provided.
tiktok_user_followers ~231
List a TikTok user's followers — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. |
| limit | integer | – | Max items to return (default 50, max 500). Flat 1 credit per call. |
| url | string | yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You… |
No output schema declared.
No examples provided.
tiktok_user_followings ~232
List who a TikTok user follows — id, secUid, createTime, region, language, cursor pagination. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor (TikTok minCursor). Leave empty for the first page; then pass nextCursor from the previous response. |
| limit | integer | – | Max items to return (default 50, max 500). Flat 1 credit per call. |
| url | string | yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. You… |
No output schema declared.
No examples provided.
tiktok_video_details ~188
Get everything about one TikTok video from its URL — caption, view/like/comment/share/save counts, creator, sound, hashtags, and thumbnail. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | Public TikTok video URL, e.g. https://www.tiktok.com/@khaby.lame/video/7646812028874673439. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cro… |
No output schema declared.
No examples provided.
truth_social_post ~152
One Truth — text, links[], card, reblog/quote chain, media.meta, externalVideoId. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | Truth Social post URL or post ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinte… |
No output schema declared.
No examples provided.
truth_social_profile ~150
Prominent public Truth Social profiles — isPrivate/bot/group, CP-F counts, avatar/banner. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or… |
No output schema declared.
No examples provided.
truth_social_user_posts ~243
Recent Truths — same post mapper as /post (links, card, reblog/quote, mentions). 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response. |
| limit | integer | – | Max posts to return (default 20, max 80). Truth Social's statuses page is ~20 items — a full page returns nextCursor. On the extended path hasMore can be true with nextCursor null (truncatedReason=si… |
| url | string | yes | Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or… |
No output schema declared.
No examples provided.
twitch_clip ~215
Twitch clip — curator vs channel, signedVideoUrl, unwrapped token, relatedClips (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| url | string | yes | Twitch clip URL (clips.twitch.tv/<slug> or twitch.tv/<channel>/clip/<slug>). The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram t… |
No output schema declared.
No examples provided.
twitch_profile ~215
Twitch channel — handle + displayName, socials[], topClips, schedule preview, stream only when live (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| url | string | yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook… |
No output schema declared.
No examples provided.
twitch_user_schedule ~183
Twitch channel schedule — startAt/endAt, title, game, isRecurring (0 credits when empty). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max schedule segments to return (default 50, max 100). Flat 1 credit per call. |
| url | string | yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook… |
No output schema declared.
No examples provided.
twitch_user_videos ~304
Twitch channel VODs — lean rows, video-id cursor, filter/sort, top-level broadcaster{} (flat 2). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor = last video id from the previous nextCursor. Leave empty for the first page. Pages the first 100 matching videos only (not a raw offset). |
| filterBy | string | – | ARCHIVE | HIGHLIGHT | UPLOAD. Omit for all types — there is no default filter (unset filterBy is omitted, not null). |
| limit | integer | – | Max items to return (default 20, max 100). Flat 2 credits per call. Hard ceiling: first 100 matching videos only — deeper history is not available (windowMax=100). |
| sortBy | string | – | TIME (default, newest first) or VIEWS. |
| url | string | yes | Twitch channel URL or username, e.g. https://www.twitch.tv/shroud. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook… |
No output schema declared.
No examples provided.
twitter_community ~162
X Community metadata — ISO createdAt, flat creator handle, isNsfw + bannerImage, rules[]. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Insta… |
No output schema declared.
No examples provided.
twitter_community_tweets ~189
Posts in an X Community — same 6-metric tweet shape as search. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 25, max 200). Flat 2 credits per call. |
| url | string | yes | X community URL (x.com/i/communities/ID) or community ID — not a tweet/status URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Insta… |
No output schema declared.
No examples provided.
twitter_profile ~215
X profile: verified + blue/legacy/identity, displayName, avatar/banner, tipjar→contact{}, expanded website. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to use the 1-hour profile cache (0 credits on hit). Default false — always fetch fresh. Prefer cacheMaxAge for 1d–30d. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| url | string | yes | Twitter/X profile URL or @handle, e.g. https://x.com/username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Li… |
No output schema declared.
No examples provided.
What is the io.github.CDCStream/captapi MCP server?
io.github.CDCStream/captapi is an MCP server listed in the public MCP registry as io.github.CDCStream/captapi. Social media data: 85 tools across 11 platforms (YouTube, TikTok, Instagram, X & more), one key. This page covers its hosted endpoint (https://api.captapi.com/mcp).
Is the io.github.CDCStream/captapi MCP server safe to use?
io.github.CDCStream/captapi scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.CDCStream/captapi MCP server expose?
io.github.CDCStream/captapi exposes 178 tools: youtube_transcript, youtube_audio_transcript, youtube_summarize, youtube_video_details, youtube_comments, and 173 more. Their descriptions and schemas cost roughly 36,020 tokens of context every time the server is loaded.
Does the io.github.CDCStream/captapi MCP server require authentication?
No. We connected to io.github.CDCStream/captapi without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.github.CDCStream/captapi MCP server still maintained?
io.github.CDCStream/captapi is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.