Skip to content

Turn any video into a clean transcript

One API for YouTube and TikTok transcripts. Timed segments from creator and platform captions, exported as JSON, SRT, VTT or TXT.

YouTube and TikTok captions on every plan, the free trial included. AI transcription for Instagram, uploads and direct links is not available yet.

TranscriptDock is one transcript API built to feed your product and your agents

Processing
POST/v1/jobs
Idempotency-Key: 7f2c9a31
{
  "source": {
    "url": "https://youtu.be/q3Vt7kX2mNc"
  },
  "mode": "captions_only"
}

202 Accepted. Job 3f9c2a1e is queued at resolve. Creator captions come first, and a video without captions fails with NO_CAPTIONS instead of an empty transcript. One credit, charged only when it succeeds.

  • resolveVideo found · 2 caption tracksRunning
  • captionsCreator captions · enQueued
  • finalize58 segments with timingQueued
  • job.succeededSigned webhook to your endpointWaiting
status succeededcredits_charged 1result_id 9b41c2d0
Paste a YouTube or TikTok link to try it free
  • One job for every source. Every source goes through POST /v1/jobs and comes back in the same job shape, from resolve to a finished transcript.
  • Honest by default. Every job reports its status and stage. A video without captions fails with a typed error like NO_CAPTIONS, never an empty success.
  • Delivered where you work. Signed webhooks, exports as JSON, SRT, VTT or TXT, and an MCP server for Claude, Cursor and VS Code.

Start with 50 free caption credits and no card. Your first transcript is one request away.

Start free
What TranscriptDock does

Send the link. TranscriptDock handles the transcript.

From a YouTube or TikTok link, TranscriptDock reads the captions and hands back one transcript shape with timing, ready to export or pass to an agent.

1.0Extract

TranscriptDock pulls the text from wherever the video lives

Paste a YouTube or TikTok link and get the creator's own captions back for 1 credit. Uploads and direct media links need AI transcription, which is not available yet. Every source comes back in the same shape.

1.1

YouTube captions

Turn a YouTube link into the video's own captions, timed per cue, for 1 credit.

How it works

Send a watch, youtu.be, Shorts or live link with mode captions_only. TranscriptDock takes the captions the creator uploaded first and YouTube's automatic track when there are none, unless you change caption_preference. Ask for specific tracks with caption_languages, up to 5 in order. A video without captions fails with NO_CAPTIONS and costs nothing.

Try this request

POST /v1/jobs
curl -X POST https://api.transcriptdock.com/v1/jobs \
  -H "Authorization: Bearer td_live_YOUR_KEY" \
  -H "Idempotency-Key: yt-dQw4w9WgXcQ" \
  -H "Content-Type: application/json" \
  -d '{
    "source": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },
    "mode": "captions_only",
    "caption_languages": ["en", "es"]
  }'

What you get

  • Creator captions first, then YouTube's automatic track
  • Segment timing on every caption cue
  • 1 credit per transcript, nothing charged on NO_CAPTIONS
2.0Transcribe

When there are no captions, TranscriptDock says so and charges nothing

AI transcription of the audio is not available yet, so a video without captions fails with NO_CAPTIONS instead of returning an empty transcript. Every transcript still carries segment timing, and batches take whole lists of links in one request.

2.1 · Not available yet

Auto mode

Use captions when a video has them and transcribe the audio when it does not.

How it works

Set mode to auto. TranscriptDock looks for captions first and charges 1 credit when it finds them. When there are none it falls back to AI transcription at 2 credits per started minute, with a 60 second minimum. max_credits caps what one job may spend: if the measured media would cost more, the job fails with BUDGET_EXCEEDED before anything is charged. Auto mode is not available yet: until it is, GET /v1/capabilities reports auto as false for YouTube and TikTok and a job that asks for it returns CAPABILITY_UNAVAILABLE.

Try this request

POST /v1/jobs
curl -X POST https://api.transcriptdock.com/v1/jobs \
  -H "Authorization: Bearer td_live_YOUR_KEY" \
  -H "Idempotency-Key: my-first-job" \
  -H "Content-Type: application/json" \
  -d '{
    "source": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },
    "mode": "auto",
    "max_credits": 40
  }'

What you get

  • Captions when they exist, AI transcription when they do not
  • A billing.kind field that says which one ran
  • A hard spend cap on every job
3.0Deliver

TranscriptDock delivers the result wherever your product needs it

Export any stored transcript as JSON, SRT, VTT or TXT without paying again. Get a signed webhook when a job finishes, let agents call TranscriptDock over MCP, and read your credit balance from the API.

3.1

Exports

Download any stored transcript as JSON, SRT, VTT or TXT without paying again.

How it works

The format is picked when you read the transcript, not when you submit, so one job serves every format. GET /v1/transcripts/{id}/export with format txt, srt, vtt or json returns the file. Exports are free and unlimited for as long as your plan keeps the transcript: 7 days on the trial, 30 on Starter, 90 on Pro and Scale.

Try this request

GET /v1/transcripts/{id}/export
ID=22222222-2222-4222-8222-222222222222
curl "https://api.transcriptdock.com/v1/transcripts/$ID/export?format=srt" \
  -H "Authorization: Bearer td_live_YOUR_KEY"

What you get

  • SubRip and WebVTT subtitles
  • Plain text, one segment per line
  • The full transcript object as JSON

Learn the transcript workflow

Read a guide, then run the same steps from the dashboard, the API or your agent.

All the tools your transcript pipeline needs

Captions, batches, webhooks and an MCP server, all behind one API key.

A captions only job: the video had creator captions, so it finished for 1 credit. A video without captions fails with NO_CAPTIONS and costs nothing.

Job detail

Built for every kind of transcript work

Show notes, subtitles, clip search, research and agents all start with the words in a video.

Start free with 50 credits. Grow on one balance.

One credit per caption transcript, and one balance for every plan. No card to start, and exports never cost extra.

Trial

Free trial, no card

Free

  • 50 caption credits every 30 days
  • YouTube and TikTok captions
  • TXT, JSON, SRT and VTT exports
  • 10 submits a minute
  • 7 day retention

Starter

For side projects

$19per month

  • 2,000 credits a month
  • $8 per 1,000 extra credits
  • Batches of 10 links
  • 60 submits a minute
  • 30 day retention

Pro

Recommended

For growing products

$49per month

  • 6,000 credits a month
  • $7 per 1,000 extra credits
  • Batches of 25 links
  • 120 submits a minute
  • 90 day retention

Scale

For high volume pipelines

$149per month

  • 20,000 credits a month
  • $6 per 1,000 extra credits
  • Batches of 50 links
  • 300 submits a minute
  • 90 day retention

Straight answers before your first link

YouTube (watch, Shorts and youtu.be links) and TikTok video links. Uploaded audio and video files and direct media URLs are not available yet.

In captions-only mode you get a typed NO_CAPTIONS error and no credit is spent; we never return an empty transcript as a success. AI transcription of the audio is not available yet.

One balance for everything: a caption transcript costs 1 credit. Every account gets 50 free credits every month; paid plans include 2,000 to 20,000 credits a month and can buy more at $6 to $8 per 1,000, with volume discounts.

Batches up to 50 links on the highest plan, 10 API keys per workspace, and per plan submit rates. Results are retained for 7 to 90 days depending on the plan.

Transcripts stay private to your workspace and are purged on the retention window you choose. Delete any transcript at any time.

A single region at launch. Pricing is proposed until launch and nothing is charged before then.