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.
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
API at a glance
The whole thing on one screen: one request, one response, every parameter.
Quickstart
Your first transcript in three calls.
Authentication and keys
Keys, scopes, and what each one grants.
One URL, any source
How each platform is resolved, and the two caveats.
Webhooks
Stop polling. Be told when work finishes.
Agents & MCP
Let an assistant call this account directly.
Reference
| Resource | Endpoints |
|---|---|
| Transcriptions | POST GET DELETE /api/v1/transcriptions |
| Uploads | POST /api/v1/uploads |
| Exports | GET /api/v1/transcriptions/{id}?format=… |
| Show notes, chapters, translation | POST /api/v1/transcriptions/{id}/show-notes /chapters /translate |
| Webhooks | GET POST /api/v1/webhooks, PATCH DELETE /{id} |
| Usage | GET /api/v1/usage |
| MCP server | POST /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.