Podcast & Audio Transcriber: MP3 and RSS to Text and SRT
Pricing
from $15.00 / 1,000 audio minute transcribeds
Podcast & Audio Transcriber: MP3 and RSS to Text and SRT
Transcribe audio file URLs or whole podcast RSS feeds to text, SRT subtitles and timed segments with Whisper, no API key. $0.012 per audio minute, billed only for the minutes transcribed. Audio is deleted after the run.
Pricing
from $15.00 / 1,000 audio minute transcribeds
Rating
0.0
(0)
Developer
Data Gleaner
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
Podcast & Audio Transcriber: MP3 and RSS to Text, SRT and VTT
Give it links to audio files or a podcast's RSS feed, get the transcript back as text, SRT and VTT subtitles and timed segments. It runs the open Whisper speech model (faster-whisper, on CPU) inside the Actor: no API key, your audio is not sent to any third-party service, and the audio file is deleted as soon as it is transcribed. Only the transcript is kept, in your run's dataset.
Price: $0.015 per audio minute ($0.90 per hour of audio), no start fee. You are billed only for the minutes actually transcribed. Failed downloads, refused links and files with no speech are returned with the reason and not charged. The small model, more accurate on accents, noise and non-English speech, is $0.03 per audio minute.
What does the Podcast & Audio Transcriber do?
- Direct audio links: MP3, M4A, WAV, OGG, FLAC and similar files that download without a login.
- Podcast RSS feeds: give the show's feed link and it transcribes the newest
episodesPerFeedepisodes (default 1), keeping the podcast title, episode title, publish date and episode id on every row. - Four outputs:
text(always),srt(SubRip) andvtt(WebVTT) subtitles, both on by default and also saved as downloadable files in the run's key-value store (links insrtFileUrlandvttFileUrl), andsegments(start, end, text in seconds, optional). - Language: detected automatically, or set it (
en,es,de,fr,ja...). The detectedlanguageand its probability are returned. - Cost caps:
maxMinutesPerFile,maxFilesand your own max total charge all stop the run from billing more than you chose. The Actor never transcribes minutes your charge limit cannot pay for.
Typical uses
- Searchable archives and show notes for a podcast back catalogue.
- Subtitles (SRT, VTT) for audio you own or have the right to use.
- Feeding recordings of meetings, lectures or interviews you have the right to process into LLM and RAG pipelines.
- Monitoring a public podcast feed for mentions of a topic.
Input
| Field | What it does |
|---|---|
urls | Audio file links and/or podcast RSS feed links. Leave empty for a free built-in sample. |
model | base (default), small (more accurate, $0.03 per minute) or tiny (fastest, base price). |
language | auto (default) or a language code. |
episodesPerFeed | Newest episodes taken from each feed, default 1. |
maxMinutesPerFile | Only the first N minutes of each file are transcribed and billed, default 120. |
maxFiles | Stop after this many audio files (feed episodes count), default 50. |
includeSrt / includeVtt / includeSegments | Add srt / vtt / segments to each row. |
maxFileSizeMb | Skip larger files, default 200. |
proxyConfiguration | Optional Apify Proxy for hosts that refuse the download. Default is no proxy. |
{"urls": [{"url": "https://example.com/feed.xml"}, {"url": "https://example.com/episode-12.mp3"}], "episodesPerFeed": 3, "model": "base", "maxMinutesPerFile": 60}
An empty input runs a built-in sample, not charged: a short sample recording hosted by Keencrest (a synthetic voice reading a test text). Its transcript is stored, so the sample returns at once without loading the model.
Output example
{"audioUrl": "https://cdn.example.com/ep12.mp3","feedUrl": "https://example.com/feed.xml","feedTitle": "Example Show","episodeTitle": "Episode 12","episodePublished": "2026-10-30T13:19:00","language": "en","languageProbability": 0.997,"audioMinutes": 31.4,"billedMinutes": 32,"truncated": false,"wordCount": 4210,"text": "Welcome back to the show ...","srt": "1\n00:00:00,940 --> 00:00:04,420\nWelcome back to the show.\n","srtFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/subtitles-<id>.srt","vtt": "WEBVTT\n\n00:00:00.940 --> 00:00:04.420\nWelcome back to the show.\n","vttFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/subtitles-<id>.vtt","error": null,"failureReason": null}
Pricing with a worked example
Billing is per audio minute, rounded up per file (at least 1 minute per transcribed file).
- 10 episodes of 40 minutes with
base: 400 minutes x $0.015 = $6.00. - One 25-minute interview with
small: 25 x $0.03 = $0.75. - A feed with 3 episodes,
maxMinutesPerFile10: at most 30 minutes = $0.45.
Speed on a 4 GB run is roughly 8 to 15 times faster than real time with base, so a 40-minute episode takes a few minutes.
What is not supported
- YouTube, TikTok, Instagram, Facebook, X (Twitter) and Spotify links are refused with a clear message and are not charged: those platforms' terms do not allow downloading their media. Use the show's own RSS feed or a direct audio file link.
- Sites whose terms forbid this kind of automated downloading are refused too, for example archive.org (its terms grant access for scholarship and research only), with
failureReason: unsupported_platformand no charge. - robots.txt is respected for the feed, the audio host and every redirect in between, using the identifying user agent
KeencrestBot. A disallowed URL is returned withfailureReason: robots_disallowed. - Files needing a login, DRM-protected audio and web pages are returned with an error.
- Speech recognition is automatic and can make mistakes, especially with noise, heavy accents, music and names. Use
smallfor harder audio.
FAQ
Is my audio stored? No. It is downloaded to temporary storage of the run, transcribed and deleted straight away. Nothing but the transcript is saved, and it goes only to your run's dataset.
Can I transcribe any podcast? Public podcast feeds, yes, for the uses the show's licence and your local law allow. Transcripts of someone else's recordings may be protected by copyright and may contain personal data. You are responsible for having the right to process the audio and for any personal-data obligations that apply to you.
What if my files are very long? maxMinutesPerFile (up to 360) caps each file. Files over maxFileSizeMb are skipped without charge.
Why was a file not charged? It could not be downloaded, was refused (platform link, robots.txt), could not be decoded, or contained no speech. The row says why in error and failureReason.