Captapi
REMOTE · API.CAPTAPI.COM · 2 COMPONENTS
Public social media data: profiles, posts, comments, transcripts and ad libraries, 30+ platforms.
Available components
Last scanned (20 hours ago)
Scores higher than 96% of remote servers
Reachable. Last reached 4 Nov 2026.
Category News and Social
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 37463 tokens (~210/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 Management99
- Stability check failed: schema churn in the 30 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 1 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 178 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 179 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
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.
- 31 Oct 26 0
- Tool “facebook_ad_library_company_ads” rewrote its description, which is the text the model reads security
- “facebook_ad_library_company_ads” added an optional parameter “end_date” cosmetic
- “facebook_ad_library_company_ads” added an optional parameter “sort_by” cosmetic
- “facebook_ad_library_company_ads” added an optional parameter “start_date” cosmetic
- “facebook_ad_library_search” reworded the description of “start_date” cosmetic
- “rumble_channel_videos” reworded the description of “url” cosmetic
- “facebook_ad_library_search” reworded the description of “end_date” cosmetic
- 29 Oct 26 +13
- Authorization: unverified → pass ▲ security
- First check of Authorization: partial security
- The server rewrote its instructions, which are the text every model session reads security
- 26 Oct 26 0
- Tool “pinterest_search” rewrote its description, which is the text the model reads security
- “pinterest_search” reworded the description of “limit” cosmetic
- “pinterest_search” reworded the description of “cursor” cosmetic
- 25 Oct 26 0
- Tool “threads_profile” rewrote its description, which is the text the model reads security
- Tool “kick_clip” rewrote its description, which is the text the model reads security
- Tool “threads_post_details” rewrote its description, which is the text the model reads security
- “kick_clip” reworded the description of “limit” cosmetic
- “threads_user_posts” reworded the description of “limit” cosmetic
- 23 Oct 26 0
- “facebook_marketplace_search” reworded the description of “details” cosmetic
- “google_maps_business_search” reworded the description of “limit” cosmetic
- “facebook_marketplace_search” reworded the description of “cursor” cosmetic
3 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
- 20 Oct 26 0
- Tool “youtube_search” rewrote its description, which is the text the model reads security
- Tool “youtube_comments” rewrote its description, which is the text the model reads security
- Tool “linkedin_ad_library_search_ads” rewrote its description, which is the text the model reads security
- Tool “threads_user_posts” rewrote its description, which is the text the model reads security
- Tool “tiktok_channel_posts” rewrote its description, which is the text the model reads security
- “tiktok_search_users” reworded the description of “fallback” cosmetic
- “youtube_search” reworded the description of “sortBy” cosmetic
- “tiktok_channel_posts” reworded the description of “limit” cosmetic
- “tiktok_popular_creators” reworded the description of “follower_count” cosmetic
- “tiktok_search_by_hashtag” reworded the description of “region” cosmetic
- 19 Oct 26 0
- Tool “linkedin_company” rewrote its description, which is the text the model reads security
- 18 Oct 26 0
- A breaking change shipped without a version bump: still 0.1.0 ▼ security
- Tool “tiktok_popular_songs” was removed ▼ security
- Tool “reddit_subreddit_details” rewrote its description, which is the text the model reads security
- Tool “facebook_group_posts” rewrote its description, which is the text the model reads security
- Tool “reddit_post_comments” rewrote its description, which is the text the model reads security
- “tiktok_popular_hashtags” reworded the description of “query” cosmetic
- “tiktok_search_by_hashtag” reworded the description of “q” cosmetic
- “facebook_group_posts” reworded the description of “limit” cosmetic
- “google_maps_business_search” reworded the description of “location” cosmetic
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 4 Nov 2026 · Probed https://api.captapi.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.captapi.com | CN=YR2,O=Let's Encrypt,C=US | 26 Sept 2026 | 25 Dec 2026 | RSA 2048 | SHA256-RSA | 65e151ef4a0510004b45ef6eed7c7977873 |
| SANs: api.captapi.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.captapi.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| captapi.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://api.captapi.com/.well-known/oauth-protected-resource/mcp", scope="mcp"
Bearer resource_metadata="https://api.captapi.com/.well-known/oauth-protected-resource/mcp", scope="mcp" Protected resource metadata
| Document | https://api.captapi.com/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://api.captapi.com/mcp |
| Authorisation server | https://api.captapi.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.captapi.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.captapi.com/mcp | HTTPS enforced | 301 | https://api.captapi.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
instagram_embed ~168
Classic Instagram embed snippet — blockquote.instagram-media + embed.js. Drop html into your page. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | Instagram post, reel, or profile URL (or @handle), e.g. https://instagram.com/reel/ID/ or https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-plat… |
No output schema declared.
No examples provided.
instagram_hashtag_search ~174
Hashtag Explore: native grid first, fallback path only on miss. Max 50. Flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| limit | integer | – | Max items to return (default 20, max 50). Flat 2 credits per call. |
| mediaType | string | – | all (default) or reels — return only Reels/clips when set to reels. |
| q | string | yes | Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. |
No output schema declared.
No examples provided.
instagram_highlights ~161
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. |
| 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 ~114
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. |
| id | string | yes | Highlight id from /v1/instagram/highlights (with or without highlight: prefix). |
No output schema declared.
No examples provided.
instagram_profile_search ~162
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). A leading _, accents (misión → mision), spaces and URL query strings (?igsh=…) are stripped. A q with no usable username character… |
No output schema declared.
No examples provided.
instagram_reels_by_audio_id ~151
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. |
| limit | integer | – | Max items to return (default 20, max 200). Billed per result. |
No output schema declared.
No examples provided.
instagram_reels_search ~181
Native tag feed first, slower fallback paths on a miss. Max 50. 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. |
| 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 50). Flat 2 credits per call. |
| q | string | yes | Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES. |
No output schema declared.
No examples provided.
instagram_summarize ~190
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. |
| 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 ~211
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. |
| 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 ~186
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. |
| 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 ~232
Cache-first trending Reels. Feed outage → labelled country hashtag-clips stand-in (listing field), never a silent swap. Max 50. Flat 2 credits. 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 (measured m… |
| 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 50). Flat 2 credits per call. |
No output schema declared.
No examples provided.
kick_clip ~292
Get a Kick clip, or a channel's recent clips — 7d clip cache. 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. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| limit | integer | – | Channel mode only — max recent clips to return (default 20, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — one response holds up to limit clips. |
| url | string | yes | Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel input for recent clips[]: kick.com/{name}, kick.com/@{name}, @{name}, or {name}. The URL platform must m… |
No output schema declared.
No examples provided.
komi_page ~238
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. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| 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 ~170
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. |
| 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 ~161
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. |
| 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 ~223
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. |
| 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 ~223
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. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| 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 ~189
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. |
| url | string | yes | LinkedIn Ad Library URL or numeric ad ID (also accepts urn:li:sponsoredCreative:ID). Inputs that are neither numeric nor an ad-library detail URL are a definitive 400. The URL platform must match thi… |
No output schema declared.
No examples provided.
linkedin_ad_library_search_ads ~467
LinkedIn publishes run dates, impressions and targeting only on a subset of creatives. Search is the SERP card; source is native. 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. |
| 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). Each code is validated — non-ISO codes are a 400 INVALID_COUNTRY. |
| country | string | – | Single ISO country code. Default US. Ignored when countries is set. Non-ISO codes are a definitive 400 INVALID_COUNTRY — LinkedIn would otherwise answer an empty result set as if the filter worked. |
| 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. Whole-word hits are ordered first; already-fetched SERP cards without a literal hit fill behind them up to limit (matchedFrom [] = ranked fill). |
| limit | integer | – | Max items to return (default 20, max 200). One LinkedIn SERP page is ~25 cards — when limit is higher, further pages are pulled automatically within the request's time budget, so limit=50 fills to 50… |
| 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 ~160
Company page for B2B intel — specialties, similarPages, employeeCount, founded, slogan, cover. 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. |
| 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 ~262
The recent posts a company page shows logged-out visitors (about 10), with engagement{likes,comments}. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 5). A null nextCursor means the end of the list. Only the rec… |
| limit | integer | – | Max items to return (default 20, max 100). Only the ~10 posts the public page shows are available. Flat 1 credit. |
| 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 ~143
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. |
| 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 ~145
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. |
| 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 ~167
Public LinkedIn person profile — what a logged-out visitor sees: name, headline, location, about. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | 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 ~208
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. |
| 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 (default, search-engine rank — dates can span years) or date (found posts newest first). |
No output schema declared.
No examples provided.
linkme_profile ~224
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. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| 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 ~216
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. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| 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 ~204
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. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| 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 ~263
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. |
| 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 ~156
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. |
| 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 ~179
Keyword pin search — offset cursor, search window 40, flat 2 credits. Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| cursor | string | – | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 25). A null nextCursor means the end of the search window (ma… |
| 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). |
No output schema declared.
No examples provided.
pinterest_user_boards ~231
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. |
| 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 ~223
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. |
| 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 ~192
Flat Reddit comment threads with depth/parentId 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. |
| 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 ~156
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. |
| 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 ~169
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. |
| 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 ~220
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. |
| 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 ~170
Subreddit card — id (t5_…), weekly visitors and contributions, rules[], ISO createdAt. Flat 1 credit. Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | 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 ~265
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. |
| 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 ~282
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. |
| 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 ~193
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. |
| limit | integer | – | Max items to return (default 20, max 200). Billed per result. |
| url | string | yes | Rumble channel or user URL, e.g. https://rumble.com/c/name or https://rumble.com/user/name. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikT… |
No output schema declared.
No examples provided.
rumble_comments ~183
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. |
| 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 ~139
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. |
| 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 ~153
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. |
| 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 ~185
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. |
| 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 ~142
Snapchat profile — stable identity card, millisecond timestamps, mediaType image/video (1 credit). Costs 1 credit. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
| Name | Type | Req | Description |
|---|---|---|---|
| cache | boolean | – | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
| url | string | yes | 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 ~200
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. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| 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 ~207
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. |
| 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 ~201
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. |
| cacheMaxAge | string | – | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
| 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 ~175
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. |
| 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.
How do I install the Captapi MCP server?
Captapi is a hosted endpoint at https://api.captapi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.captapi.com
claude mcp add --transport http cdcstream-captapi 'https://api.captapi.com/mcp'
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 hosted endpoint (https://api.captapi.com/mcp).
Is the Captapi MCP server safe to use?
Captapi scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the 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,314 tokens of context every time the server is loaded.
Does the Captapi MCP server require authentication?
Yes. Captapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Captapi MCP server still maintained?
Captapi is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.