Podcast Transcription and Speech to Text API, No Login · Apify
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

4 days ago

Last modified

Features

Limited permissions

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 Apify only. 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 Apify only if your audio must stay on Apify.
  3. For feeds, set Episodes per feed. It starts at 1, the newest episode.
  4. Click Start. An hour of speech takes about 2 minutes on Standard and 30 on Apify only.

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 podcastThe latest NHK radio news, 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. model shows the Whisper model that made the transcript

Keeping results: a run's table and transcript files, including the txtUrl links, last for your Apify plan's data retention period, which is 7 days on the Free plan. Export what you need, or rename the run's dataset and key-value store under Storage to keep them indefinitely.

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

StandardApify only
Whisper modellarge-v3-turbosmall
Where the audio goesCloudflare Workers AIStays on Apify
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 2 minutesabout 30 minutes

Standard has a daily capacity. When it's used up or the service is unavailable, files run on Whisper base on Apify instead, at the same price. An hour of speech then takes about 10 minutes, and model shows base, or large-v3-turbo and base for a file that used both.

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, unless a run with a watch name finds a file it has already transcribed: that costs the same $0.003.

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. On a 52-minute NASA episode, scored against NASA's own transcript, Standard made 4.2% word errors and Apify only 5.2%. Crowded rooms and strong accents come out worse. 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.
  • Languages. On Standard the language is detected for each 90 seconds or so of audio, so a part in a second language comes out in that language, and language shows the main one. Apify only uses one language per file, detected from samples across it, and a part in a second language comes 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 Apify only, raise it under Run options.
  • Memory: 4 GB is the default. On Apify, 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. On Standard, the audio goes in short pieces to Cloudflare Workers AI, which runs Whisper. Cloudflare says it doesn't keep what it processes or train on it. On Apify only, Whisper runs on Apify's servers and your audio isn't sent to any other service.

Do I need an OpenAI key or a login?

No. Everything is included in the price.

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, Cloudflare or any podcast host.

More tools from CleanScrape