# B2B Social Video Transcripts (`mambalabs/b2b-social-video-transcripts`) Actor

Transcripts from TikTok, Instagram Reels, Facebook Reels, X, Threads, podcasts, and Wistia, with pain points, buying signals, competitor mentions, and icebreakers for outbound. Watch creators for new videos. Your own speech and AI keys.

- **URL**: https://apify.com/mambalabs/b2b-social-video-transcripts.md
- **Developed by:** [Mamba Labs](https://apify.com/mambalabs) (community)
- **Categories:** Social media, Lead generation, AI
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $21.25 / 1,000 video transcripts

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## B2B Social Video Transcripts

Give it public video links from TikTok, Instagram Reels, Facebook Reels, X, Threads, podcasts, Wistia, or YouTube, or a watch list of creators and podcast feeds. It returns one row per video with the caption, creator, counts, and the spoken transcript. In outbound mode it also returns the opening hook, company, product, and competitor mentions, pain points, questions, buying signals with a 0 to 100 score, and 2 to 3 icebreakers that quote the speaker with a timestamp. Speech-to-text and AI calls run on your own API keys, so you pay those providers directly. Mamba Labs pays the platform costs of your run.

### Features

- **7 sources at launch, no login:** TikTok video URLs, Instagram Reels, Facebook Reels, X videos, Threads, podcasts through RSS, and Wistia embeds. YouTube runs on your own YouTube transcript key.
- **Native text first:** TikTok's own subtitles, Podcasting 2.0 transcript tags, and Wistia captions are used before any speech-to-text call, which saves you the provider cost.
- **Your speech-to-text key, with a fallback:** OpenAI, Groq, Deepgram, or AssemblyAI. If the first provider refuses or fails, the fallback key runs.
- **Outbound fields on your AI key:** OpenAI, Anthropic, or Gemini. One structured call per video.
- **Watch lists:** follow creators, podcast feeds, podcast keywords, and Threads hashtags. Each run transcribes only videos earlier runs have not seen and appends them to one named dataset.
- **Filters that save money:** `topic_filter` skips off topic videos before any speech-to-text call, as a free row. `transcript_filter` flags rows by what was said.
- **Webhook:** each row at or above your score goes to Slack, Clay, or a CRM as a plain POST.
- **TikTok commenters:** optional rows with the handle, name, and comment of each commenter on a high scoring video.

### How the data is read

Every page is read with plain requests on the Apify proxy, with no login, no account, and no cookie of yours, and no other developer's actor is called.

| Source | What is read | Proxy |
|---|---|---|
| TikTok | The public video page, then TikTok's own subtitle file; else the video file in the same session | Apify default pool |
| Instagram Reels | The public reel embed page and its video file; for watch lists, the public profile page | Default pool for reels; residential for profiles |
| Facebook Reels | The public reel page and its SD video file; for watch lists, the page's reels tab | Default pool |
| X | The public syndication timeline and its video file | Default pool |
| Threads | The public profile page; for hashtags, the public tag search | Default pool |
| Podcasts | The RSS feed, its transcript tag, else the episode audio; the iTunes search API for keywords | Default pool |
| Wistia | The public media JSON: captions, else the smallest encoded video file | Default pool |
| YouTube | Your own key with ScrapeCreators, SearchAPI, or Supadata. The actor makes no request to YouTube for transcripts | None |

The actor downloads each media file itself and uploads it to your speech-to-text provider, because the media links are tied to the page session and a provider cannot fetch them.

### Which provider gives timestamps

Icebreakers, pain points, and mentions carry a timestamp only when the transcript has one.

| Source or provider | Timestamps |
|---|---|
| TikTok subtitles, podcast transcript tags, Wistia captions | Yes, when the source file has them |
| OpenAI `whisper-1` | Yes. The default in outbound mode and with `include_segments` yes |
| OpenAI `gpt-4o-mini-transcribe`, `gpt-4o-transcribe` | No, text only. The default in transcript mode, because it is faster and costs less |
| Groq, Deepgram, AssemblyAI | Yes |

Timestamp links open the video at that second on YouTube (`?t=`) and Wistia (`?wtime=`). On other platforms the link is the video URL and the time is in the `time` field.

### Input

| Field | Type | Default | What it does |
|---|---|---|---|
| `mode` | string | `transcript` | 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. |
| `video_urls` | array |  | 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. |
| `creators` | array |  | 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. |
| `podcast_feeds` | array |  | Podcast RSS feed URLs. In watch_list mode each feed is watched for new episodes; in the other modes the latest episodes are read. |
| `podcast_keywords` | array |  | watch_list mode: search terms for finding podcast feeds through the iTunes search API; each feed found is watched. |
| `hashtags` | array |  | 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. |
| `wistia_ids` | array |  | Wistia media IDs, or company page URLs that embed Wistia videos; the page is scanned for embedded media IDs. |
| `include_commenters` | string | `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. |
| `watch_list_name` | string | `default` | Names the stored watch list. Rows are also appended to a named dataset b2b-social-video-transcripts-<name>, and seen video IDs are kept in a named key-value store b2b-social-video-transcripts-<name>-state. Letters, numbers, and dashes; up to 28 characters. Default default. |
| `watch_list_depth` | string | `transcript` | transcript (default) or outbound: what runs on each new video in watch_list mode. |
| `max_videos_per_creator` | string | `10` | Most videos read per creator, feed, keyword result, or hashtag in one run. Default 10, up to 100. |
| `since_days` | string | `30` | Skips videos older than this many days. Default 30. |
| `topic_filter` | array |  | 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. |
| `transcript_filter` | array |  | Keywords matched against the spoken words. Rows are kept, with transcript_match true or false. |
| `stt_provider` | string | `openai` | openai (default), groq, deepgram, or assemblyai. Used for videos with no native subtitle or transcript. |
| `stt_api_key` | string |  | 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. |
| `stt_model` | string |  | 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. |
| `stt_fallback_provider` | string |  | Optional second provider, tried when the first refuses or fails. |
| `stt_fallback_api_key` | string |  | Your own key for the fallback provider. |
| `ai_provider` | string | `openai` | openai (default), anthropic, or gemini. Used by outbound mode and for translation. |
| `ai_api_key` | string |  | Your own key for the AI provider. Without it, outbound mode returns transcripts only and charges no outbound-insights. Never stored or logged. |
| `ai_model` | string |  | Optional override. Defaults: gpt-4.1-mini (openai), claude-haiku-4-5 (anthropic), gemini-2.5-flash (gemini). |
| `my_company` | string |  | Your company name, so pain points and icebreakers fit your offer. |
| `my_product` | string |  | What you sell, in one line. |
| `competitors` | array |  | Brand names to flag when spoken. Each is matched exactly in the transcript and by the AI call. |
| `translate_to_english` | string |  | yes or no. Default yes in outbound mode, no in the other modes. Needs the AI key. |
| `include_segments` | string | `no` | yes or no (default no). Adds transcript_segments to each row. Outbound mode always fills them when the source gives timestamps. |
| `youtube_transcript_provider` | string |  | scrapecreators, searchapi, or supadata. YouTube videos are transcribed only through your own key with one of these services. |
| `youtube_transcript_api_key` | string |  | Your own key for the YouTube transcript provider above. Without it, YouTube URLs return a free row. |
| `youtube_transcript_fallback_provider` | string |  | Optional second YouTube transcript provider. |
| `youtube_transcript_fallback_api_key` | string |  | Your own key for the fallback YouTube provider. |
| `webhook_url` | string |  | 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. |
| `webhook_min_score` | string | `0` | 0 to 100. Default 0 sends every video row. |
| `max_charge_usd` | string |  | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. |

### Output

One row per video, creator check, or commenter, with the same fields in the same order. `row_type` tells them apart: `video`, `creator` (watch list checks), `commenter`, and `run_summary` (only for a refused input).

| Field | Type | What it holds |
|---|---|---|
| `row_type` | string | One of: video, creator, commenter, run_summary. run_summary is the one free row written when the input is refused. |
| `platform` | string | tiktok, instagram, facebook, x, threads, podcast, wistia, or youtube. |
| `video_url` | string | The post, reel, episode, or media page the row is about. |
| `video_id` | string | The platform id of the video or episode. |
| `post_type` | string | video, reel, post, episode, or media. |
| `creator_handle` | string | The account or show that posted it. |
| `creator_name` | string | Display name of the account or show. |
| `creator_url` | string | Profile, page, or feed URL. |
| `creator_followers` | integer | Follower count when the page shows it. |
| `posted_at` | string | When the video was posted, UTC. |
| `duration_seconds` | number | Length of the video or episode. |
| `caption` | string | Post text, reel caption, or episode description. |
| `hashtags` | array | Hashtags in the caption, without #. |
| `mentions` | array | Accounts mentioned in the caption, without @. |
| `play_count` | integer | Play or view count when the page shows it. |
| `like_count` | integer | Like count when the page shows it. |
| `comment_count` | integer | Comment count when the page shows it. |
| `share_count` | integer | Share count when the page shows it. |
| `save_count` | integer | Save count when the page shows it. |
| `transcript_text` | string | The spoken words, as text. |
| `transcript_segments` | array | Timed pieces of the transcript, each {start, end, text} in seconds. Filled when include_segments is yes, or always in outbound mode. Empty when the source gives no timestamps. |
| `transcript_source` | string | native_subtitle, podcast_transcript_tag, platform_captions, youtube_api:<provider>, or stt:<provider>. |
| `language` | string | Language of the speech, as the source or provider reports it. |
| `transcript_english` | string | English translation when the speech is not English and translation is on. Null when the speech is English. |
| `transcript_match` | boolean | true when the spoken text contains a transcript_filter keyword; null when no transcript_filter was given. |
| `opening_hook` | object | Outbound mode: the first 1 to 2 sentences spoken, {text, start, time, link}. |
| `company_mentions` | array | Outbound mode: companies named in the speech, each {name, start, time, quote, link}. |
| `product_mentions` | array | Outbound mode: products or tools named in the speech, each {name, start, time, quote, link}. |
| `competitor_mentions` | array | Outbound mode: names from your competitors list said in the speech, each {name, start, time, quote, link}. |
| `pain_points` | array | Outbound mode: problems the speaker describes, each {quote, paraphrase, start, time, link}. |
| `questions_asked` | array | Outbound mode: questions the speaker asks, each {quote, start, time, link}. |
| `buying_signals` | array | Outbound mode: phrases that point to a purchase, each {phrase, type, start, time, link}. Types include switching_tools, hiring_for, evaluating, budget, pain, growth. |
| `buying_signal_score` | integer | Outbound mode: 0 to 100, how strongly the speech points to a purchase. |
| `icebreakers` | array | Outbound mode: 2 to 3 opening lines that quote the speaker, each {line, start, time, link}. |
| `topics` | array | Outbound mode: the main topics, as short phrases. |
| `watch_list_name` | string | The watch list this row belongs to, in watch_list mode. |
| `first_seen_at` | string | When the watch list first saw this video, UTC. |
| `video_status` | string | ok, no_speech_track, skipped_off_topic, not_found, blocked, or input_invalid. |
| `new_videos` | integer | Creator rows: how many videos this check found that earlier runs had not seen. |
| `commenter_handle` | string | Commenter rows: the commenter's handle. |
| `commenter_name` | string | Commenter rows: the commenter's display name. |
| `commenter_url` | string | Commenter rows: the commenter's profile URL. |
| `comment_text` | string | Commenter rows: what they wrote. |
| `comment_posted_at` | string | Commenter rows: when they wrote it, UTC. |
| `comment_like_count` | integer | Commenter rows: likes on the comment. |
| `row_status` | string | ok, or why this row carries no data: no_results, no_change, partial, blocked, or error. |
| `error_reason` | string | Why the row is not ok. A refused input reads input_invalid: followed by what to fix. |
| `billable_events_json` | string | What this row was billed as, for example {"video-transcript":1}. {} means free. |
| `scraped_at` | string | When the row was written, UTC. |

### Pricing

Pay per event. Rows with no speech, off topic, not found, or blocked are free, and so is a refused input.

| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| `video-transcript`, one video with a transcript, first 3 minutes included | $0.025 | $0.02375 | $0.0225 | $0.02125 |
| `transcript-minute`, each started minute after the first 3 | $0.008 | $0.0076 | $0.0072 | $0.0068 |
| `outbound-insights`, outbound fields for one video, outbound mode only | $0.02 | $0.019 | $0.018 | $0.017 |
| `creator-check`, one creator, feed, keyword, or hashtag checked | $0.005 | $0.00475 | $0.0045 | $0.00425 |
| `creator-check-residential`, one Instagram profile checked | $0.045 | $0.04275 | $0.0405 | $0.03825 |
| `commenter-row`, one TikTok commenter | $0.002 | $0.0019 | $0.0018 | $0.0017 |
| `apify-actor-start`, once per run (one per GB of memory; the default 1024 MB is one) | $0.0085 | $0.0085 | $0.0085 | $0.0085 |

Per 1,000 rows of `video-transcript`: $25.00 on the free plan, $21.25 on Gold.

Free plan cap: 1.50 USD of evaluation a month, about 60 rows. Any paid Apify plan removes the cap, and it resets on the 1st. The run stops before a charge that passes your maximum charge per run in Apify or your `max_charge_usd` input.

Mamba Labs pays the platform costs of your run, Apify proxy traffic included.

Your speech-to-text and AI costs go to your own provider accounts. Examples from the providers' own pages, read 2026-11-12: OpenAI `gpt-4o-mini-transcribe` 0.003 USD a minute and `whisper-1` 0.006 USD a minute; Groq `whisper-large-v3-turbo` 0.04 USD an hour; Deepgram Nova-3 0.0043 USD a minute; AssemblyAI Universal-2 0.15 USD an hour. A 1 minute video in outbound mode costs about 0.004 to 0.007 USD on OpenAI keys, plus the Store events above.

### Usage examples

**Transcripts of a few videos.**

```json
{ "mode": "transcript", "video_urls": ["https://www.tiktok.com/@washingtonpost/video/7198260520103841070"], "stt_api_key": "<your OpenAI key>" }
```

**Outbound fields for a prospect's podcast appearance.**

```json
{ "mode": "outbound", "video_urls": ["https://rss.buzzsprout.com/2517440.rss"], "max_videos_per_creator": "1", "stt_api_key": "<your key>", "ai_api_key": "<your key>", "my_company": "Acme", "my_product": "pipeline forecasting for sales teams", "competitors": ["Clari", "Gong"] }
```

**A daily watch list.** Save an Apify task with this input and attach an Apify schedule (daily is a good start). The actor needs no scheduler of its own.

```json
{ "mode": "watch_list", "watch_list_name": "saas-founders", "creators": ["instagram:hubspot", "x:gong_io", "threads:hubspot"], "podcast_keywords": ["b2b sales"], "hashtags": ["saas"], "watch_list_depth": "outbound", "stt_api_key": "<your key>", "ai_api_key": "<your key>", "webhook_url": "https://hooks.slack.com/services/...", "webhook_min_score": "60" }
```

Every run appends its new rows to the named dataset `b2b-social-video-transcripts-<watch_list_name>` in your account. Seen video IDs are kept in the named key-value store `b2b-social-video-transcripts-<watch_list_name>-state`. Delete that store to start the list over.

**Clay.** Number and on or off inputs are text fields, which is what Clay sends. A list input takes a JSON list, so put the column inside a one item list, for example `["<the Video URL column>"]`. To read a watch list from Clay, point an HTTP column at the named dataset's items URL.

**MCP.** The Mamba Labs MCP server `@mambalabsdev/mcp-b2b-social-video-transcripts` exposes this actor to Claude and other MCP clients.

### Error handling

| Case | What you get |
|---|---|
| Missing or unreadable input | One free row, `row_type` `run_summary`, `error_reason` starting `input_invalid:` with what to fix. The run ends successfully and charges nothing but the run start |
| A video with no subtitle and no speech-to-text key | A free row, `video_status` `no_speech_track` |
| Silence, or a provider that returns almost no text | A free `no_speech_track` row. Speech-to-text models can make up a short line on a silent video, so text under about 20 characters a minute counts as no speech |
| Your speech-to-text key is refused | The fallback key runs; if it also fails, a free `no_speech_track` row with each provider's error, with your key removed |
| Your AI key is refused | The row keeps its transcript, `row_status` `partial`, a note, and no `outbound-insights` charge |
| A removed, private, or blocked post | A free row, `video_status` `not_found` or `blocked`, with the reason |
| Your maximum charge is reached | The run stops before the next video. A video already transcribed is always delivered; its later events are charged only as far as the cap allows |
| The run is close to its timeout | The actor stops starting new work 90 seconds before the timeout and delivers what it has |

### Limitations

- **Hashtag watch lists run on Threads only.** TikTok, Instagram, and X hashtag pages need a login or signed requests; Facebook hashtag pages do not list newest first.
- **TikTok creators cannot be watched.** TikTok's creator list needs signed requests. Give TikTok video URLs in transcript or outbound mode.
- **TikTok subtitles exist on about 3 of 5 videos.** The rest need your speech-to-text key.
- **X lists are curated, not newest first,** so a new X video can show up a few runs late.
- **Threads post URLs** are read through the creator's profile feed, because a single post page carries no post data without a login.
- **YouTube transcripts need your own key** with ScrapeCreators, SearchAPI, or Supadata. Without one, YouTube rows are free `no_speech_track` rows.
- **Long videos on OpenAI's gpt-4o transcribe models:** MP3 audio is split into about 4 minute pieces. A video file cannot be split without transcoding, so a video over about 4 minutes runs on `whisper-1` instead, and OpenAI and Groq take files up to 25 MB. Deepgram and AssemblyAI take larger files.
- **Buyer key routes:** no Mamba Labs key is used for Groq, Deepgram, AssemblyAI, Anthropic, Gemini, ScrapeCreators, SearchAPI, or Supadata. Those routes are tested on recorded responses and on the refused key path; your first run with your key is the live test.
- **Watch lists fill back in time.** Each run takes up to `max_videos_per_creator` unseen videos per creator inside `since_days`, newest first. With a wide `since_days`, later runs keep picking up older videos until the window is used up. Keep `since_days` short (the default is 30) to transcribe only new videos.
- **TikTok commenters:** up to 200 comments per video, read from TikTok's public comment list. Each commenter row is charged, so set `webhook_min_score` to limit commenters to high scoring videos.
- **Threads videos carry no length** in the public page, so Threads rows leave `duration_seconds` empty and are never charged extra minutes.
- **A refused page is final.** A 403, 429, or challenge page returns a free `blocked` row; the actor does not retry on another network to get around it. X answered 429 on 1 of 6 creator checks in testing.
- **Speech-to-text keys tested live:** OpenAI only (`whisper-1` and `gpt-4o-mini-transcribe`), and the outbound fields on OpenAI `gpt-4.1-mini`.
- **Wistia videos are found from your input only.** Give media IDs or page URLs that embed Wistia; search engines do not list them.

### Mamba Labs actor suite

| Actor | Actor ID |
|---|---|
| [Account Hiring Watch](https://apify.com/mambalabs/account-hiring-watch?fpr=mamba) | `gRAZA5WBi1r6L0gy7` |
| [Agent Accessibility Auditor](https://apify.com/mambalabs/agent-accessibility-auditor?fpr=mamba) | `anxbRv0lKrpQ1pnua` |
| [Agent to Brokerage Resolver](https://apify.com/mambalabs/agent-brokerage-resolver?fpr=mamba) | `ePRRGLxOGyaVHO4dI` |
| [AI Answer Visibility Tracker](https://apify.com/mambalabs/ai-answer-visibility-tracker?fpr=mamba) | `RJZvzKniYK4nswcMg` |
| [AI List Extractor for Any Website](https://apify.com/mambalabs/ai-list-extractor-any-website?fpr=mamba) | `D5hOdIez45M0NX5jD` |
| [AI Tooling Detector](https://apify.com/mambalabs/ai-tooling-detector?fpr=mamba) | `EwkHhmqiuJgRoVEbE` |
| [Amazon Product, Price, and Stock Tracker](https://apify.com/mambalabs/amazon-product-price-stock-tracker?fpr=mamba) | `MtJPZoyjJ3IeqTFyo` |
| [Amazon Top Reviews Scraper](https://apify.com/mambalabs/amazon-top-reviews-scraper?fpr=mamba) | `wh6Mq6G6BlW1CRPwx` |
| [API Deprecation and Breaking Change Monitor](https://apify.com/mambalabs/api-change-monitor?fpr=mamba) | `pHsbS3xXUK8Jqutz5` |
| [App Store and Google Play Review Monitor](https://apify.com/mambalabs/app-store-google-play-review-monitor?fpr=mamba) | `MaCMEhGrbchxQZ92G` |
| [B2B Reddit Conversation Monitor](https://apify.com/mambalabs/b2b-reddit-conversation-monitor?fpr=mamba) | `SoDryzzsjmY3SsiyG` |
| [B2B Social Video Transcripts](https://apify.com/mambalabs/b2b-social-video-transcripts?fpr=mamba) | `dG2UYVKE2e4zfDucK` |
| [Bluesky Brand Presence Mapper](https://apify.com/mambalabs/bluesky-brand-presence-mapper?fpr=mamba) | `eLpxzP4IuXznlFVND` |
| [Bluesky Posts Scraper](https://apify.com/mambalabs/bluesky-posts-scraper?fpr=mamba) | `KldSjS7wjoeZ7vQGm` |
| [Brand Sponsor Finder](https://apify.com/mambalabs/brand-sponsor-finder?fpr=mamba) | `PPgK6xrgOmvL7Nrys` |
| [Bulk WHOIS and RDAP Domain Age Lookup](https://apify.com/mambalabs/whois-domain-lookup?fpr=mamba) | `MTrkG5FLU6SjqLdJY` |
| [Business PDF Field Extractor](https://apify.com/mambalabs/business-pdf-field-extractor?fpr=mamba) | `vM7JCk0CMAx5W0oJh` |
| [Career Change Signal Engine](https://apify.com/mambalabs/career-change-signal-engine?fpr=mamba) | `vX2Yga1a6wGaXaP14` |
| [Company Careers Page Jobs, 17 ATS Boards](https://apify.com/mambalabs/ats-jobs-feed?fpr=mamba) | `izP0rfIgf5YaRZfIh` |
| [Company Change Event Feed](https://apify.com/mambalabs/company-change-event-feed?fpr=mamba) | `oX44rS0fkEJ3rXLWe` |
| [Company Discovery List Builder](https://apify.com/mambalabs/company-discovery-list-builder?fpr=mamba) | `jch0HdaZnpbMqlcGS` |
| [Company Firmographic Enricher](https://apify.com/mambalabs/company-firmographic-enricher?fpr=mamba) | `YlUtLWjfPpqykmB8g` |
| [Company Funding Record](https://apify.com/mambalabs/funding-investor-record?fpr=mamba) | `OFS4Mt1gyYNtGfUbE` |
| [Company Headcount Estimator](https://apify.com/mambalabs/company-headcount-estimator?fpr=mamba) | `aHC4GROnNt6kfZe5r` |
| [Company Identity Resolver](https://apify.com/mambalabs/company-identity-resolver?fpr=mamba) | `lr8fTRAmZCBZmuwwh` |
| [Company Role Email, Phone and Address Finder](https://apify.com/mambalabs/company-contact-details-extractor?fpr=mamba) | `4mMncKaJykiq94grz` |
| [Company Social Presence Mapper](https://apify.com/mambalabs/company-social-presence-mapper?fpr=mamba) | `4k6CCemkgBDz18m2h` |
| [Competitor Price, Stock, and Changelog Monitor](https://apify.com/mambalabs/competitor-price-stock-changelog-monitor?fpr=mamba) | `yxdgCbUQ4PYQWwRNU` |
| [Contact Classifier](https://apify.com/mambalabs/contact-classifier?fpr=mamba) | `0lGSeYJmniXhGANnO` |
| [Contractor License Search, CA, TX, WA, OR, LA](https://apify.com/mambalabs/contractor-license-lookup?fpr=mamba) | `WBYK3CPI2kdeq4bP1` |
| [CRM Contact Job Change Checker](https://apify.com/mambalabs/job-change-tracker?fpr=mamba) | `L8UbEmMJC1XYPSZOb` |
| [Domain Deliverability Checker](https://apify.com/mambalabs/domain-deliverability-checker?fpr=mamba) | `0tVgxI7A6o9jMlxmc` |
| [Domain to LinkedIn URL Resolver](https://apify.com/mambalabs/domain-to-linkedin-url-resolver?fpr=mamba) | `3HtnSaqPHOg1Qg5gx` |
| [Ecommerce Platform Profiler](https://apify.com/mambalabs/ecommerce-platform-profiler?fpr=mamba) | `5G2NeYjBbQTjaTn9L` |
| [Ecommerce Store Discovery](https://apify.com/mambalabs/ecommerce-store-discovery?fpr=mamba) | `PeHu4sLyFvQHXUUrX` |
| [Email List Verifier, Bring Your Own Key](https://apify.com/mambalabs/email-verifier?fpr=mamba) | `CzVJ4NlaCKk80xpgE` |
| [Event Presence Index](https://apify.com/mambalabs/event-presence-index?fpr=mamba) | `WLhMy8fMDgsxdYxv5` |
| [Eventbrite Events Scraper](https://apify.com/mambalabs/eventbrite-events-scraper?fpr=mamba) | `sgc6znyrbjOy5Yk9f` |
| [Expert Witness Finder, US and Australia](https://apify.com/mambalabs/expert-witness-directory?fpr=mamba) | `LIpwlgfE3LaQBaXd4` |
| [Facebook Posts Scraper](https://apify.com/mambalabs/facebook-posts-scraper?fpr=mamba) | `T6jxIeq4ua0SLXnqG` |
| [Funding and Press Signal Scanner](https://apify.com/mambalabs/funding-press-signal-scanner?fpr=mamba) | `FS13X6dhQVgX3XOM6` |
| [GDPR Cookie Banner and Consent Checker](https://apify.com/mambalabs/cookie-consent-audit?fpr=mamba) | `TrKyOS0KBoGC35nbr` |
| [GitHub Followers and Following Export](https://apify.com/mambalabs/github-followers-following-export?fpr=mamba) | `SGNxDmFb9v3tRDaFI` |
| [GitHub Organization Signal Scanner](https://apify.com/mambalabs/github-organization-signal-scanner?fpr=mamba) | `ahF8RRpv5mzPao5CN` |
| [Google Ads Transparency Center Scraper by Domain](https://apify.com/mambalabs/google-ads-transparency-monitor?fpr=mamba) | `1eOwxhBVxzvOXAm4s` |
| [Google Maps Places Scraper](https://apify.com/mambalabs/google-maps-places-scraper?fpr=mamba) | `SuvHCNJ7pIuw6gn54` |
| [Google Trends Scraper](https://apify.com/mambalabs/google-trends-scraper?fpr=mamba) | `OeDzaACKmBYJXzHZk` |
| [GTM Hiring Signal Scraper](https://apify.com/mambalabs/gtm-hiring-signal-scraper?fpr=mamba) | `D7O1SA2EqwHGsGr1P` |
| [GTM Signals Aggregator](https://apify.com/mambalabs/b2b-buying-signals-hiring-tech-stack-intent-for-clay?fpr=mamba) | `xKdRfnfFNkdMpFuNs` |
| [Healthcare Provider NPI Enricher](https://apify.com/mambalabs/healthcare-provider-npi-enricher?fpr=mamba) | `MrgbHzcpDq3mOv9Df` |
| [ICP Fit Scorer](https://apify.com/mambalabs/icp-account-lead-scoring-fit-scorer-0-100-for-clay?fpr=mamba) | `W161DT8W4kW55dMFh` |
| [Influencer Change Monitor](https://apify.com/mambalabs/creator-change-monitor?fpr=mamba) | `d2VVgahNL6UmcLkhg` |
| [Influencer Lead List Builder](https://apify.com/mambalabs/creator-lead-list-all-in-one?fpr=mamba) | `KnmByszcv135yM30G` |
| [Influencer Profile Scraper](https://apify.com/mambalabs/creator-profile-reader?fpr=mamba) | `EqEnklDVMIcB1V499` |
| [Influencer Search Across TikTok, Instagram and YouTube](https://apify.com/mambalabs/creator-finder?fpr=mamba) | `tpkedmloIIWtXx6sg` |
| [Influencer Talent Agency Lookup](https://apify.com/mambalabs/talent-agency-lookup?fpr=mamba) | `zCuX4Mgyg6JvXgGzd` |
| [Instagram Facebook Brand Presence Mapper](https://apify.com/mambalabs/meta-brand-presence-mapper?fpr=mamba) | `HXh65I0JBjPsunbY8` |
| [Integration and Marketplace Presence Mapper](https://apify.com/mambalabs/integration-marketplace-presence-mapper?fpr=mamba) | `V0guNuvM85Q61f2gj` |
| [Job Board Keyword Signal Scanner](https://apify.com/mambalabs/job-board-keyword-signal-scanner?fpr=mamba) | `4DvqpvhMR74NLcDDY` |
| [Job Posting Monitor](https://apify.com/mambalabs/gtm-job-discovery?fpr=mamba) | `QCfICD9kOPiOdj5iI` |
| [Journalist and Media List Builder](https://apify.com/mambalabs/journalist-media-list-builder?fpr=mamba) | `mAfizsZC8qRoR0ecS` |
| [Launch Directory List Builder](https://apify.com/mambalabs/launch-directory-list-builder?fpr=mamba) | `cRq3bmvEZxZtioQ7U` |
| [Lead File Import Checker](https://apify.com/mambalabs/lead-file-import-checker?fpr=mamba) | `RwlGVXTf46LqZdUgt` |
| [Legal Entity Resolver](https://apify.com/mambalabs/legal-entity-resolver?fpr=mamba) | `KHFyPCDIx7CyqULYm` |
| [Link in Bio Scraper and Newsletter Detector](https://apify.com/mambalabs/link-in-bio-newsletter-checker?fpr=mamba) | `OorucdheTIgu7RFzK` |
| [LinkedIn Company Page Mapper](https://apify.com/mambalabs/linkedin-company-presence-mapper?fpr=mamba) | `zOPm6A9JEhUGcIdFW` |
| [LinkedIn Jobs Feed](https://apify.com/mambalabs/linkedin-jobs-feed?fpr=mamba) | `SH6N0d8cz46BhCC8B` |
| [LinkedIn Post Tracker](https://apify.com/mambalabs/linkedin-post-engager-capture?fpr=mamba) | `oiGLNPuaf5BRaz9K5` |
| [Local Business Lead Builder](https://apify.com/mambalabs/local-business-lead-builder?fpr=mamba) | `qMN97aoHhsAS5bznV` |
| [Local Rank and Map Pack Tracker](https://apify.com/mambalabs/local-rank-map-pack-tracker?fpr=mamba) | `gv0kyHGDIg8XscclB` |
| [Lookalike Companies from Seed Domains](https://apify.com/mambalabs/lookalike-company-finder?fpr=mamba) | `e2O426WBAbLLQL4Z2` |
| [Manufacturer and Supplier Finder](https://apify.com/mambalabs/manufacturer-supplier-finder?fpr=mamba) | `Qcsdmd0lUfPzVkonh` |
| [MCP Server Change and Health Monitor](https://apify.com/mambalabs/mcp-server-change-health-monitor?fpr=mamba) | `IeqjWF9U0BdDQFY08` |
| [Media URL Transcriber](https://apify.com/mambalabs/media-url-transcriber?fpr=mamba) | `Syfr7Ya3EsHgWfrB6` |
| [Meta Ad Library Ads by Company, Graph API](https://apify.com/mambalabs/meta-ad-library-monitor?fpr=mamba) | `J1GWlSXfSGU3u8Wng` |
| [Mobile Phone Waterfall](https://apify.com/mambalabs/mobile-phone-waterfall-orchestrator?fpr=mamba) | `6OOgPktf7RIa5XCOP` |
| [Multi Platform Social Posts and Comments](https://apify.com/mambalabs/multi-platform-social-posts-comments?fpr=mamba) | `icFuHR1EzDvUcfCQ5` |
| [Netherlands Rental Listings](https://apify.com/mambalabs/dutch-rental-listings?fpr=mamba) | `sGKGsbwoX18lFb6dR` |
| [New Hire Finder](https://apify.com/mambalabs/new-hire-finder?fpr=mamba) | `cKuc38p4nYHNF3IW8` |
| [Newly Registered Companies, UK, Norway, Finland, France](https://apify.com/mambalabs/new-company-registrations-feed?fpr=mamba) | `g2WfZhWvCtc57g2Jo` |
| [News and Media Mention Monitor](https://apify.com/mambalabs/news-media-mention-monitor?fpr=mamba) | `gol1PPUKrsIk4QLBd` |
| [News Site Article Archive](https://apify.com/mambalabs/news-site-article-archive?fpr=mamba) | `NjcF3UD8791raFNHh` |
| [Newsletter Sponsor Tracker](https://apify.com/mambalabs/newsletter-sponsor-tracker?fpr=mamba) | `qSwpqxD1TiPZpLQHv` |
| [Open Tender and RFP Finder](https://apify.com/mambalabs/open-tender-rfp-finder?fpr=mamba) | `kPTGz6t6TFoUUyfaO` |
| [Outbound Stack Detector](https://apify.com/mambalabs/outbound-infrastructure-fingerprint?fpr=mamba) | `v43UJC8r7qW7cBSTG` |
| [Page Finder and Extractor](https://apify.com/mambalabs/page-finder-extractor?fpr=mamba) | `TpurgcOZbVnknlaiC` |
| [Partner and Member Directory Extractor](https://apify.com/mambalabs/partner-member-directory-extractor?fpr=mamba) | `ZX0XJPPUvnFJxeC1a` |
| [People Finder & Email Verifier](https://apify.com/mambalabs/people-finder?fpr=mamba) | `LEgloG7tWgQl4o6TD` |
| [Person LinkedIn URL Resolver](https://apify.com/mambalabs/person-linkedin-url-resolver?fpr=mamba) | `ssuyPV8LnEsL8qbnb` |
| [Person Social Footprint Mapper](https://apify.com/mambalabs/person-social-footprint-mapper?fpr=mamba) | `jfQXa2zW9FHCJot9K` |
| [Personal Email to Company Resolver](https://apify.com/mambalabs/personal-email-to-company-resolver?fpr=mamba) | `AefT5Ye6YNPFQwJBf` |
| [Pinterest Brand Presence Mapper](https://apify.com/mambalabs/pinterest-brand-presence-mapper?fpr=mamba) | `d1HvjZfKhgvWsoEwn` |
| [Podcast Guest and Host Finder](https://apify.com/mambalabs/podcast-guest-host-finder?fpr=mamba) | `o2MGSvgbSLeeXOsIo` |
| [Private Company Funding History](https://apify.com/mambalabs/private-company-funding-history?fpr=mamba) | `H02K3rQIVOYpnLYc3` |
| [Product Hunt Daily Launches with Maker Domains](https://apify.com/mambalabs/product-hunt-launches-feed?fpr=mamba) | `O4VX63drWK9Y9x641` |
| [Property Owner Records](https://apify.com/mambalabs/property-owner-records?fpr=mamba) | `0J7ovG1iaZpQD1P0T` |
| [Prospect Engine](https://apify.com/mambalabs/b2b-prospect-engine?fpr=mamba) | `q9rT6v64nUJdPexOQ` |
| [Public Feature Board and Roadmap Monitor](https://apify.com/mambalabs/public-feature-board-roadmap-monitor?fpr=mamba) | `rcHF5gj5r2Vqnry35` |
| [Publishing Frequency Tracker](https://apify.com/mambalabs/blog-publishing-frequency?fpr=mamba) | `TbLwaUUATdYb6wp4N` |
| [Recent Funding Rounds Feed](https://apify.com/mambalabs/recent-funding-rounds-feed?fpr=mamba) | `KueVp9MOz7iOoAgDp` |
| [Reddit Brand Presence Mapper](https://apify.com/mambalabs/reddit-brand-presence-mapper?fpr=mamba) | `pKQZmDaT70SEb54bZ` |
| [Reddit Search and Thread Scraper](https://apify.com/mambalabs/reddit-search-thread-scraper?fpr=mamba) | `4Gsth5cP2Xt9V2xDN` |
| [Reporting Window Finder](https://apify.com/mambalabs/public-company-reporting-window-finder?fpr=mamba) | `uINxR7a1IW8qUTRUX` |
| [Research Topic Institutions and Authors](https://apify.com/mambalabs/research-topic-institutions-authors?fpr=mamba) | `OH8ANqt7bCKbo72Gk` |
| [Semrush Domain Metrics](https://apify.com/mambalabs/semrush-domain-metrics?fpr=mamba) | `3dqa0abJrpssHtrYL` |
| [Sequencer Event Poller](https://apify.com/mambalabs/sequencer-event-poller?fpr=mamba) | `S6s8Rjd61tGdrMRk4` |
| [Sequencer Lead Push](https://apify.com/mambalabs/clay-to-instantly-smartlead-push?fpr=mamba) | `0Jv27VeWM5tSZQs9x` |
| [Shopify App Store and Chrome Web Store Listings](https://apify.com/mambalabs/shopify-app-store-chrome-web-store-listings?fpr=mamba) | `gaY0BzkLyN77mD3wI` |
| [Site Crawler for Links and Tables](https://apify.com/mambalabs/site-crawler-links-tables?fpr=mamba) | `lLLJ6JxZ4XqN8ULz0` |
| [Streaming Subscription Prices by Country](https://apify.com/mambalabs/streaming-subscription-prices-by-country?fpr=mamba) | `tbMroS2Zyn57bW17E` |
| [Substack Newsletter and Posts Scraper](https://apify.com/mambalabs/substack-scraper?fpr=mamba) | `UEFsdwiPLmPNVy9xd` |
| [Team Page People Extractor](https://apify.com/mambalabs/team-page-people-extractor?fpr=mamba) | `j8a9zX0k4mNbvDbWK` |
| [Tech Stack Signal Detector](https://apify.com/mambalabs/gtm-tech-stack-signal-scraper?fpr=mamba) | `qyd7nNyqFPelQViBx` |
| [Tennis Match Data](https://apify.com/mambalabs/tennis-match-data?fpr=mamba) | `v3OX6zxXHZOf2yurO` |
| [Threads Posts by Keyword, Exact Match](https://apify.com/mambalabs/threads-keyword-search?fpr=mamba) | `2OT8K8RiEEWtaj2MW` |
| [Ticketmaster Event Prices](https://apify.com/mambalabs/ticketmaster-event-prices?fpr=mamba) | `CrvPX4IwLXQX9bls1` |
| [TikTok Brand Presence Mapper](https://apify.com/mambalabs/tiktok-brand-presence-mapper?fpr=mamba) | `fco8FvoJcSafbeyd1` |
| [TikTok Video Stats](https://apify.com/mambalabs/tiktok-video-stats?fpr=mamba) | `uz9Q3cEycRgA6NfqA` |
| [Trustpilot Reputation Enricher](https://apify.com/mambalabs/review-platform-reputation-enricher?fpr=mamba) | `3lIqfCt61j4hqE1xz` |
| [US and UK Contract Award Winners by Company](https://apify.com/mambalabs/public-award-monitor?fpr=mamba) | `zhEtllASykOcx9hJ8` |
| [US Import Records Buyer Finder](https://apify.com/mambalabs/us-import-records-buyer-finder?fpr=mamba) | `VIMafpKF5ggOw0COU` |
| [VC and Accelerator Portfolio List Builder](https://apify.com/mambalabs/vc-accelerator-portfolio-list-builder?fpr=mamba) | `chH8hrfuoqqolW06m` |
| [Website Accessibility Checker, WCAG 2.2 AA](https://apify.com/mambalabs/wcag-accessibility-audit?fpr=mamba) | `P3jBj3FRghKEhX52z` |
| [Website Phrase and Business Model Classifier](https://apify.com/mambalabs/website-phrase-business-model-classifier?fpr=mamba) | `CBuZ9k7sRwBeiKiCS` |
| [Website Traffic Rank Estimator](https://apify.com/mambalabs/website-traffic-rank-estimator?fpr=mamba) | `GnOFUzlNVIoXgeJjH` |
| [Work Email Waterfall](https://apify.com/mambalabs/email-waterfall-orchestrator?fpr=mamba) | `OT6xqTFThC0Rjf7Zj` |
| [Workplace Program Detector](https://apify.com/mambalabs/workplace-program-detector?fpr=mamba) | `Li6pPDhqbdzFz3h7G` |
| [X Brand Presence Mapper](https://apify.com/mambalabs/x-brand-presence-mapper?fpr=mamba) | `oLOgadhHUkNAyDA3w` |
| [YouTube Channel and Video List Scraper](https://apify.com/mambalabs/youtube-video-channel-scraper?fpr=mamba) | `txaAjeBqgj5MStFE4` |
| [YouTube Channel Email Finder](https://apify.com/mambalabs/youtube-channel-email-finder?fpr=mamba) | `IDgKZcmeeuunUbccN` |
| [YouTube Channel from Company Domain](https://apify.com/mambalabs/youtube-channel-transcript-extractor?fpr=mamba) | `6hSpD3kd2s2IQ4VSs` |
| [Zillow Listing Details](https://apify.com/mambalabs/zillow-listing-details?fpr=mamba) | `yG4zM0Enfsw2NefJ1` |

Built by [Mamba Labs](https://apify.com/mambalabs).

# Actor input Schema

## `mode` (type: `string`):

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.

## `video_urls` (type: `array`):

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.

## `creators` (type: `array`):

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.

## `podcast_feeds` (type: `array`):

Podcast RSS feed URLs. In watch_list mode each feed is watched for new episodes; in the other modes the latest episodes are read.

## `podcast_keywords` (type: `array`):

watch_list mode: search terms for finding podcast feeds through the iTunes search API; each feed found is watched.

## `hashtags` (type: `array`):

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.

## `wistia_ids` (type: `array`):

Wistia media IDs, or company page URLs that embed Wistia videos; the page is scanned for embedded media IDs.

## `include_commenters` (type: `string`):

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.

## `watch_list_name` (type: `string`):

Names the stored watch list. Rows are also appended to a named dataset b2b-social-video-transcripts-<name>, and seen video IDs are kept in a named key-value store b2b-social-video-transcripts-<name>-state. Letters, numbers, and dashes; up to 28 characters. Default default.

## `watch_list_depth` (type: `string`):

transcript (default) or outbound: what runs on each new video in watch_list mode.

## `max_videos_per_creator` (type: `string`):

Most videos read per creator, feed, keyword result, or hashtag in one run. Default 10, up to 100.

## `since_days` (type: `string`):

Skips videos older than this many days. Default 30.

## `topic_filter` (type: `array`):

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.

## `transcript_filter` (type: `array`):

Keywords matched against the spoken words. Rows are kept, with transcript_match true or false.

## `stt_provider` (type: `string`):

openai (default), groq, deepgram, or assemblyai. Used for videos with no native subtitle or transcript.

## `stt_api_key` (type: `string`):

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.

## `stt_model` (type: `string`):

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.

## `stt_fallback_provider` (type: `string`):

Optional second provider, tried when the first refuses or fails.

## `stt_fallback_api_key` (type: `string`):

Your own key for the fallback provider.

## `ai_provider` (type: `string`):

openai (default), anthropic, or gemini. Used by outbound mode and for translation.

## `ai_api_key` (type: `string`):

Your own key for the AI provider. Without it, outbound mode returns transcripts only and charges no outbound-insights. Never stored or logged.

## `ai_model` (type: `string`):

Optional override. Defaults: gpt-4.1-mini (openai), claude-haiku-4-5 (anthropic), gemini-2.5-flash (gemini).

## `my_company` (type: `string`):

Your company name, so pain points and icebreakers fit your offer.

## `my_product` (type: `string`):

What you sell, in one line.

## `competitors` (type: `array`):

Brand names to flag when spoken. Each is matched exactly in the transcript and by the AI call.

## `translate_to_english` (type: `string`):

yes or no. Default yes in outbound mode, no in the other modes. Needs the AI key.

## `include_segments` (type: `string`):

yes or no (default no). Adds transcript_segments to each row. Outbound mode always fills them when the source gives timestamps.

## `youtube_transcript_provider` (type: `string`):

scrapecreators, searchapi, or supadata. YouTube videos are transcribed only through your own key with one of these services.

## `youtube_transcript_api_key` (type: `string`):

Your own key for the YouTube transcript provider above. Without it, YouTube URLs return a free row.

## `youtube_transcript_fallback_provider` (type: `string`):

Optional second YouTube transcript provider.

## `youtube_transcript_fallback_api_key` (type: `string`):

Your own key for the fallback YouTube provider.

## `webhook_url` (type: `string`):

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.

## `webhook_min_score` (type: `string`):

0 to 100. Default 0 sends every video row.

## `max_charge_usd` (type: `string`):

Optional. The run stops before a charge that would pass this amount. Summary rows are always returned.

## `source_tag` (type: `string`):

Internal attribution tag. Leave empty.

## Actor input object example

```json
{
  "mode": "transcript",
  "video_urls": [
    "https://www.tiktok.com/@washingtonpost/video/7198260520103841070",
    "https://www.tiktok.com/@duolingo/video/7469606377392999723"
  ],
  "wistia_ids": [
    "yycs41i9xs"
  ],
  "include_commenters": "no",
  "watch_list_name": "default",
  "watch_list_depth": "transcript",
  "max_videos_per_creator": "10",
  "since_days": "30",
  "stt_provider": "openai",
  "ai_provider": "openai",
  "include_segments": "no",
  "webhook_min_score": "0"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `run_summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "video_urls": [
        "https://www.tiktok.com/@washingtonpost/video/7198260520103841070",
        "https://www.tiktok.com/@duolingo/video/7469606377392999723"
    ],
    "wistia_ids": [
        "yycs41i9xs"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("mambalabs/b2b-social-video-transcripts").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "video_urls": [
        "https://www.tiktok.com/@washingtonpost/video/7198260520103841070",
        "https://www.tiktok.com/@duolingo/video/7469606377392999723",
    ],
    "wistia_ids": ["yycs41i9xs"],
}

# Run the Actor and wait for it to finish
run = client.actor("mambalabs/b2b-social-video-transcripts").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "video_urls": [
    "https://www.tiktok.com/@washingtonpost/video/7198260520103841070",
    "https://www.tiktok.com/@duolingo/video/7469606377392999723"
  ],
  "wistia_ids": [
    "yycs41i9xs"
  ]
}' |
apify call mambalabs/b2b-social-video-transcripts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mambalabs/b2b-social-video-transcripts"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/dG2UYVKE2e4zfDucK/builds/TJRHedv6hcjCvJNeA/openapi.json
