Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
CDCStream avatar

Captapi

  • Updated July 27, 2026
  • CDCStream/captapi

Social media data from YouTube, TikTok, Instagram & Facebook.

About

Social media data from YouTube, TikTok, Instagram & Facebook. 62 tools, one API key. Exposes 62 MCP tools including io.github.CDCStream/captapi, CAPTAPI_API_KEY, CAPTAPI_BASE_URL. Social media data from YouTube, TikTok, Instagram & Facebook. 62 tools, one API key. Social media data from YouTube, TikTok, Instagram & Facebook. 62 tools, one API key. "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json", Install via Claude Desktop, Cursor, or any MCP-compatible client using the server manifest from the upstream repository.

  • DB / Auth: Supabase (Postgres + Auth + Storage)
  • Cache / Rate limit: Upstash Redis
  • Scraping: Apify Actors
  • AI: OpenAI (gpt-4o-mini + Whisper)
  • Billing: Stripe (subscriptions + top-up credits)

Captapi by the numbers

  • Exposes 62 verified tools (MCP introspection)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
terminal
claude mcp add --env CAPTAPI_API_KEY=YOUR_CAPTAPI_API_KEY --env CAPTAPI_BASE_URL=YOUR_CAPTAPI_BASE_URL captapi -- npx -y @captapi/mcp

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Package@captapi/mcp
TransportSTDIO, HTTP
AuthRequired
Tools62
Last updatedJuly 27, 2026
RepositoryCDCStream/captapi

How do I connect Captapi to my MCP client?

Social media data from YouTube, TikTok, Instagram & Facebook. 62 tools, one API key.

Who is it for?

Teams wiring Captapi into Claude, Cursor, or custom agents for data analytics.

Skip if: Skip when you need a non-MCP SDK or hosted API without stdio/SSE transport.

What you get

Working Captapi MCP server with verified tool registration and client config.

  • Agent-callable social fetches across four platforms via 62 MCP tools
  • Repeatable content and audience research prompts grounded in Captapi responses

By the numbers

  • [object Object]
At a glance

Captapi capabilities & compatibility

Capabilities
captapi mcp tool registration · captapi client configuration · captapi agent workflow integration
Use cases
data analysis
Runs
Runs locally
From the docs

What Captapi says it does

Social media data from YouTube, TikTok, Instagram & Facebook. 62 tools, one API key.
README.md
"name": "io.github.CDCStream/captapi",
README.md

Tools 62

Public tool metadata - what this server can do for an agent.

youtube_transcript2 params

Extract the full timestamped transcript of a YouTube video. Costs ~2 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube video URL, e.g. https://youtube.com/watch?v=ID.
  • languagestringPreferred caption language as an ISO code, e.g. "en". Defaults to auto-detect.
youtube_summarize2 params

AI summary (key points, topics, sentiment) of a YouTube video. Costs ~4 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube video URL, e.g. https://youtube.com/watch?v=ID.
  • languagestringPreferred caption language as an ISO code, e.g. "en". Defaults to auto-detect.
youtube_video_details1 param

Metadata + engagement stats for a YouTube video. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube video URL, e.g. https://youtube.com/watch?v=ID.
youtube_comments2 params

Comments on a YouTube video. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube video URL, e.g. https://youtube.com/watch?v=ID.
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
youtube_channel_details1 param

Channel info & subscriber/stats for a YouTube channel. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredYouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC...
youtube_search2 params

Search YouTube videos by keyword. Costs ~20 credits; cached results are free, failures are never charged.

  • qstringrequiredSearch query or keywords (min 2 chars).
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
youtube_channel_videos2 params

List a channel's uploaded videos. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredYouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC...
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
youtube_playlist_videos2 params

List videos in a YouTube playlist. Costs ~50 credits; cached results are free, failures are never charged.

  • urlstringrequiredYouTube playlist URL, e.g. https://youtube.com/playlist?list=ID.
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
youtube_video_download1 param

Direct download URLs for a YouTube video. Costs ~3 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube video URL, e.g. https://youtube.com/watch?v=ID.
youtube_shorts_transcript2 params

Transcript of a YouTube Short. Costs ~2 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube Shorts URL, e.g. https://youtube.com/shorts/ID.
  • languagestringPreferred caption language as an ISO code, e.g. "en". Defaults to auto-detect.
youtube_shorts_summarize2 params

