Skip to content
Tidewell Software
Media Transcriber

Transcribe a podcast from its RSS feed

Paste a feed or Apple Podcasts link; get text, timestamps and SRT for each episode.

Steps

  1. Get an API token. Apify Console → Settings → API & Integrations. Export it as APIFY_TOKEN.
  2. Install the client. pip install apify-client
  3. Add the feed. RSS URL or Apple Podcasts show or episode link in mediaUrls.
  4. Choose episodes. maxEpisodesPerFeed, newest first; filter by title or date.
  5. Drop the sample limit. Remove maxDurationMinutes for whole episodes.

Input

input.json
{
  "mediaUrls": ["https://librivox.org/rss/1022"],
  "maxEpisodesPerFeed": 1,
  "maxDurationMinutes": 1
}

Run it

run.py
import os

from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("tidewell/media-transcriber").call(run_input={
    "mediaUrls": [
        "https://librivox.org/rss/1022"
    ],
    "maxEpisodesPerFeed": 1,
    "maxDurationMinutes": 1
})

for ep in client.dataset(run["defaultDatasetId"]).iterate_items():
    if ep["status"] == "succeeded":
        print(ep["podcast_title"], ep["episode_title"])
        print(ep["text"])

Output

Run on 9 November 2026: 1 minute of audio, $0.006 at list price.

Dataset row (trimmed)
{
  "media_id": "media-0001",
  "status": "succeeded",
  "source_url": "https://librivox.org/rss/1022",
  "source_type": "rss",
  "media_url": "https://www.archive.org/download/man_property_librivox/manofproperty_00_galsworthy_64kb.mp3",
  "title": "Preface",
  "podcast_title": "Man of Property (Forsyte Saga Vol. 1), The by John Galsworthy (1867 - 1933)",
  "episode_title": "Preface",
  "duration_secs": 504.215,
  "transcribed_secs": 60,
  "billed_minutes": 1,
  "model": "base",
  "language": "en",
  "language_probability": 0.981,
  "text": "Preface to the Man of Property. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please go to LibriVox.org. Recording by Andy Menter.\n\nThe Forsight Sag...",
  "word_count": 100,
  "segments": [
    {"id": 0, "start": 3.12, "end": 5.44, "text": "Preface to the Man of Property."},
    {"id": 1, "start": 6.95, "end": 8.71, "text": "This is a LibriVox recording."}
  ],
  "srt_url": "https://api.apify.com/v2/key-value-stores/orlUpnLTDD6nzOb2W/records/media-0001-manofproperty_00_galsworthy_64kb.srt?signature=...",
  "processing_secs": 4.1
}

Options

model
base (default), small for names and accents, large-v3-turbo
episodeTitleFilter
Only titles containing this text; | for alternatives
episodesPublishedAfter
YYYY-MM-DD or 30 days
task
translate gives English from any language

Use it from Claude or ChatGPT

Apify MCP server, this actor only
https://mcp.apify.com/?tools=tidewell/media-transcriber
Claude
Settings → Connectors → Add custom connector. Paste the URL, sign in to Apify
Claude Code
claude mcp add apify "https://mcp.apify.com/?tools=tidewell/media-transcriber" -t http
ChatGPT
Add a custom MCP server with the URL and OAuth
Then ask
Use tidewell/media-transcriber to transcribe the latest episode of this podcast feed and write show notes from it.

FAQ

Can it transcribe Spotify or YouTube links?

No. Downloading from those platforms breaks their terms, and Spotify audio is DRM-protected, so those links fail with unsupported_platform and aren't charged. Spotify-exclusive shows have no public feed.

Pricing

Pay per event, from the actor's live pricing on 9 November 2026.

Price
$0.004 per audio minute (base), $0.009 (small), $0.025 (large-v3-turbo). $0.002 run start (4 GB).
Free
Failed downloads, broken files, files with no speech