Captapi
NPM · @CAPTAPI/MCP · 2 COMPONENTS
Public social media data: profiles, posts, comments, transcripts and ad libraries, 30+ platforms.
Available components
Last scanned (5 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 →
instagram_hashtag_search Instagram Hashtag Search ~173
Native Instagram hashtag Explore — Reels-heavy top surface with real likes, views, captions, and paid flags. 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 200). Flat 2 credits per call. |
| mediaType | string | – | all (default) or reels — return only Reels/clips when set to reels. |
| q | string | yes | Hashtag without the # (min 2 characters). |
No output schema declared.
No examples provided.
instagram_highlights Instagram Highlights ~170
Persistent Story Highlight albums for a public profile — id, title, cover, owner. 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 | – | Instagram profile URL, @handle, or username. Omit when userId is set. |
| userId | string | – | Numeric Instagram user ID. Prefer when known — skips handle→ID resolve. When only userId is set we reverse-resolve the username so the WPI / profile-HTML shelf can still run. |
No output schema declared.
No examples provided.
instagram_highlights_details Instagram Highlights Details ~123
Items inside one Instagram Story Highlight album — media URLs, type, takenAt. 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. |
| id | string | yes | Highlight id from /v1/instagram/highlights (with or without highlight: prefix). |
No output schema declared.
No examples provided.
instagram_profile_search Instagram Profile Search ~125
Resolve a brand or @handle to one public Instagram profile — stable id, bio, links, and stats (not niche discovery). 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 | – | Serve from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh. |
| q | string | yes | Account name, @handle, or profile URL to resolve (min 2 characters). Not a niche keyword search. |
No output schema declared.
No examples provided.
instagram_reels_by_audio_id Instagram Reels By Audio ID ~160
Is this Instagram sound trending? Reels that use it + isTrendingInClips / trendRank / rich music{}. Costs ~28 credits (1.4/result). Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| audioId | string | yes | Instagram audio/music ID or full audio URL, e.g. 27919946310946207. |
| 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. |
No output schema declared.
No examples provided.
instagram_reels_search Instagram Reels Search ~181
Native Instagram Reels hashtag search — engagement.views + viewsSource, location, commercial flags. 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. |
| datePosted | string | – | last_24_hours | last_week | last_month | last_year (aliases: today, this_week, this_month, this_year). |
| limit | integer | – | Max items to return (default 20, max 200). Flat 2 credits per call. |
| q | string | yes | Hashtag (without #) or keyword (min 2 characters). |
No output schema declared.
No examples provided.
instagram_summarize Instagram Summarizer ~199
Get an AI summary of any Instagram Reel — a short paragraph plus key points, without watching the video. 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 | Instagram Reel URL, e.g. https://instagram.com/reel/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… |
No output schema declared.
No examples provided.
instagram_tagged_posts Instagram Tagged Posts ~220
Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive. 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 | – | 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 1 credit per call. |
| url | string | yes | Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. 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.
instagram_transcript Instagram Transcript ~195
Turn any Instagram Reel's speech into text — the full transcript plus timestamped segments, ready for search, subtitles, or AI pipelines. 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. |
| language | string | – | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
| url | string | yes | Instagram Reel URL, e.g. https://instagram.com/reel/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… |
No output schema declared.
No examples provided.
instagram_trending_reels Instagram Trending Reels ~192
Cache-first trending Reels — flat 2 credits every call (4h TTL). Costs 2 credits. Empty results and failures are never charged. Successful calls bill even on cache hits.
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Default true (cache-first): serve the per-country response cache when present (TTL 4 hours). Every successful call costs 2 credits — including cache hits. Set false to force a live scrape (typically… |
| country | string | – | Country for Reels localization — full name or ISO code (e.g. 'United States', 'US', 'Turkey', 'TR'). Default United States. Unsupported values return 400 with supportedCountries[]. |
| limit | integer | – | Max items to return (default 10, max 200). Flat 2 credits per call. |
No output schema declared.
No examples provided.
kick_clip Kick Clip ~292
Get a Kick clip — creator vs channel, HLS playback, VOD deep-link, views, and duration as structured 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 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. |
| limit | integer | – | Channel mode only — max recent clips to return (default 30, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — Kick returns a single page. |
| url | string | yes | Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel URL/@username for recent clips[]. The URL platform must match this endpoint's platform. Do not pass cros… |
No output schema declared.
No examples provided.
komi_page Komi Page ~254
Komi link-in-bio → identity, socials{} (incl. website), content LINK/PRODUCT rows with price/currency. 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 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 | Komi page URL or username, e.g. https://komi.io/kimkardashian or https://kimkardashian.komi.io/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to… |
No output schema declared.
No examples provided.
kwai_post Kwai Post ~179
Single Kwai video — caption ("" when none), hashtags[], author, mp4 (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. |
| url | string | yes | Kwai video URL, e.g. https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTo… |
No output schema declared.
No examples provided.
kwai_profile Kwai Profile ~170
Fetch Kwai profile — display name, bio, counts, and verification as structured 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 | Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram… |
No output schema declared.
No examples provided.
kwai_user_posts Kwai User Posts ~232
Kwai profile posts — caption ("" when none), engagement, mp4 + transcript (~1 credit/post). Costs ~20 credits (1/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 | string | – | Opaque pagination cursor from the previous nextCursor. Pages within posts from one profile fetch. |
| limit | integer | – | Max posts to return (1–200). Default 20. ~1 credit per post returned (min 2). |
| url | string | yes | Kwai profile URL or @handle, e.g. https://www.kwai.com/@topfilmeseseriesnatv. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram… |
No output schema declared.
No examples provided.
linkbio_page Linkbio Page ~239
lnk.bio → id, socials{}, titled links[], website/email/whatsapp, other[]. 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 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 | Linkbio (lnk.bio) page URL or username, e.g. https://lnk.bio/charlidamelio. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to… |
No output schema declared.
No examples provided.
linkedin_ad_library_ad_details LinkedIn Ad Details ~169
One LinkedIn Ad Library ad by ID. LinkedIn withholds Ran-from / impressions / targeting on most creatives — those keys are omitted, not 404. 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. |
| url | string | yes | LinkedIn 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 Pinte… |
No output schema declared.
No examples provided.
linkedin_ad_library_search_ads LinkedIn Ad Library Search ~350
LinkedIn publishes run dates, impressions and targeting only on a subset of creatives. Search is the SERP card; source is native|extended. 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. |
| company | string | – | Alias of q — advertiser / account owner name. |
| companyId | string | – | LinkedIn numeric company id for exact advertiser match. |
| countries | string | – | Comma-separated ISO country codes (e.g. US,CA,MX). |
| country | string | – | Single ISO country code. Default US. Ignored when countries is set. |
| cursor | string | – | Pagination token from paginationToken / nextCursor. |
| endDate | string | – | Custom range end YYYY-MM-DD (use with startDate). |
| keyword | string | – | Optional keyword filter on ad creative copy. |
| limit | integer | – | Max items to return (default 20, max 200). Flat 2 credits per call on the native path; the extended fallback bills ~3.5 credits per returned ad. Response `source` is native or extended so you can see… |
| paginationToken | string | – | Alias of cursor. |
| q | string | – | Advertiser / account owner name (min 2 when used). Provide q/company, keyword, or companyId. |
| startDate | string | – | Custom range start YYYY-MM-DD (use with endDate). |
No output schema declared.
No examples provided.
linkedin_company LinkedIn Company ~172
Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. Native 1 / enrich 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. |
| url | string | yes | LinkedIn company URL, e.g. https://www.linkedin.com/company/shopify. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebo… |
No output schema declared.
No examples provided.
linkedin_company_posts LinkedIn Company Posts ~247
Company posts with engagement{likes,comments} — cursor pages up to 100. Flat 1 credit on the native path. 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. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 100 pos… |
| limit | integer | – | Max items to return (default 20, max 100). Flat 1 credit per call. |
| url | string | yes | LinkedIn company URL, e.g. https://linkedin.com/company/slug. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, Lin… |
No output schema declared.
No examples provided.
linkedin_post_details LinkedIn Post Details ~152
Get a LinkedIn post — text, author, reactions, and comments count as structured 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 | LinkedIn post or activity URL. 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 Pinteres… |
No output schema declared.
No examples provided.
linkedin_post_transcript LinkedIn Post Transcript ~154
LinkedIn post text as a transcript — paragraph segments, timingSource none. 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 | LinkedIn post or activity URL. 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 Pinteres… |
No output schema declared.
No examples provided.
linkedin_profile LinkedIn Profile ~170
LinkedIn person profile with experience[], education[], similarProfiles[] — masked guest text becomes restricted:true. 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. |
| url | string | yes | LinkedIn profile URL, e.g. https://www.linkedin.com/in/paul-martin-a5aa98. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to… |
No output schema declared.
No examples provided.
linkedin_search_posts LinkedIn Search Posts ~203
Keyword search of public LinkedIn posts — offset cursor, ceiling 50. Costs ~16 credits (0.8/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 | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 50 post… |
| limit | integer | – | Max items to return (default 20, max 50). Billed per result. |
| q | string | yes | Search query or keywords (min 2 characters). |
| sort | string | – | relevance or date. Default relevance. |
No output schema declared.
No examples provided.
linkme_profile Linkme Profile ~240
Linkme profile → bio, profileVisitCount, featured links, webLinks, email/infoLinks, stripeStatus. 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 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 | Linkme profile URL or username, e.g. https://link.me/danucd or danucd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Face… |
No output schema declared.
No examples provided.
linktree_page Linktree Page ~232
Link-in-bio → creator graph: typed links, socialAccounts{} that feed TikTok/Instagram/Spotify/SoundCloud, email, verticals. 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 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 | Linktree 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 Pinte… |
No output schema declared.
No examples provided.
pillar_page Pillar Page ~220
Pillar link-in-bio → identity, socials{}, links[] with per-link clicks, products[]. 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 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 | Pillar page 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 Pinterest… |
No output schema declared.
No examples provided.
pinterest_board Pinterest Board ~272
Pins on a Pinterest board — saves, imageOriginal, destinationUrl, top-level author. ~0.5 credits/pin. Costs ~13 credits (0.5/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 | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable windo… |
| limit | integer | – | Max items to return (default 25, max 200). Billed per result. |
| url | string | yes | Pinterest board URL (.../username/board-name/), not a /pin/ URL. Example: https://www.pinterest.com/potterybarn/rustic-lodge-lookbook/. The URL platform must match this endpoint's platform. Do not pa… |
No output schema declared.
No examples provided.
pinterest_pin_details Pinterest Pin Details ~165
Get a Pinterest pin — title, description, link, board, origin creator, and engagement as structured 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 | Pinterest pin URL, e.g. https://pinterest.com/pin/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 t… |
No output schema declared.
No examples provided.
pinterest_search Pinterest Search ~188
Keyword pin search — offset cursor, SERP window 40. Costs ~13 credits (0.5/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 | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the SERP window (max… |
| limit | integer | – | Max items to return (default 25, max 200). Billed per result. |
| q | string | yes | Keywords or search query (min 2 characters). |
No output schema declared.
No examples provided.
pinterest_user_boards Pinterest User Boards ~240
Boards on a Pinterest profile — pinCount, coverImage (474x), privacy, sections. Board followers when scoped. Costs ~13 credits (0.5/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 | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable windo… |
| limit | integer | – | Max items to return (default 25, max 200). Billed per result. |
| url | string | yes | Pinterest 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 Pint… |
No output schema declared.
No examples provided.
pinterest_user_pins Pinterest User Pins ~232
Pins from a Pinterest profile — offset cursor, pidgets window ~100. Costs ~13 credits (0.5/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 | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the retrievable windo… |
| limit | integer | – | Max items to return (default 25, max 200). Billed per result. |
| url | string | yes | Pinterest 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 Pint… |
No output schema declared.
No examples provided.
reddit_post_comments Reddit Post Comments ~205
Flat Reddit comment threads with depth/parentId, cursor pagination, and the parent post in one call. 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 50, max 500). Flat 2 credits per call. |
| url | string | yes | Reddit post URL. 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 Rumble. |
No output schema declared.
No examples provided.
reddit_post_details Reddit Post Details ~165
Get a Reddit post — title, body, score, comments count, subreddit, and author as structured 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 | Reddit post URL, e.g. https://reddit.com/r/sub/comments/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.
reddit_post_transcript Reddit Post Transcript ~178
Written post text — title, body and top comments. Not a speech transcript. 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 50, max 200). Flat 2 credits per call. |
| url | string | yes | Reddit post URL. 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 Rumble. |
No output schema declared.
No examples provided.
reddit_search Reddit Search ~229
Reddit site-wide post search — sort + timeframe + cursor, score/upvoteRatio, authorFullname. 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 25, max 200). Flat 2 credits per call. |
| q | string | yes | Keyword or phrase to search Reddit posts site-wide (min 2 characters). |
| sort | string | – | relevance (default) | new | top | hot | comments (alias: comment_count). |
| timeframe | string | – | For sort=top or comments: hour | day | week | month | year | all (default all). |
No output schema declared.
No examples provided.
reddit_subreddit_details Reddit Subreddit Details ~183
Subreddit card — id (t5_…), members, activeUsers, rules[], ISO createdAt, nsfw/type. 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 | Subreddit URL, r/name, or bare name (case-insensitive), e.g. r/technology or AskReddit. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok,… |
No output schema declared.
No examples provided.
reddit_subreddit_posts Reddit Subreddit Posts ~274
List posts from a subreddit with sort, timeframe, and cursor pagination — title, score, upvote ratio, flair, and more. 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 25, max 200). Flat 2 credits per call. |
| sort | string | – | Feed sort: best, hot, new (default), top, or rising. |
| timeframe | string | – | For sort=top: hour, day (default), week, month, year, or all. |
| url | string | yes | Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn… |
No output schema declared.
No examples provided.
reddit_subreddit_search Reddit Subreddit Post Search ~291
Search posts inside one subreddit — not subreddit discovery. Same sort/timeframe as site-wide 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. |
| 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 25, max 200). Flat 2 credits per call. |
| q | string | yes | Keywords or search query (min 2 characters). |
| sort | string | – | relevance (default) | new | top | hot | comments (alias: comment_count). |
| timeframe | string | – | For sort=top or comments: hour | day | week | month | year | all (default all). |
| url | string | yes | Subreddit URL, r/name, or bare name, e.g. r/technology. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn… |
No output schema declared.
No examples provided.
rumble_channel_videos Rumble Channel Videos ~192
Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta. Costs ~12 credits (0.6/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 | Rumble channel URL, e.g. https://rumble.com/c/name. 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… |
No output schema declared.
No examples provided.
rumble_comments Rumble Comments ~192
Rumble top-level comments — publishedAt ISO-8601 UTC from title= on the comment time link. 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 50, max 500). Flat 2 credits per call. |
| url | string | yes | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. 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.
rumble_search Rumble Search ~148
Rumble keyword search — same video card shape as channel-videos (type, durationSeconds + durationText, UTC publishedAt). Costs ~12 credits (0.6/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. |
| q | string | yes | Keywords or search query (min 2 characters). |
No output schema declared.
No examples provided.
rumble_video_details Rumble Video Details ~162
Rumble video metadata — uniform streams[] with rendition meta, captions[], audioStreams. 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 | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. 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.
rumble_video_transcript Rumble Video Transcript ~194
Rumble published captions as timed segments — parses the .vtt from video-details (not speech-to-text). 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. |
| language | string | – | Preferred caption language as an ISO code, e.g. "en". Defaults to auto-detect. |
| url | string | yes | Rumble video URL, e.g. https://rumble.com/vXXXX-title.html. 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.
snapchat_user_profile Snapchat User Profile ~154
Snapchat profile — unwrapped highlight ids, mediaType image/video, category labels, Spotlight boosts (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 | Snapchat username or profile URL. 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.
soundcloud_artist SoundCloud Artist ~216
SoundCloud artist — handle + name, subscriptionTier, externalLinks, verified (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 | SoundCloud artist 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,… |
No output schema declared.
No examples provided.
soundcloud_artist_tracks SoundCloud Artist Tracks ~216
Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0). 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 | – | Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values. |
| limit | integer | – | Max items to return (default 20, max 100). Flat 2 credits per call. |
| url | string | yes | SoundCloud artist 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,… |
No output schema declared.
No examples provided.
soundcloud_track SoundCloud Track ~217
SoundCloud track — plays/likes/license, tags[], nested artist{}, streamUrl when streamable (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 | SoundCloud track URL. 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 Rumb… |
No output schema declared.
No examples provided.
spotify_album Spotify Album ~184
Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (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 — omit unless you need fields not in the normalized shape. |
| 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.
spotify_artist Spotify Artist ~200
Spotify artist — followers, monthlyListeners, worldRank, topCities, topTracks with playCount, concerts, and related artists (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 — omit unless you need fields not in the normalized shape (~80% of the old response body). |
| 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.
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.