AI summary of a YouTube Short. Costs ~4 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube Shorts URL, e.g. https://youtube.com/shorts/ID.
  • languagestringPreferred caption language as an ISO code, e.g. "en". Defaults to auto-detect.
youtube_shorts_details1 param

Metadata + stats for a YouTube Short. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube Shorts URL, e.g. https://youtube.com/shorts/ID.
youtube_shorts_comments2 params

Comments on a YouTube Short. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube Shorts URL, e.g. https://youtube.com/shorts/ID.
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
youtube_channel_shorts2 params

List a channel's Shorts. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredYouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC...
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
youtube_channel_streams2 params

List a channel's live/past streams. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredYouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC...
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
youtube_hashtag_search2 params

Search YouTube videos by hashtag. Costs ~20 credits; cached results are free, failures are never charged.

  • qstringrequiredHashtag with or without the # (min 2 chars).
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
youtube_comment_replies3 params

Replies to a specific YouTube comment. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic YouTube video URL, e.g. https://youtube.com/watch?v=ID.
  • comment_idstringrequiredID of the parent comment to fetch replies for (from the comments endpoint).
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
youtube_channel_playlists2 params

List a channel's playlists. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredYouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC...
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
youtube_community_posts2 params

List a channel's community (posts) tab. Costs ~10 credits; cached results are free, failures are never charged.

  • urlstringrequiredYouTube channel URL, e.g. https://youtube.com/@handle or /channel/UC...
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
tiktok_transcript1 param

Transcript of a TikTok video (via captions). Costs ~2 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic TikTok video URL, e.g. https://tiktok.com/@user/video/ID.
tiktok_summarize1 param

AI summary of a TikTok video. Costs ~4 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic TikTok video URL, e.g. https://tiktok.com/@user/video/ID.
tiktok_video_details1 param

Metadata + stats for a TikTok video. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredPublic TikTok video URL, e.g. https://tiktok.com/@user/video/ID.
tiktok_comments2 params

Comments on a TikTok video. Costs ~10 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic TikTok video URL, e.g. https://tiktok.com/@user/video/ID.
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
tiktok_channel_details1 param

Profile info & stats for a TikTok user. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredTikTok profile URL, e.g. https://tiktok.com/@username.
tiktok_search2 params

Search TikTok videos by keyword/hashtag. Costs ~14 credits; cached results are free, failures are never charged.

  • qstringrequiredSearch query or keywords (min 2 chars).
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
tiktok_video_download1 param

No-watermark download URL for a TikTok video. Costs ~3 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic TikTok video URL, e.g. https://tiktok.com/@user/video/ID.
tiktok_channel_posts2 params

Latest posts from a TikTok profile. Costs ~14 credits; cached results are free, failures are never charged.

  • urlstringrequiredTikTok profile URL, e.g. https://tiktok.com/@username.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
tiktok_comment_replies3 params

Replies to a specific TikTok comment. Costs ~50 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic TikTok video URL, e.g. https://tiktok.com/@user/video/ID.
  • comment_idstringrequiredID of the parent comment to fetch replies for (from the comments endpoint).
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
tiktok_user_followers2 params

List a TikTok user's followers. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredTikTok profile URL, e.g. https://tiktok.com/@username.
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
tiktok_user_followings2 params

List who a TikTok user follows. Costs ~20 credits; cached results are free, failures are never charged.

  • urlstringrequiredTikTok profile URL, e.g. https://tiktok.com/@username.
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
tiktok_music_posts2 params

Posts using a specific TikTok sound/music. Costs ~32 credits; cached results are free, failures are never charged.

  • urlstringrequiredTikTok music/sound URL, e.g. https://tiktok.com/music/name-ID.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
tiktok_hashtag_search2 params

Search TikTok videos by hashtag. Costs ~14 credits; cached results are free, failures are never charged.

  • qstringrequiredHashtag with or without the # (min 2 chars).
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
tiktok_top_search2 params

Top mixed TikTok results for a keyword. Costs ~14 credits; cached results are free, failures are never charged.

  • qstringrequiredSearch query or keywords (min 2 chars).
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
tiktok_user_search2 params

Search TikTok users/creators by keyword. Costs ~8 credits; cached results are free, failures are never charged.

  • qstringrequiredSearch query or keywords (min 2 chars).
  • limitintegerMax items to return. Default 20, max 100. Billed per result.
tiktok_song_details1 param

Details of a TikTok sound/song. Costs ~2 credits; cached results are free, failures are never charged.

  • urlstringrequiredTikTok music/sound URL, e.g. https://tiktok.com/music/name-ID.
