You've listened to hundreds of hours. You still can't search a word of it. Spoken returns any episode — or a show's whole back catalog — as Markdown with real speaker names, ready for your notes or your LLM.
pt_demo — first transcript in 30 seconds.
12,000+ transcripts fetched by people building searchable podcast archives (August 2026)
"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
Two API calls. Search by text or paste a URL from Spotify, YouTube, or any podcast app — then fetch the full transcript.
# 1. Search for an episode
curl -H "x-api-key: pt_demo" \
https://spoken.md/search?q=huberman+sleep
# 2. Get the transcript
curl -H "x-api-key: pt_demo" \
https://spoken.md/transcripts/1000651996090
Response is text/markdown with speaker names and credit info in headers:
**Andrew Huberman** (0:00)
Welcome to the Huberman Lab podcast,
where we discuss science and science-based
tools for everyday life. Today my guest is
Dr. Matt Walker, professor of neuroscience
at UC Berkeley and author of Why We Sleep.
**Matt Walker** (0:45)
Thank you for having me, Andrew. Sleep is
one of those things where small changes to
your routine can have outsized effects on
both mental and physical health.
...
A show you follow has a run — sometimes hundreds of episodes, searchable once they're sitting in your notes or knowledge base. List them in one call, then loop them through the transcript endpoint:
# List every episode of a show (free — metadata only)
curl -H "x-api-key: pt_demo" \
https://spoken.md/podcasts/{podcastId}/episodes
Returns a JSON episodes array with an id for each — fetch them through /transcripts/{id} to build the full archive. Every /search result carries a podcastId, so you can pivot from any episode straight to its whole show.
Listing episodes costs nothing — you're charged only for transcripts you successfully fetch. A 300-episode back catalog is 300 credits: $30 at the 500-pack rate. Point the same call at a cron afterwards and new episodes land in your archive as they publish.
Doing this yourself for one episode is an afternoon. Doing it for a show's back catalog is a project — and speech-to-text APIs bill per minute of audio, so a few hundred episodes puts hundreds of hours on the meter before you've written a line of code to work out who's talking.
Spoken bills per episode, not per minute. One call returns speaker-labeled Markdown with real names, ready to drop straight into your notes or your LLM's context window. The back catalog stops being a project and becomes a loop.
Figuring out who is speaking is harder than transcribing what they say. Most tools punt — you get "Speaker 1," "Speaker 2," and a manual cleanup job. Spoken resolves speakers to their real names from context.
Speaker 1 (0:00)
Welcome to the podcast, where we discuss science and science-based tools for everyday life.
Speaker 2 (0:45)
Thank you for having me. Sleep is one of those things where small changes can have outsized effects.
**Andrew Huberman** (0:00)
Welcome to the podcast, where we discuss science and science-based tools for everyday life.
**Matt Walker** (0:45)
Thank you for having me. Sleep is one of those things where small changes can have outsized effects.
No post-processing, no manual cleanup, no guessing.
Seen enough? Your key is ready in 30 seconds.
# Agent skill (Claude Code, Cursor, Windsurf, etc.)
npx skills add https://spoken.md
# OpenAPI spec — works with any agent framework
https://spoken.md/.well-known/openapi.json
# llms.txt — automatic LLM discovery
https://spoken.md/llms.txt
# MCP server (Claude Desktop, Cursor, Cline, etc.)
npx spoken-mcp
$0.15 per transcript
$0.10 per transcript save 33%
$0.08 per transcript save 47%
For scripts & back-catalogues
Credits never expire. Errors are never charged. If it doesn't work, you don't pay.
Each transcript replaces roughly a dollar of transcription infrastructure. No subscription, no overage charges, no annual commitment.
Already have a key? Top up here — or your agent can do it automatically via the API.
Search by text or paste a URL from Spotify, YouTube, or any podcast app. Shows in other languages work too — Italian, German, Spanish, French and Portuguese among them — and each transcript comes back in the language it was recorded in, never translated. Availability varies episode by episode rather than by language, so search for your show: every episode it returns is one you can fetch.
Yes, and you don't need to hunt down each episode by hand. One call to /podcasts/{podcastId}/episodes lists every episode of a show that has a transcript available, and that call is free — it returns metadata only. Fetch them by ID from there: one credit each, and re-fetching an episode you already pulled is never charged again.
Speaker names are detected automatically by analyzing the transcript for name mentions — no manual lookup table or post-processing required. When real names cannot be determined from context, labels like "Host" or "Guest" are used as fallbacks.
Transcripts are returned as clean Markdown with speaker names in bold and timestamps per turn. A typical one-hour podcast episode produces 8,000–15,000 tokens — sized to fit in most LLM context windows in a single call. No proprietary markup, no timing artifacts, no post-processing needed.
Yes. Install the agent skill with npx skills add https://spoken.md, add it as an MCP server with npx spoken-mcp (Claude Desktop, Cursor, Cline, etc.), use the OpenAPI spec for any agent framework, or make a plain HTTP call — anything that can hit an API works.
Yes. Use the demo key pt_demo with any endpoint — no signup or payment needed. The demo key returns a full transcript for a sample episode so you can evaluate the format and quality before purchasing.
Paste your API key in the top-up form above, or let your agent handle it — the API response includes a top-up link when credits run out.
No. One credit per episode, whatever its length — a four-hour interview costs the same as a twenty-minute one. Nothing is billed per minute of audio, so a show with long episodes costs no more than a show with short ones.
Transcripts start at $0.15 each (100-pack for $15), with volume discounts: 500 for $50 ($0.10 each) or 2,000 for $160 ($0.08 each). Returning customers get lower top-up rates. Errors (404, 502) are never charged. No subscription — credits never expire.
Browse transcripts from popular shows:
Example transcripts by podcast → · Browse by topic →
From $0.08/transcript. No subscription, no expiry. Try with pt_demo first.