PodcastsToText

API documentation

Transcribe podcasts, YouTube and audio files over HTTP. Scoped keys, signed webhooks, an OpenAPI spec, and no SDK to install.

Everything the dashboard does, an HTTP call can do too. Post a link, get a transcript in any of six formats, then generate show notes, chapters or a translation from it.

The whole idea, in one call
curl -X POST https://podcaststotext.com/api/v1/transcriptions \
  -H "Authorization: Bearer $PTT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://open.spotify.com/episode/4rOoJ6Egrf8K2IrywzwOMk"}'

What makes this API different

  • One field for every source. Spotify, Apple Podcasts, YouTube, TikTok or a direct audio file: send the link a human would paste.
  • One flow, always. Every create returns 202 with an id. No branching on length, no separate endpoint for long audio.
  • Errors that tell you what to do. Every failure carries how_to_fix, because a bare 401 makes an automated client retry forever.
  • Budget headers on every response, not just on a 429, so a client can pace itself before it is refused.
  • Signed webhooks with real retries. Seven attempts over 20 hours, stable delivery ids, HMAC signatures with replay protection.

Start here

Reference

ResourceEndpoints
TranscriptionsPOST GET DELETE /api/v1/transcriptions
UploadsPOST /api/v1/uploads
ExportsGET /api/v1/transcriptions/{id}?format=…
Show notes, chapters, translationPOST /api/v1/transcriptions/{id}/show-notes /chapters /translate
WebhooksGET POST /api/v1/webhooks, PATCH DELETE /{id}
UsageGET /api/v1/usage
MCP serverPOST /api/mcp, POST /api/mcp/chatgpt

The full machine-readable spec is at `/api/v1/openapi.json` — point a code generator at it and skip writing a client.