tiktok_trending_feed2 params

TikTok trending (For You) videos by region. Costs ~14 credits; cached results are free, failures are never charged.

  • countrystringTwo-letter ISO country code, e.g. US, GB, TR. Default US.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
tiktok_popular_hashtags2 params

Trending TikTok hashtags for a topic/keyword. Costs ~14 credits; cached results are free, failures are never charged.

  • querystringTopic or keyword to discover trending hashtags for. Default "trending".
  • limitintegerMax items to return. Default 20, max 100. Billed per result.
instagram_transcript1 param

Transcript of an Instagram Reel. Costs ~2 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram Reel URL, e.g. https://instagram.com/reel/ID/.
instagram_summarize1 param

AI summary of an Instagram Reel. Costs ~4 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram Reel URL, e.g. https://instagram.com/reel/ID/.
instagram_details1 param

Details for an Instagram post or reel. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredInstagram post or reel URL, e.g. https://instagram.com/reel/ID/.
instagram_comments2 params

Comments on an Instagram post or reel. Costs ~45 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram post or reel URL, e.g. https://instagram.com/reel/ID/.
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
instagram_channel_details1 param

Profile info & stats for an Instagram account. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredInstagram profile URL, e.g. https://instagram.com/username/.
instagram_channel_posts2 params

Latest posts from an Instagram profile. Costs ~12 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram profile URL, e.g. https://instagram.com/username/.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
instagram_channel_reels2 params

Latest Reels from an Instagram profile. Costs ~12 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram profile URL, e.g. https://instagram.com/username/.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
instagram_reels_search2 params

