# YoutubeToText > Transcripts, subtitles and translations from a YouTube link. The same engine > is available as a REST API and an MCP server, on the same minutes as the site. Accuracy is measured monthly and published, rather than claimed: https://youtubetotext.ai/accuracy/ ## Developer documentation - [Start here](https://youtubetotext.ai/docs/): What the API does, how a job works, and where to get a token. - [Quickstart](https://youtubetotext.ai/docs/quickstart/): Token, one request, one poll, your first transcript. - [Authentication](https://youtubetotext.ai/docs/authentication/): Bearer tokens, where they come from, and what a 401 means. - [API reference](https://youtubetotext.ai/docs/api-reference/): Every endpoint, its parameters and what comes back. - [Jobs and polling](https://youtubetotext.ai/docs/jobs-and-polling/): The twelve states, how often to poll, and reading the result. - [Errors](https://youtubetotext.ai/docs/errors/): Status codes, the validation shape, and jobs that fail after 200. - [Minutes and limits](https://youtubetotext.ai/docs/pricing-and-limits/): What a call costs in minutes, and every ceiling worth knowing. - [Python](https://youtubetotext.ai/docs/python/): A working script, and how this differs from reading captions. - [n8n, Make, Zapier](https://youtubetotext.ai/docs/integrations/): The same two calls, as nodes, with the wait in between. ## API Base URL: https://api.youtubetotext.ai Machine-readable spec: https://youtubetotext.ai/openapi.json Authentication: a bearer token from https://youtubetotext.ai/account/api/ - `POST /v1/api/transcribe`: Queue one video and get a job id back. - `GET /v1/api/transcription/{id}`: Read a job: its state while it runs, its text when it is done. - `POST /v1/api/subtitles`: Queue one video and get SRT and WebVTT cues back. - `POST /v1/api/burn-subtitles`: Queue one video and get a video with the captions rendered into it. A queue call answers 200 with a job id before any work happens. Poll the job until its state is done or failed; a job that failed puts the reason on `error` and is not charged for. The states are: waiting, preparing, downloading, converting, uploading, processing, merging, aligning, translating, burning, done, failed. ## MCP Server: https://api.youtubetotext.ai/mcp Works with Claude, ChatGPT, Cursor and Cline. It signs in through the account, so no token is needed: https://youtubetotext.ai/developers/mcp/ ## Product - [Transcription](https://youtubetotext.ai/transcription/): transcripts with speaker labels and timestamps - [Subtitles](https://youtubetotext.ai/subtitles/): SRT and WebVTT, or captions burned into the video - [Pricing](https://youtubetotext.ai/pricing/): plans, credit packs, and what a minute costs - [FAQ](https://youtubetotext.ai/faq/)