Audio Transcription and Speech to Text for Podcasts avatar

Audio Transcription and Speech to Text for Podcasts

Pricing

from $4.80 / 1,000 audio minute (standard)s

Go to Apify Store
Audio Transcription and Speech to Text for Podcasts

Audio Transcription and Speech to Text for Podcasts

Turn podcast RSS feeds, Apple Podcasts links and audio or video files into text with timestamps. Whisper speech to text in about 100 languages, with SRT and VTT subtitles. Get only new episodes on a schedule. No login. $6 per 1,000 audio minutes. Maintained by CleanScrape.

Pricing

from $4.80 / 1,000 audio minute (standard)s

Rating

0.0

(0)

Developer

CleanScrape

CleanScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Turn podcasts and audio files into text. Paste a podcast RSS feed, an Apple Podcasts link or a link to an audio or video file, and get the full transcript with timestamps, plus TXT, SRT and VTT files. It uses Whisper speech to text, works in about 100 languages and needs no login or API key of your own.

  • Podcast transcription: the newest episodes of any public feed, with show, episode title, date and episode number.
  • Audio to text: MP3, M4A, WAV, FLAC, OGG, MP4, MOV, WebM and other files, from any link that opens without logging in.
  • Only new episodes: give a scheduled check a watch name and each run transcribes only what has appeared since the last one.
  • Timestamps and subtitles: every spoken segment with its start and end, as a table and as SRT and VTT files.

Price: $6 per 1,000 audio minutes on Standard, $15 per 1,000 on Accurate. A one-hour episode is $0.36 or $0.90. Files that fail are not charged.

Watch the walkthrough

A NASA podcast goes in and timestamped text comes out. In this 75-second demo, a 52-minute episode becomes 8,022 words, with subtitles, on a real run.

Quick start

  1. Paste a feed or file link under Podcasts and audio links.
  2. Choose Standard or Accurate.
  3. For feeds, set Episodes per feed. It starts at 1, the newest episode.
  4. Click Start. An hour of speech takes about 10 minutes on Standard and 30 on Accurate.

Choose a ready-to-run example

ExampleWhat you get
Transcribe the latest episode of a podcastThe newest episode of a show as text with timestamps, from its Apple Podcasts link
Turn an audio file into text with timestampsOne MP3 link to a transcript with TXT, SRT and VTT files
Weekly check: transcribe only new podcast episodesSchedule it, and each run transcribes only what has appeared since the last one
Transcribe a Japanese news podcastAccurate quality with the language found automatically

What you can paste

You haveExample
A podcast RSS feedhttps://feeds.megaphone.fm/abc123
An Apple Podcasts showhttps://podcasts.apple.com/us/podcast/name/id1078765985
An Apple Podcasts episodethe same link with ?i=1000… at the end
A podcast's websitemost sites name their feed, and the Actor finds it
A file linkhttps://example.com/interview.mp3, a signed S3 or Google Cloud link
A Dropbox or Google Drive share linkset to "anyone with the link". This is the way to use a file from your computer

You can also paste several links at once, or a share message with a link in it.

Not supported: YouTube, TikTok, Instagram, Spotify and similar sites. They play media on their own pages and their terms don't allow downloading it. If a show is on Spotify, paste its Apple Podcasts link or RSS feed instead.

Output

One row per episode or file. The Output tab shows a table, and every format can be exported from Storage > Dataset.

FieldWhat it is
podcastTitle, podcastAuthorThe show, from its feed
titleEpisode title, or the file name
episodeNumber, seasonNumberWhen the feed numbers them
publishedAt, episodeUrlFrom the feed
duration, durationSecondsLength of the audio
language, languageConfidenceLanguage code, and how sure the detection was
textThe full transcript
segmentsEach spoken segment: start, end, text
wordCountEmpty for languages written without spaces, such as Chinese
txtUrl, srtUrl, vttUrl, jsonUrlThe transcript as files
quality, model, minutesChargedWhat was used and charged

Example segment:

