Captapi
NPM · @CAPTAPI/MCP · 2 COMPONENTS
Public social media data: profiles, posts, comments, transcripts and ad libraries, 30+ platforms.
Available components
Last scanned (6 hours ago)
Scores higher than 53% of npm servers
Category News and Social
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security81
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 76 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 37104 tokens (~208/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 Management86
- Stability check failed: the tool surface changed between 0.3.0 and 0.5.0: 10 tool removals, 4 breaking changes, 103 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 178 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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.
- 24 Oct 26 −5
- CVE-2023-54404 affects this package: high ▼ security
- Known CVEs: pass → fail ▼ security
- 19 Oct 26 +4
- Stability: 0.97 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.97 → fail ▼ security
- Source repository: fail → pass ▲ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: pass → fail ▼ functional
- Security disclosure: unverified → pass ▲ functional
- Schema quality: good → excellent functional
- Package version: 0.3.0 → 0.5.0 functional
- 17 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Oct 26 −3
- Stability: pass → 0.80 functional
- 12 Oct 26 +2
- Stability: 0.90 → pass security
- 9 Oct 26 −1
No change was recorded against any check on this day. Stability & Change Management went from 97 to 90.
- 3 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
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 5 Nov 2026 · Analysed npm/@captapi/mcp@0.5.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-mrhx-c7xc-m3w5 | CVE-2023-54404 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 93 packages
| Packages resolved | 93 |
|---|---|
| Stale | 30 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 Spotify Podcast ~130
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. Envelope includes cached + cachedAt on hits. |
| 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 Spotify Podcast Episodes ~221
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. Envelope includes cached + cachedAt on hits. |
| 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 Spotify Search ~189
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. Envelope includes cached + cachedAt on hits. |
| 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 Spotify Track ~181
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. Envelope includes cached + cachedAt on hits. |
| 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 Threads Post Details ~167
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. Envelope includes cached + cachedAt on hits. |
| 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 Threads Profile ~175
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. Envelope includes cached + cachedAt on hits. |
| 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 Threads Post Search ~137
Threads keyword search — posts with engagement + media. 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. Envelope includes cached + cachedAt on hits. |
| limit | integer | – | Max items to return (default 25, max 200). Flat 2 credits per call. |
| q | string | yes | Keyword or phrase to search public Threads posts (min 2 characters). |
No output schema declared.
No examples provided.
threads_search_users Threads Search Users ~142
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. Envelope includes cached + cachedAt on hits. |
| 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 Threads User Posts ~225
Recent Threads posts — engagement{views,likes,replies,reposts,quotes}, threadId/isReply. 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. Envelope includes cached + cachedAt on hits. |
| limit | integer | – | Max items to return (default 20, max 100). Threads only exposes the last ~20–30 public posts on this surface — asking for 100 will not return 100. Flat 2 credits on the native path; Apify fallback ~0… |
| 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 TikTok Ad Details ~172
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Ad Library Search ~215
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Creative Center 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. Envelope includes cached + cachedAt on hits. |
| 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 literal hits → empty ads[] (never an unfiltered soft list). |
| 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 TikTok Audience Demographics ~249
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Channel Details ~282
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. Envelope includes cached + cachedAt on hits. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. |
| raw | boolean | – | Set true to include TikTok's upstream user/statsV2 blob under raw (privacy ints, profileTab, …). 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 TikTok Channel Posts ~291
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Comment Replies ~263
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. Envelope includes cached + cachedAt on hits. |
| 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://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouT… |
No output schema declared.
No examples provided.
tiktok_comments TikTok Comments ~267
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. Envelope includes cached + cachedAt on hits. |
| 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://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouT… |
No output schema declared.
No examples provided.
tiktok_live TikTok Live ~186
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Live Info ~179
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Music Posts ~227
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. Envelope includes cached + cachedAt on hits. |
| 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 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 TikTok Popular Creators ~276
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. Envelope includes cached + cachedAt on hits. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. |
| 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 TikTok Popular Hashtags ~290
TikTok Creative Center hashtag chart — real videoCount/totalPlays, plus rankDiff and trend[] on that path. 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. Envelope includes cached + cachedAt on hits. |
| 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 legacy co-occurrence + challenge/detail enrich. Omit, or pass trending, to use the Creative Center chart. A chart miss is 502 — trending is not treated as a niche seed. |
| sortBy | string | – | Chart sort: popular (default). |
No output schema declared.
No examples provided.
tiktok_popular_songs TikTok Popular Songs ~234
Creative Center popular/surging sounds — rankDiff, trend[], commercialMusic. 110s deadline, 0 credits on 502. 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. Envelope includes cached + cachedAt on hits. |
| 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 | – | Page number (default 1). |
| 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 TikTok Profile Region ~214
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 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Search by Hashtag ~241
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. Envelope includes cached + cachedAt on hits. |
| 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 | Hashtag for the /tag/{name} challenge feed, with or without # (min 2). Not 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 TikTok Search Suggestions ~216
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Search Users ~252
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Shop Product Details ~230
PDP — price/originalPrice/typed discount, images[], skus[] with per-variant stock + saleProps, seller id/url, categories (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. Envelope includes cached + cachedAt on hits. |
| region | string | – | Two-letter market region for the secondary fetch path (default US). Primary SSR uses the product URL's market; empty/partial non-US results are often a TikTok exposure limit. |
| url | string | yes | TikTok Shop product URL, e.g. https://www.tiktok.com/shop/pdp/1731098552908944370. 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_product_reviews TikTok Shop Product Reviews ~207
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Shop Products ~254
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Shop Search ~202
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Shop User Showcase ~168
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Song Details ~180
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Summarizer ~196
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. Envelope includes cached + cachedAt on hits. |
| 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://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouT… |
No output schema declared.
No examples provided.
tiktok_top_search TikTok Top Search ~179
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Transcript ~177
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://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouT… |
No output schema declared.
No examples provided.
tiktok_trending_feed TikTok Trending Feed ~332
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok User Followers ~240
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok User Followings ~241
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. Envelope includes cached + cachedAt on hits. |
| 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 TikTok Video Details ~187
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. Envelope includes cached + cachedAt on hits. |
| url | string | yes | Public TikTok video URL, e.g. https://tiktok.com/@user/video/ID. Not a YouTube/Instagram/Facebook URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouT… |
No output schema declared.
No examples provided.
truth_social_post Truth Social Post ~161
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. Envelope includes cached + cachedAt on hits. |
| 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 Truth Social Profile ~157
Prominent public Truth Social profiles — isPrivate/bot/group, fields[], 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. Envelope includes cached + cachedAt on hits. |
| 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 Truth Social User Posts ~247
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. Envelope includes cached + cachedAt on hits. |
| 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). Capped at 80 because Truth Social's statuses page is ~40 items — use nextCursor for more pages. Flat 2 credits per call. Response `source` is native or exten… |
| 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 Twitch Clip ~231
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. Envelope includes cached + cachedAt on hits. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. |
| 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 Twitch Profile ~231
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. Envelope includes cached + cachedAt on hits. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. |
| 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 Twitch User Schedule ~192
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. Envelope includes cached + cachedAt on hits. |
| 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 Twitch User Videos ~313
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. Envelope includes cached + cachedAt on hits. |
| 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 Twitter/X Community ~171
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. Envelope includes cached + cachedAt on hits. |
| 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 Twitter/X Community Tweets ~198
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. Envelope includes cached + cachedAt on hits. |
| 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 Twitter/X Profile ~231
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. Envelope includes cached + cachedAt on hits. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. Envelope: cached + cachedAt. |
| 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.
How do I install the Captapi MCP server?
Captapi runs locally as an npm package, launched with npx -y @captapi/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @captapi/mcp
claude mcp add cdcstream-captapi -- npx -y @captapi/mcp
What is the Captapi MCP server?
Captapi is an MCP server listed in the public MCP registry as io.github.CDCStream/captapi. Public social media data: profiles, posts, comments, transcripts and ad libraries, 30+ platforms. This page covers its npm package (@captapi/mcp).
Is the Captapi MCP server safe to use?
Captapi scores 76 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 5 November 2026. It declares no install or post-install scripts. 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 Captapi MCP server expose?
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 37,104 tokens of context every time the server is loaded.
Is the Captapi MCP server still maintained?
Captapi is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Captapi MCP server under?
Captapi declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.