Audio & Video Transcriber + Mention Finder
Pricing
from $0.70 / 1,000 transcribed seconds
Audio & Video Transcriber + Mention Finder
Turn any video, podcast or audio link into text and find every mention of your brands, names or keywords, with a timestamp and a link to the exact second. Get subtitles, TXT files and AI-ready chunks with token counts. English, French and 95+ languages. Pay per second, with no minimum.
Audio & Video Transcriber + Mention Finder
Turn any video, podcast or audio link into text, and find every spoken mention of the brands, people or keywords you care about. Each mention comes back with its timestamp, the words around it and a link that opens the media at that exact second.
Paste links from YouTube, TikTok, Instagram, Facebook, X, Vimeo, Dailymotion, SoundCloud or Twitch, a podcast RSS feed, an Apple Podcasts show or episode, or a direct audio or video file. You get:
- The full transcript, timed segments and the detected language.
- Ready-to-use SRT and VTT subtitles and a plain-text file per item.
- Mentions of your terms, with a count per term and the time of the first mention.
- AI-ready chunks: the transcript split into timed pieces with token counts, ready for an LLM prompt, a vector database or RAG search.
Captions first, to save you money. When a video already has captions (most YouTube videos do), those are delivered in seconds for a small flat fee instead of being transcribed second by second.
📋 Example Output
A real record from the prefilled input: the first 3 minutes of a NASA podcast episode with the terms NASA, Artemis and Moon. Long fields are shortened here (text, segments, mentions and chunks hold everything in a real run).
{"url": "https://traffic.megaphone.fm/NATIONALAERONAUTICSANDSPACEADMINISTRATION2348421011.mp3","inputUrl": "https://traffic.megaphone.fm/NATIONALAERONAUTICSANDSPACEADMINISTRATION2348421011.mp3","pageUrl": null,"platform": "file","sourceType": "file","title": "Artemis III: Paving the Way to Lunar Landings","uploader": "Houston We Have a Podcast","publishedAt": "2024","durationSeconds": 3584.9,"thumbnailUrl": null,"transcriptSource": "whisper","captionsType": null,"model": "base","language": "en","languageProbability": 0.9972,"translatedToEnglish": false,"transcribedSeconds": 180.0,"text": "Hey, one quick thing before we start the show. Just want to remind you to subscribe to this official NASA podcast wherever you're listening right now. NASA is working on some extremely cool stuff, and you will hear about it right here. Subscribe to this podcast to make sure you get the latest from N …","wordCount": 442,"segments": [{"start": 0.94,"end": 5.98,"text": "Hey, one quick thing before we start the show. Just want to remind you to subscribe to"},{"start": 5.98,"end": 12.04,"text": "this official NASA podcast wherever you're listening right now. NASA is working on some"}],"mentions": [{"term": "NASA","matchedText": "NASA","score": 100,"start": 6.8,"end": 7.04,"timestamp": "00:00:06","context": "the show. Just want to remind you to subscribe to this official NASA podcast wherever you're listening right now. NASA is working on some extremely","link": "https://traffic.megaphone.fm/NATIONALAERONAUTICSANDSPACEADMINISTRATION2348421011.mp3#t=6","approximateTime": false},{"term": "NASA","matchedText": "NASA","score": 100,"start": 10.46,"end": 10.98,"timestamp": "00:00:10","context": "to subscribe to this official NASA podcast wherever you're listening right now. NASA is working on some extremely cool stuff, and you will hear about","link": "https://traffic.megaphone.fm/NATIONALAERONAUTICSANDSPACEADMINISTRATION2348421011.mp3#t=10","approximateTime": false}],"mentionCount": 23,"mentionsByTerm": {"NASA": 13,"Artemis": 7,"Moon": 3},"termsFound": ["NASA","Artemis","Moon"],"termsNotFound": [],"firstMentionAt": "00:00:06","chunks": [{"index": 0,"start": 0.94,"end": 109.56,"text": "Hey, one quick thing before we start the show. Just want to remind you to subscribe to this official NASA podcast wherev …","tokenCount": 382}],"chunkCount": 2,"tokenCount": 551,"tokenizer": "cl100k_base","srtFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-artemis-iii-paving-the-way-to-lunar-landings.srt","vttFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-artemis-iii-paving-the-way-to-lunar-landings.vtt","txtFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-artemis-iii-paving-the-way-to-lunar-landings.txt","billedSeconds": 180,"status": "ok","charged": true,"error": null,"processedAt": "2026-11-05T17:49:19.034815+00:00"}
approximateTime is true only when the timing comes from a caption line rather than the exact word, which can happen with manual captions; the link is then accurate to within a few seconds.
🔎 Mention Finder
Put your terms in mentionTerms: brand names, people, products, competitors, keywords.
- Fuzzy matching (default) also catches small mishearings and plurals: "Tim Horton" still matches
Tim Hortons, and "TimHortons" spoken as one word matches too. Names of 5-8 letters may differ by one letter and longer names by two. Names of 4 letters or fewer (IBM,Uber) always match exactly, so short words never flood the results. - Exact matching takes the words exactly as typed, ignoring only case, accents and punctuation.
- Your terms are also given to the speech model as hints, so names come out spelled right more often.
- Each mention has a
linkthat opens the media at that second on YouTube, Vimeo, Dailymotion, Twitch, SoundCloud and direct audio/video files. On other platforms thetimestampsays where to look.
Use it to monitor what creators, podcasts or competitors say about a brand, check sponsor reads, or jump straight to the part of a long interview that matters.
🤖 AI-ready chunks
With aiChunks on (default), every item has chunks: the transcript split at segment boundaries into pieces of about chunkTokens tokens, each with start and end times and a tokenCount measured with the cl100k_base tokenizer. chunkOverlapTokens repeats the end of each chunk at the start of the next so no sentence loses its context. Feed the chunks straight into embeddings, a vector store or a prompt; the times let an answer cite the exact moment in the media.
⚙️ Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
mediaUrls | Array | (required) | Video, audio or podcast links, one per line. Up to 100 per run. |
mentionTerms | Array | [] | Brands, names or keywords to find. Leave empty for a plain transcript. |
matchMode | String | fuzzy | fuzzy catches small mishearings and plurals; exact matches the words as typed. |
preferCaptions | Boolean | true | Deliver the media's own captions when it has them (faster, flat fee). Off = always transcribe the audio. |
language | String | auto | Spoken language code (en, fr, es ...). Also picks which caption track is used. |
translateToEnglish | Boolean | false | English transcript whatever the spoken language (uses the speech model). |
model | String | base | tiny (fastest), base (recommended) or small (most accurate). Same price for all three. |
maxMinutesPerItem | Integer | 60 | Longer media is transcribed and billed only up to this length. |
maxItemsPerFeed | Integer | 1 | Newest items taken from a podcast feed, Apple Podcasts show, YouTube channel or playlist. |
aiChunks | Boolean | true | Add AI-ready chunks with token counts. Free. |
chunkTokens | Integer | 400 | Target chunk size in tokens. |
chunkOverlapTokens | Integer | 40 | Tokens repeated between neighbouring chunks. |
includeSegments | Boolean | true | Add the timed segments to each record. |
proxyConfiguration | Object | Apify Proxy (auto) | Direct audio files and podcast feeds are fetched without a proxy. |
Example Input
{"mediaUrls": ["https://www.youtube.com/watch?v=UF8uR6Z6KLc","https://podcasts.apple.com/ca/podcast/le-radiojournal/id1438775013"],"mentionTerms": ["Stanford", "Apple", "Ottawa", "gouvernement"],"maxMinutesPerItem": 30}
The YouTube video is delivered from its captions; the newest Radio-Canada news bulletin is transcribed in French.
💰 Pricing
Pay per event, with no subscription:
| Event | Price | When |
|---|---|---|
| Run start | $0.005 | Once per run at the default 2 GB memory |
| Transcribed second | $0.0007 per second ($0.042 per minute) | Audio transcribed by the speech model. Real seconds, no minimum: a 20-second clip bills 20 seconds |
| Captions transcript | $0.003 per item | Media delivered from its own captions, whatever its length |
| Mention report | $0.002 per item | Only items where at least one of your terms was found |
Subtitles, text files, chunks and token counts are included. Items that are not delivered are never charged: music or silence (no_speech), removed or private media, unsupported links, downloads that fail. Each of those still gets a row with status and error saying why, and the run's SUMMARY record lists them all. A run never charges more than the maximum cost you set: long media is trimmed to fit before it is transcribed.
| Example | Cost |
|---|---|
| 20-second TikTok, transcribed | $0.019 |
| 10-minute YouTube video with captions | $0.008 |
| 10-minute video without captions, with mentions found | $0.427 |
| 45-minute podcast episode | $1.895 |
How it works
- Resolve: each link is read as a single video, a channel or playlist, a podcast feed, an Apple Podcasts show or episode, or a direct file.
- Captions or audio: when captions exist in the spoken language they are used; otherwise only the audio track is fetched, up to
maxMinutesPerItem(a 2-hour episode capped at 10 minutes downloads about 10 minutes). - Transcribe: Whisper (faster-whisper, int8, voice-activity filtered) turns speech into timed text, with word-level times when you are looking for mentions.
- Find, chunk, export: mentions, chunks, SRT, VTT and TXT are built from the same timed text and saved with the record.
Run memory decides speed: Apify gives about one CPU core per 4 GB. 2 GB (default) suits clips and short videos; give long podcasts 4-8 GB to finish faster. The small model needs 2 GB or more and is chosen down automatically if the run has less.
Use it from the API, MCP and AI agents
Call it as ocrad/audio-video-transcriber-mention-finder from the Apify API, any Apify SDK, or the Apify MCP server as a tool. Minimal input: {"mediaUrls": ["<link>"]}. Check status before reading text: ok rows are delivered and charged, every other status is free and carries error. Results are in the default dataset; subtitle and text files are linked from each row.
💬 Support and Feedback
Reach out via Apify support channels or leave feedback on the Actor's page.
Is it legal to transcribe this content?
The Actor only processes publicly accessible media that you point it at and does not bypass logins, paywalls or DRM. Transcripts can contain personal data (names, voices, opinions); process it only with a legitimate reason and respect each platform's terms and copyright. Personal data is protected by GDPR, PIPEDA, Quebec's Law 25 and other regulations — consult your legal advisor if unsure.