{ "start": 12.4, "end": 16.1, "text": "Welcome back to the show." }

Use it from the API

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cleanscrape/podcast-transcription").call(run_input={
"sources": ["https://podcasts.apple.com/us/podcast/mindshift-podcast/id1078765985"],
"maxEpisodesPerFeed": 2,
"quality": "standard",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["duration"], item["text"][:200])

Monitor a podcast

  1. Set Only new episodes: watch name, for example weekly-podcasts.
  2. Save it as a task and add a schedule under Schedules.

The first run transcribes the newest episodes, up to Episodes per feed. Each later run transcribes only episodes that have appeared since. A check with nothing new costs $0.003 per feed, so a daily check of one feed is about $0.09 a month before any episodes. An episode that fails is tried again on the next runs, up to three times.

Pricing

StandardAccurate
Whisper modelbasesmall
Per audio minute$0.006$0.015
30-minute episode$0.18$0.45
1-hour episode$0.36$0.90
10 hours$3.60$9.00
Time for 1 hour of speechabout 10 minutesabout 30 minutes

Apify's Bronze, Silver and Gold plans get 10%, 15% and 20% off. Each file is charged by its started minutes, so 61 seconds counts as 2 minutes. Silence and music count too, because the file is charged by its length.

Reading a podcast feed costs $0.003 per feed, each run, whether or not it has new episodes. Direct file links have no such charge.

Nothing is charged for a file that fails, has no speech or would go over your limits. Set Maximum cost per run under Run options to cap a run: the Actor checks each file's price first and stops before going over.

What to expect

  • Accuracy depends on the audio. Clear speech comes out well on Standard. Choose Accurate for names, accents, crowded rooms and languages other than English, and add names under Names and terms to listen for.
  • Some podcast hosts refuse automated downloads. In a test of 134 shows, the newest episode of 127 could be reached. The rest, mostly on Buzzsprout and Captivate, refused or answered "not found". Those episodes are listed in the run report and their audio is not charged. The Actor doesn't pretend to be a podcast app to get around this.
  • Speakers are not labelled. The transcript doesn't say who is speaking.
  • One language per file. It is detected from samples across the whole file, so an ad in another language at the start doesn't decide it. Parts in a second language come out poorly. Set Language if you know it.
  • Music and singing are mostly skipped. Sung words may come out wrong or not at all.
  • Long files need time. The run stops before its timeout, and a file that would not finish is left out and not charged. The default timeout is 4 hours. For several long files on Accurate, raise it under Run options.
  • Memory: 4 GB is the default. Each 4 GB adds a CPU core, so 8 GB works about twice as fast at about the same cost.

Run report

Each run saves REPORT, a readable page listing every source and episode with what happened to it, and SUMMARY, the same as JSON. Both are in the run's Storage > Key-value store.

Common questions

Does this use an official API?

It reads public podcast RSS feeds, which exist so that apps can download episodes, and Apple's public podcast lookup. Transcripts are made by Whisper on Apify's servers. Your audio isn't sent to any other service.

Do I need an OpenAI key or a login?

No. The Whisper models run inside the Actor.

Can I export to Excel or CSV?

Yes. Use Export on the Output tab, or the Storage > Dataset tab for all formats. Long transcripts can pass Excel's limit of 32,767 characters per cell: use txtUrl or the JSON export for those.

How much will a run cost?

Add up the audio minutes and multiply: see Pricing. Maximum cost per run under Run options caps it.

Can I transcribe a private feed?

Yes, if the feed link works without logging in, as many supporter feeds do. The part of a link after ? is hidden in rows and reports.

Podcasts and audio belong to their creators. Transcribing for your own research, notes or accessibility is common, but publishing a transcript may need the owner's permission. You are responsible for how you use the audio and the transcripts.

Support

Questions or a problem? Open an issue on the Issues tab or write to contact.cleanscrape@gmail.com.

If the Actor was useful, an honest review on its Store page helps other people find it.

CleanScrape is independent and not affiliated with Apple, OpenAI or any podcast host.

More tools from CleanScrape