B2B Social Video Transcripts MCP Server
Uses a Deepgram API key as a speech-to-text provider for videos that lack native subtitles or transcripts.
Reads public Facebook reels and watches Facebook creator profiles for new videos in watch-list mode.
Reads public Instagram reels and watches Instagram creator profiles for new videos; Instagram profile checks can use residential proxy pricing.
Searches the iTunes search API for podcast feeds by keyword in watch-list mode, then watches those feeds for new episodes.
Uses an OpenAI API key for speech-to-text with gpt-4o-mini-transcribe or whisper-1 when timestamps are needed, and as an AI provider for outbound insights and translation.
Reads podcast RSS feeds and episodes, and can watch feeds for new episodes not seen by earlier runs.
Posts new video rows at or above a configured score to a Slack-compatible webhook with a text field.
Reads Threads posts and watches Threads hashtags for new videos in watch-list mode.
Reads and transcribes public TikTok videos and can add one row per commenter for videos above a score threshold; TikTok creator feeds are refused without login.
Reads Wistia media by ID or scans company pages for embedded Wistia media IDs.
Transcribes YouTube videos through a configured YouTube transcript provider using the user's own API key.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@B2B Social Video Transcripts MCP Server Transcribe these 3 TikTok videos and list the pain points each speaker mentions."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
B2B Social Video Transcripts MCP Server
An MCP server for the Mamba Labs B2B Social Video Transcripts actor on Apify. Turn prospect videos into transcripts, pain points, and icebreakers.
What's Inside
Related MCP server: yt-repurpose
What it does
Reads public social videos and podcast episodes, transcribes them on your own speech-to-text key, and in outbound mode extracts pain points, buying signals, competitor mentions, and icebreakers on your own AI key.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-b2b-social-video-transcripts": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-b2b-social-video-transcripts"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Restart the client. The b2b_social_video_transcripts tool appears.
Prerequisites
Node.js 18 or newer.
An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
"Transcribe these 3 TikTok videos and list the pain points each speaker mentions."
"Watch these 5 podcast feeds and tell me which new episodes mention switching CRM tools."
Tool
b2b_social_video_transcripts. One tool. Example arguments:
{
"mode": "transcript",
"video_urls": [
"https://www.tiktok.com/@washingtonpost/video/7198260520103841070"
]
}Inputs
Every buyer facing input of the actor. Omitted inputs take the actor's own defaults.
Input | Type | Required | Description |
| string | no | transcript (default): transcript, caption, creator, and counts for each video given. outbound: the same plus pain points, buying signals, competitor mentions, and icebreakers on your AI key. watch_list: checks creators, podcast feeds, podcast keywords, and Threads hashtags for videos earlier runs have not seen, and transcribes only those. |
| array | no | TikTok video, Instagram reel, Facebook reel, X post, Threads post, podcast episode or RSS feed, Wistia page, or YouTube video URLs. A podcast feed URL reads its latest episodes, up to max_videos_per_creator. |
| array | no | watch_list mode: profile URLs or platform:handle, for example instagram:hubspot, x:gong_io, facebook:HubSpot, threads:hubspot. TikTok has no creator feed without a login, so TikTok creators are refused with a free row. |
| array | no | Podcast RSS feed URLs. In watch_list mode each feed is watched for new episodes; in the other modes the latest episodes are read. |
| array | no | watch_list mode: search terms for finding podcast feeds through the iTunes search API; each feed found is watched. |
| array | no | watch_list mode: Threads hashtags, without #. Hashtag pages on TikTok, Instagram, X, and Facebook need a login or do not list newest first, so only Threads is read. |
| array | no | Wistia media IDs, or company page URLs that embed Wistia videos; the page is scanned for embedded media IDs. |
| boolean | no | yes or no (default no). On TikTok videos at or above webhook_min_score, adds one row per commenter: handle, name, profile URL, comment, time, likes. |
| string | no | Names the stored watch list. Rows are also appended to a named dataset b2b-social-video-transcripts-, and seen video IDs are kept in a named key-value store b2b-social-video-transcripts--state. Letters, numbers, and dashes; up to 28 characters. Default default. |
| string | no | transcript (default) or outbound: what runs on each new video in watch_list mode. |
| number | no | Most videos read per creator, feed, keyword result, or hashtag in one run. Default 10, up to 100. |
| number | no | Skips videos older than this many days. Default 30. |
| array | no | Keywords. A video whose caption, hashtags, and title match none of them is skipped before any speech-to-text call, as a free skipped_off_topic row. |
| array | no | Keywords matched against the spoken words. Rows are kept, with transcript_match true or false. |
| string | no | openai (default), groq, deepgram, or assemblyai. Used for videos with no native subtitle or transcript. |
| string | no | Your own key for the provider above. Without a key, only videos with native subtitles or transcripts are transcribed; the rest return a free no_speech_track row. Never stored or logged. |
| string | no | Optional. With openai the default is gpt-4o-mini-transcribe in transcript mode and whisper-1 when timestamps are needed (outbound mode or include_segments yes), because only whisper-1 returns timestamps among OpenAI models. |
| string | no | Optional second provider, tried when the first refuses or fails. |
| string | no | Your own key for the fallback provider. |
| string | no | openai (default), anthropic, or gemini. Used by outbound mode and for translation. |
| string | no | Your own key for the AI provider. Without it, outbound mode returns transcripts only and charges no outbound-insights. Never stored or logged. |
| string | no | Optional override. Defaults: gpt-4.1-mini (openai), claude-haiku-4-5 (anthropic), gemini-2.5-flash (gemini). |
| string | no | Your company name, so pain points and icebreakers fit your offer. |
| string | no | What you sell, in one line. |
| array | no | Brand names to flag when spoken. Each is matched exactly in the transcript and by the AI call. |
| boolean | no | yes or no. Default yes in outbound mode, no in the other modes. Needs the AI key. |
| boolean | no | yes or no (default no). Adds transcript_segments to each row. Outbound mode always fills them when the source gives timestamps. |
| string | no | scrapecreators, searchapi, or supadata. YouTube videos are transcribed only through your own key with one of these services. |
| string | no | Your own key for the YouTube transcript provider above. Without it, YouTube URLs return a free row. |
| string | no | Optional second YouTube transcript provider. |
| string | no | Your own key for the fallback YouTube provider. |
| string | no | Optional. Each new video row with buying_signal_score at or above webhook_min_score is sent here as a POST with a Slack compatible text field. |
| number | no | 0 to 100. Default 0 sends every video row. |
| number | no | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
Event | Free plan | Bronze | Silver | Gold |
| $0.025 | $0.02375 | $0.0225 | $0.02125 |
| $0.008 | $0.0076 | $0.0072 | $0.0068 |
| $0.02 | $0.019 | $0.018 | $0.017 |
| $0.005 | $0.00475 | $0.0045 | $0.00425 |
| $0.045 | $0.04275 | $0.0405 | $0.03825 |
| $0.002 | $0.0019 | $0.0018 | $0.0017 |
| $0.0085 | $0.0085 | $0.0085 | $0.0085 |
Rows with no speech, off topic, not found, or blocked are free, and so is a refused input. Mamba Labs pays the platform costs of the run, Apify proxy traffic included.
Full actor documentation
apify.com/mambalabs/b2b-social-video-transcripts
License
MIT. See LICENSE.
Available Tools
1 toolb2b_social_video_transcriptsB2B Social Video TranscriptsARead-only
Get transcripts of public TikTok, Instagram Reels, Facebook Reels, X, Threads, podcast, and Wistia videos, and in outbound mode pull pain points, buying signals, competitor mentions, and icebreakers with timestamps. Speech-to-text and AI calls run on the buyer's own API keys.
Inputs: mode, ai_model, creators, hashtags, +30 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only one tool there is no cross-tool misselection risk, but the tool internally bundles two distinct behaviors: plain transcript retrieval and an 'outbound mode' that extracts pain points, buying signals, competitor mentions, and icebreakers. An agent must infer which mode to trigger from arguments rather than from distinct tool surfaces, which is a mild internal ambiguity.
The single name is a clear, snake_case noun phrase that matches the server name exactly, so there is no inconsistency to penalize. It does not follow a verb_noun action pattern (e.g., get_transcript, analyze_transcript), leaving the dual-mode behavior undiscoverable from the name alone.
One tool for seven platforms plus two distinct operating modes (transcript vs. outbound intelligence) feels thin; the natural decomposition would be at least separate transcribe and analyze operations. The count is defensible as a single-endpoint proxy, but it is borderline for the breadth advertised.
Core capability (fetch transcripts, extract outbound insights) is present and self-contained, so no dead end for the primary workflow. However, there is no discovery/listing of supported sources, no batch or async status handling, and no options for language/format, which limits coverage for a multi-platform transcription domain.
Maintenance
Related MCP Connectors
Transcribe social videos, selected comments, URL batches and Instagram channels.
Transcribe public videos & audio (YouTube, TikTok, IG) into accurate, timestamped text via API.
Transcribe Instagram Reels, Facebook, X and Reddit videos, podcasts (RSS, Apple) and any video URL.
Transcribe audio and video and work with your transcript library from any AI app. 119 languages.
Related MCP Servers
- AlicenseAqualityCmaintenanceTranscribes videos from 1000+ platforms (YouTube, TikTok, Vimeo, etc.) and local video files using OpenAI's Whisper model, with support for 90+ languages and multiple output formats.844 npm8MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to extract YouTube transcripts and repurpose them into social media posts via LLM.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to transcribe audio and video from URLs or local files with high accuracy, speaker diarization, 119 languages, and word-level timestamps, while also supporting transcription management and caption export in SRT, WebVTT, or plain text.14298 npm9MIT
- AlicenseAqualityCmaintenanceEnables agents to turn public video links into timestamped transcripts, chapters, and clip suggestions for YouTube, Twitch, Kick, and TikTok.3MIT