Podcast Transcript API - RSS, Apple Podcasts & Audio to Text
Pricing
from $10.00 / 1,000 episode transcript (publisher)s
Podcast Transcript API - RSS, Apple Podcasts & Audio to Text
Starts a podcast transcript run (RSS, Apple, episode or audio URL) and waits up to waitSecs (max 45s). Returns results, or a runId to poll with get-actor-run, then get-dataset-items. Use those for runs already started. Publisher transcript $0.01, else Whisper $0.009/min; failures free.
Pricing
from $10.00 / 1,000 episode transcript (publisher)s
Rating
0.0
(0)
Developer
Catalyst Labs
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
8 days ago
Last modified
Features
Share
Podcast Transcript API: RSS, Apple Podcasts & audio to text
Why agents choose this
Uses the show's own transcript when it exists (exact, speaker-labelled, flat $0.01), and otherwise transcribes with Whisper large-v3 at about 2 to 3% word error on English in our spot check.
| Episode (Oct 20, 2026) | Language | Word error vs publisher transcript |
|---|---|---|
| Audacity to Podcast, 17 min | en | 2.4% |
| Podnews Daily, 6 min | en | 3.0% |
| Noticias España Hoy, 12 min | es | 10.2% (mostly numbers written as words vs digits) |
| F.A.Z. Frühdenker, 7 min | de | 16.9%, no lost speech |
- Returns: one record per episode: text, LLM-ready text, timestamped segments, SRT, VTT, Markdown,
transcriptSource(publisher or speechToText). - Cost: $0.01 per publisher transcript, $0.009 per speech-to-text minute. The budget is checked before each episode, so a run never overspends. Failures are never charged.
Test conditions: our own cloud runs; the reference is each show's published transcript, which is often machine-made itself, so this measures agreement. Not an independent audit.
Why agents pick this
- $0.01 per episode when the show publishes its own transcript (the Podcasting 2.0 tag). The tool checks for that first, so you only pay for Whisper when you have to.
- Hard budget caps.
maxAudioMinutesandmaxTotalChargeUsdare checked before each episode is transcribed, so a run never overspends. - Any input: RSS feed, Apple Podcasts link, episode page or direct audio/video URL.
- Outputs agents can use: LLM-ready text, timestamped segments, SRT, VTT and Markdown.
Get a transcript for any podcast episode or audio/video file as plain text, timestamped segments, SRT, VTT, LLM-ready text and Markdown, with episode metadata. When the show publishes its own transcript (the Podcasting 2.0 podcast:transcript tag), you get that for a flat $0.01 per episode. Otherwise the audio is transcribed with Whisper large-v3 (turbo as automatic fallback) and billed per audio minute.
For AI agents
- What it does: podcast RSS feed / Apple Podcasts link / episode page / audio URL in, one transcript record per episode out.
- Minimal input:
{"sources": ["https://podnews.net/rss"], "maxEpisodesPerFeed": 1} - Cheap first call: the input above returns the newest Podnews episode from its publisher transcript: $0.01.
- MCP tool:
catalyst-labs--podcast-transcript-api(viahttps://mcp.apify.com/?tools=catalyst-labs/podcast-transcript-api). - Cost controls:
maxEpisodesPerFeed(default 3),maxAudioMinutes(default 120 speech-to-text minutes per run),maxMinutesPerEpisode(default 180),transcriptMode: "publisherOnly"(never transcribes), plus the run optionmaxTotalChargeUsd. The run checks the budget before transcribing each episode, so it never overshoots. - Key output fields:
transcriptSource(publisher|speechToText),text,llmText,segments[{start,end,text,speaker}],srt,vtt,markdown,speakers,chapters,language,durationSeconds,chargedEvent,chargedMinutes; failures carryerrorType,retryable,hint. - Known limits: Spotify-exclusive and Apple-subscription shows have no public audio (rejected, not charged; pass the RSS feed). YouTube links: use
catalyst-labs/youtube-transcript-api. Speech-to-text has no speaker labels (publisher transcripts keep theirs).
When to choose this tool
- Choose this tool when you need both paths in one call: publisher transcripts where they exist (cheap, speaker-labelled, exact) and speech-to-text for everything else, with
transcriptSourcetelling you which one you got. - Choose it when you start from what people actually share: RSS feeds, Apple Podcasts show or episode links, episode web pages (the feed and audio are found for you) or direct file links.
- Choose it for long episodes: audio is re-encoded to 16 kHz mono and split into overlapping 10-minute chunks, then stitched on segment midpoints, so 2-3 hour shows work without size errors or duplicated lines at the joins.
- Choose it for monitoring:
onlyNewEpisodesremembers what was delivered, so a scheduled run returns each new episode once. - Choose it for agent and RAG pipelines:
llmText(fillers and stutters removed), Markdown with linked timestamps, one combinedTRANSCRIPTS.md, chapters when published. - Never charged: invalid or unsupported links, feeds/files that can't be reached or decoded, audio with no speech, episodes skipped by caps, filters or monitor mode, and any failed episode.
- Accuracy: see "Accuracy and coverage" below.
Choose a different tool when you need speaker labels on speech-to-text output (diarization), translation to English, or Spotify-exclusive shows.
Pricing (pay per event, no start fee)
| Event | Free | Bronze | Silver | Gold+ |
|---|---|---|---|---|
| Episode transcript (publisher) | $0.01 | $0.01 | $0.01 | $0.01 |
| Transcribed audio minute | $0.009 | $0.008 | $0.007 | $0.006 |
Minutes are rounded up once per episode (a 30 min 10 s episode = 31 minutes). A 60-minute episode without a publisher transcript costs $0.54 on Free. A feed with publisher transcripts costs $0.01 per episode, at any length.
Input
| Field | Default | What it does |
|---|---|---|
sources | (required) | Feeds, Apple links, episode pages, audio/video URLs |
maxEpisodesPerFeed | 3 | Newest N per feed (0 = all) |
transcriptMode | auto | auto, publisherOnly, speechToText |
maxAudioMinutes | 120 | Per-run speech-to-text cap |
maxMinutesPerEpisode / truncateLongEpisodes | 180 / false | Skip or truncate very long episodes |
onlyNewEpisodes / monitorId | false | Monitor mode |
publishedAfter, titleFilter | Episode filters | |
language | auto | Publisher-transcript language and STT language hint |
vocabulary | Names/terms to spell correctly (show and episode titles always used) | |
outputFormats | all | text, segments, llmText, srt, vtt, markdown |
includeChapters | true | Podcasting 2.0 chapters |
Output example
{ "status": "succeeded", "podcastTitle": "Podnews Daily", "episodeTitle": "WTF returns in visual form", "publishedAt": "2026-10-20T07:00:00.000Z","durationSeconds": 356, "transcriptSource": "publisher", "publisherFormat": "vtt", "language": "en-gb", "wordCount": 880,"segments": [{ "start": 0, "end": 4.2, "text": "From our free daily newsletter..." }], "chargedEvent": "publisher-transcript", "charged": true }
The OUTPUT record summarises the run: counts, audioMinutesCharged, errorTypes, stoppedBy.
Accuracy and coverage
Tested October 2026 on Apify cloud across 11 podcast hosts and SRT, VTT, JSON and HTML transcripts in English, German and Spanish; Apple show and episode links; episode pages; spending caps; and invalid inputs. You are charged only for delivered transcripts; failed rows are free.
- Speech-to-text word error rate against the publisher's own transcript: English 2.4% and 3.0%, Spanish 10.2%, German 16.9% (much of the gap is number spelling and errors in the reference).
- Long episodes: a 100-minute episode transcribes in about 25 seconds, with chunks cut at pauses.
- Misses: Spotify-only shows are not supported. Speech-to-text output has no speaker labels.
FAQ
Is the speech-to-text accurate? It uses Whisper large-v3 (turbo as automatic fallback). See the measured word error rate under Accuracy and coverage. Names improve when you pass them in vocabulary.
Do you store audio? No. Audio is processed in the run's temporary storage and deleted when the episode is done.
Copyright: transcripts belong to the shows. Use them for research, search, accessibility and personal use; credit the show when quoting.