Transcript retrieval and speech-to-text are two different categories. Use the right one for the job and pay a fraction of the cost.
Last updated June 2026
Spoken is a podcast transcript retrieval API, not a speech-to-text service. Where Deepgram, AssemblyAI, and Whisper transcribe raw audio files you provide, Spoken returns the existing transcript for any published podcast episode as clean Markdown with real speaker names. The two categories solve different problems: transcription APIs work on your own audio; transcript retrieval works on the published podcast catalog.
| Transcription API | Spoken | |
|---|---|---|
| Input | An audio file you upload (.mp3, .wav) | Episode ID or search query |
| Output | JSON transcript with word timings | Markdown with speaker names + timestamps |
| Speaker detection | Diarization labels: "Speaker 1", "Speaker 2" | Real names: "Andrew Huberman", "Lex Fridman" |
| Cost per podcast episode | ~$0.40–$1.50/hr + your pipeline overhead | $0.08–$0.15 flat, regardless of length |
| Time to first result | Audio length + processing minutes | Under 30 seconds |
| Best for | Your own audio: meetings, calls, recordings | Existing published podcasts |
| Examples | Deepgram, AssemblyAI, Whisper, Rev.ai, Speechmatics | Spoken |
Fair question. For a single episode the answer is often yes — the transcript exists, and an afternoon of scripting will reach it. That part is real, and it is not where this falls down.
There is no list of which episodes have one. Availability varies episode by episode inside the same show, and nothing publishes that list. A do-it-yourself archive therefore means trying every episode of every show to discover which ones return anything. Spoken's episode listing is that list — it is free, it returns metadata only, and it names the episodes of a show that have a transcript available.
The real names are not in the source. What gets published carries anonymous speaker turns — a first speaker, a second speaker — not "Andrew Huberman" and "Matt Walker". Attaching real names is a separate pass over the whole transcript, and it is the difference between a wall of labelled turns and something you can search by person. "The transcript already exists" and "the transcript is usable" are not the same claim.
So the honest version: one episode is an afternoon, a show is a project, and a shelf of shows is a system you maintain. You do not have to take that on trust either — search a show you care about, free and without a key, and you will see both in about five seconds: how many episodes are actually reachable, and what the names look like once they are resolved.
If an agent's job is "fetch the transcript of yesterday's All-In Podcast episode," the most efficient path is one call to Spoken. Routing the same task through a transcription API means locating the audio file, downloading it (often 50–100 MB), uploading it to the speech-to-text service, waiting for processing, post-processing the diarization output to attach real names, and paying 5–10x more — for an episode whose transcript already exists.
That's not a knock on transcription APIs. It's the wrong tool for retrieval. The agent equivalent is calling an OCR service to "read" a webpage instead of fetching the HTML.
A one-hour podcast typically costs the following to transcribe end-to-end:
For published podcasts, that's typically a 5–10x cost reduction once you account for the diarization-and-naming work the others don't do.
# Search and fetch — two calls, no audio file involved
curl -H "x-api-key: pt_demo" https://spoken.md/search?q=huberman+sleep
curl -H "x-api-key: pt_demo" https://spoken.md/transcripts/{id}
Response is text/markdown with real names in bold and timestamps per turn. No diarization output to parse, no audio to download.
No. Spoken returns the existing transcript for a podcast episode. Transcription APIs like Deepgram, AssemblyAI, and Whisper take an audio file you provide and produce a transcript from scratch.
No. Spoken only works on published podcast episodes. For your own audio — meetings, calls, recordings — use a speech-to-text service like Deepgram or AssemblyAI.
Spoken doesn't transcribe audio on demand. It serves transcripts that have already been produced and processed, so the cost is one fetch per episode rather than per minute of compute. It also includes real speaker names, which transcription APIs don't.
Spoken analyses the transcript for name mentions in context — host introductions, guest references, and dialogue cues — and labels each speaker turn with the actual person's name. When names cannot be inferred from context, generic labels like "Host" or "Guest" are used.
For one episode, often yes. Two things make it harder to scale than it looks. There is no published list of which episodes have a transcript, so finding them means trying every episode of every show — Spoken's episode listing does that for you and costs nothing. And the real speaker names are not in the source: what gets published carries anonymous speaker turns, so attaching names is a separate pass you would have to build and run yourself. Searching a show shows you both, free.
It can try, and on most shows what it comes back with is the episode description rather than a transcript. The useful framing is not Spoken against your agent — it is your agent with Spoken against your agent without it. Install the skill with npx skills add https://spoken.md, add the MCP server with npx spoken-mcp, or hand it the OpenAPI spec. It then gets episode listings and resolved speaker names that scraping does not produce.
Yes. Many agents do both: Spoken for published podcasts, Deepgram or AssemblyAI for user-uploaded audio. They solve different parts of the problem.
Clean Markdown, Content-Type: text/markdown; charset=utf-8, with speaker names in bold and timestamps per turn. A typical one-hour episode produces 8,000–15,000 tokens — sized to fit in most LLM context windows in a single call.
TL;DR: If you're working with podcasts, Spoken is the right primitive — cheaper, faster, with speaker names already attached. If you're working with your own audio, use Deepgram, AssemblyAI, or Whisper. They're complementary tools for different jobs.
"I used Spoken to add every My First Million episode to my knowledge base, with a cron to pull new ones. Now I can enjoy the podcast on a run, then chat with Claude about it later — every episode saved and accessible in my Claude sessions."
— Marcus Taylor
Thousands of transcripts fetched by people building searchable podcast archives
No signup required — use API key pt_demo on any endpoint.
$0.10 per transcript. Credits never expire. Errors are never charged.