Podcast Transcript API
GET /v1/episode/{id}/transcript
Get an episode’s transcript as a single normalized JSON response: a flat text string plus segments with startTime, endTime, speaker, and text.
Publishers ship transcripts (via the Podcasting 2.0 <podcast:transcript> tag) in whatever format they like — JSON, WebVTT, SRT, or plain text — and often list several. PodKit picks the best available (JSON › VTT › SRT › text), fetches it, and parses it into one shape, so your code never has to care which format a given show used.
Example
curl
curl "https://podkitapp.com/v1/episode/42/transcript" \
-H "x-api-key: pk_your_key"Response
{
"episodeId": 42,
"format": "vtt",
"text": "Welcome back to the show. Today we're talking about AI agents...",
"segments": [
{ "startTime": 0.0, "endTime": 4.2, "speaker": "Host", "text": "Welcome back to the show." },
{ "startTime": 4.2, "endTime": 9.8, "speaker": "Guest", "text": "Thanks for having me." }
]
}
The format field reports the source format that was parsed. If the transcript can’t be fetched or parsed, you get a graceful 200 with text/segments as null plus sourceUrl and parseError: true. Episodes with no published transcript return 404. Parsed transcripts are cached for 7 days.
Send your key in the x-api-key header. Don’t have one? Get a free key (500 requests/month, no card).
Who uses it
Transcripts are the highest-value asset for AI builders: embed text for semantic search and RAG pipelines, or chunk segments to keep timestamps and speakers for citations that link back to the exact moment in the audio. AI agents use it to answer questions grounded in what was actually said, without running their own speech-to-text. New to it? Read the walkthrough: How to get a podcast transcript via API.
Get a free API key Read the docs See pricing