PodcastTranscript API
Transcribe any podcast and read our public transcription library over a simple REST API.
Base URL: https://backend.podcasttranscript.ai/api/v1
Authentication
Create an API key from your profile → API tab. Send it as a Bearer token:
curl https://backend.podcasttranscript.ai/api/v1/me \ -H "Authorization: Bearer ptk_live_your_key"
Read endpoints work without a key (rate-limited to 60 requests/minute per IP). Creating a transcription requires a key.
Pricing & quotas
Only creating a transcription consumes quota or credits — reads are free. Dedup hits (already-transcribed audio) are never charged.
Loading pricing…
Errors
Every response is JSON. Errors look like:
{ "ok": false, "error": { "type": "quota_exceeded", "message": "…" } }Types: auth_required (401), invalid_api_key (401), quota_exceeded (402), duration_limit (403), not_found (404), rate_limited (429), validation_error (400).
Transcribe
POST /api/v1/transcriptions
Queue a transcription from a direct audio_url or a spotify_url. Returns a job; poll it with GET /api/v1/jobs/{id}. If we already transcribed that audio, you get the finished transcript immediately (and aren't charged).
GET /api/v1/jobs/{id}
Check a job's status: queued → processing → completed (with transcription_id + slug) or failed.
Read transcripts
GET /api/v1/transcriptions
List public transcriptions. Query: page, limit (≤100), category, language, q (search), sort (newest|popular).
GET /api/v1/transcriptions/{id}
Fetch one transcript by its stable id. Add ?include=segments for timestamped segments.
Account
GET /api/v1/me
Your plan, usage this period, remaining quota, and credit balance.