Docs

YoutubeToText developer documentation

The same engine the site runs on, as 4 REST endpoints and an MCP server. Queue a video, poll the job, read the text.

Three steps

  1. 1. Get a token. It lives on your account page and carries your minutes. Your API token.
  2. 2. Queue a video. The call answers straight away with a job id. The work runs after it.
  3. 3. Poll the job until its state is done or failed, then read the text off it.
curl
curl -X POST https://api.youtubetotext.ai/v1/api/transcribe \
  -H "Authorization: Bearer ytt_<your-token>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'

The pages

What stays the same

Everything lives under /v1/ on https://api.youtubetotext.ai. Fields get added, and a job can pick up a new state, so read what you need and ignore the rest: today there are 12. Anything that would break a caller goes behind a new prefix, and this page says so before it happens.

The minutes are the same minutes as the site. A job queued here appears in your library, and one started in the browser can be read back through the API.