Search Instagram Reels by hashtag/keyword. Costs ~12 credits; cached results are free, failures are never charged.

  • qstringrequiredHashtag (without #) or keyword (min 2 chars).
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
instagram_video_download1 param

Direct video URL for an Instagram Reel. Costs ~3 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram Reel URL, e.g. https://instagram.com/reel/ID/.
instagram_tagged_posts2 params

Posts an Instagram user is tagged in. Costs ~18 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram profile URL, e.g. https://instagram.com/username/.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
instagram_music_posts2 params

Posts/Reels using an Instagram audio. Costs ~18 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram audio/music page URL.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
instagram_hashtag_search2 params

Search Instagram posts by hashtag. Costs ~12 credits; cached results are free, failures are never charged.

  • qstringrequiredHashtag without the # (min 2 chars).
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
instagram_profile_search2 params

Search Instagram profiles by keyword. Costs ~12 credits; cached results are free, failures are never charged.

  • qstringrequiredSearch query or keywords (min 2 chars).
  • limitintegerMax items to return. Default 20, max 100. Billed per result.
instagram_story_highlights1 param

List a profile's story highlight covers. Costs ~5 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram profile URL, e.g. https://instagram.com/username/.
instagram_highlights_details2 params

Items inside a profile's story highlights. Costs ~9 credits; cached results are free, failures are never charged.

  • urlstringrequiredInstagram profile URL, e.g. https://instagram.com/username/.
  • limitintegerMax highlights to expand. Default 10, max 50.
instagram_embed1 param

Embed HTML for an Instagram post/reel. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredInstagram post or reel URL, e.g. https://instagram.com/reel/ID/.
facebook_details1 param

Details for a Facebook video or post. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredPublic Facebook video or post URL.
facebook_transcript1 param

Transcript of a Facebook video. Costs ~2 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic Facebook video or post URL.
facebook_summarize1 param

AI summary of a Facebook video or post. Costs ~4 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic Facebook video or post URL.
facebook_comments2 params

Comments on a Facebook post. Costs ~30 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic Facebook video or post URL.
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
facebook_page_details1 param

Info & stats for a Facebook page. Costs ~1 credit; cached results are free, failures are never charged.

  • urlstringrequiredFacebook page URL, e.g. https://facebook.com/PageName.
facebook_profile_posts2 params

Latest posts from a Facebook profile/page. Costs ~12 credits; cached results are free, failures are never charged.

  • urlstringrequiredFacebook profile or page URL.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
facebook_profile_reels2 params

Latest Reels from a Facebook profile/page. Costs ~36 credits; cached results are free, failures are never charged.

  • urlstringrequiredFacebook profile or page URL.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
facebook_group_posts2 params

Posts from a public Facebook group. Costs ~12 credits; cached results are free, failures are never charged.

  • urlstringrequiredPublic Facebook group URL, e.g. https://facebook.com/groups/ID.
  • limitintegerMax items to return. Default 20, max 200. Billed per result.
facebook_comment_replies3 params

Replies to a specific Facebook comment. Costs ~30 credits; cached results are free, failures are never charged.

  • urlstringrequiredFacebook post URL the comment belongs to.
  • comment_idstringrequiredID of the parent comment to fetch replies for (from the comments endpoint).
  • limitintegerMax items to return. Default 50, max 500. Billed per result.
README.md

Captapi

API-as-a-Service that extracts transcripts, AI summaries, comments, engagement metrics, and channel analytics from YouTube, TikTok, Instagram, and Facebook videos.

Architecture

  • Backend: FastAPI (Python 3.12) — Apify scraping + OpenAI summarization
  • Frontend: Next.js 15 + Tailwind + shadcn/ui — landing, dashboard, billing
  • DB / Auth: Supabase (Postgres + Auth + Storage)
  • Cache / Rate limit: Upstash Redis
  • Scraping: Apify Actors
  • AI: OpenAI (gpt-4o-mini + Whisper)
  • Billing: Stripe (subscriptions + top-up credits)

Quick Start

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • Supabase project (free tier)
  • Apify account + API token
  • OpenAI API key
  • Stripe account (test mode)
  • Upstash Redis (free tier)

1. Supabase Setup

# Install Supabase CLI
npm i -g supabase

# Login and link your project
supabase login
supabase link --project-ref YOUR_PROJECT_REF

# Push schema
supabase db push

2. Backend Setup

cd backend
cp .env.example .env
# Fill in env vars

# Install dependencies (using uv)
pip install uv
uv pip install -e .

# Run dev server
uvicorn app.main:app --reload --port 8000

3. Frontend Setup

cd frontend
cp .env.example .env.local
# Fill in env vars

npm install
npm run dev

Open http://localhost:3000.

Project Structure

socialkit-clone/
├── backend/                FastAPI service
│   ├── app/
│   │   ├── main.py         App entry
│   │   ├── core/           Config, auth, credits, security
│   │   ├── routers/        Endpoint handlers per platform
│   │   ├── services/       Apify, OpenAI, Supabase, Cache, Stripe
│   │   ├── schemas/        Pydantic models
│   │   └── utils/          Helpers
│   ├── pyproject.toml
│   └── Dockerfile
├── frontend/               Next.js 15 app
│   ├── app/                App Router
│   ├── components/         UI components
│   └── lib/                Supabase + API client
└── supabase/
    └── migrations/         SQL schema

API Endpoints

All endpoints require Authorization: Bearer capt_live_... header.

YouTube

  • GET /v1/youtube/transcript?url=...
  • GET /v1/youtube/summarize?url=...
  • GET /v1/youtube/video-details?url=...
  • GET /v1/youtube/comments?url=...&limit=...
  • GET /v1/youtube/channel-details?url=...
  • GET /v1/youtube/channel-videos?url=...&limit=...
  • GET /v1/youtube/playlist-videos?url=...&limit=...
  • GET /v1/youtube/search?q=...&limit=...
  • GET /v1/youtube/video-download?url=...

TikTok

  • GET /v1/tiktok/transcript|summarize|video-details|comments|channel-details|search|video-download

Instagram

  • GET /v1/instagram/transcript|summarize|details|comments|channel-details|channel-posts|channel-reels|reels-search|video-download

Facebook

  • GET /v1/facebook/transcript|summarize|details|comments|page-details

Video Files

  • POST /v1/video/transcript — multipart upload, Whisper transcription
  • POST /v1/video/summarize — transcription + AI summary

Account

  • GET /v1/account/usage — credit balance + recent requests
  • GET /v1/account/limits — plan + remaining quota

Pricing

Plan Price/mo Credits/mo $/Credit
Free $0 100 lifetime
Starter $9 1,500 $0.006
Pro $29 6,000 $0.0048
Business $99 25,000 $0.0039
Top-up $5 500 $0.01

License

MIT

Recommended MCP Servers

How it compares

MCP social-data integration, not a hosted analytics dashboard or a single-purpose scraping script.

FAQ

What does captapi MCP do?

Social media data from YouTube, TikTok, Instagram & Facebook.

When should I use captapi?

User asks about Captapi mcp, social media data from youtube, tiktok, instagram & facebook. 62 tools.

Is this MCP server safe to install?

Review the Security Audits panel and upstream source before connecting in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.