Transcript API

Pull YouTube transcripts into your own scripts and AI sessions.

Transcript API

LiftMonkey can pull the existing English captions from YouTube and Rumble videos into a script, a notebook, or an AI session doing research. One authenticated request returns plain text and SRT.

You do not need a YouTube, Google, or Rumble account for this. Captions come from public player tracks. The only credential involved is a LiftMonkey token, which authenticates you to us.

Getting a token

Go to API tokens in your account, give the token a name, and copy it.

The value is shown once. We store only a one-way hash of it, so we cannot show it to you again or recover it if you lose it — revoke it and create another. Revoking takes effect immediately.

Tokens are available on every plan, including Free. Each plan has a daily call limit; you'll get a clear 429 with a Retry-After if you reach it.

Making a request

curl -X POST https://www.liftmonkey.app/api/v1/transcripts \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://youtu.be/VIDEO_ID"}'

For Rumble, use a video URL such as https://rumble.com/v7g0vv2-example.html in the same request.

You get back the transcript as text, the same content as timestamped srt subtitles, and context about the video — title, channel, duration, and a word count so you know how long it is before you use it.

When it doesn't work

Errors come back with a machine-readable error field so a script can tell the difference between "try again" and "give up":

  • no_transcript_available — the video genuinely has no captions (music, no speech, or the creator disabled them). Permanent.
  • video_unavailable — removed, private, members-only, age-restricted, or region-blocked. Permanent.
  • unsupported_url — not a YouTube or Rumble video link we can read.
  • platform_disabled — Rumble has been temporarily disabled by the operator.
  • rate_limited — you've hit the per-minute or daily limit. Retry after the delay given.
  • extraction_failed — a temporary problem reaching the video or its captions. Worth retrying.

Using it from Claude (MCP)

LiftMonkey also speaks the Model Context Protocol, so a Claude session can fetch transcripts as a built-in tool instead of you writing HTTP calls. Add this to your .mcp.json:

{
  "mcpServers": {
    "liftmonkey": {
      "type": "http",
      "url": "https://www.liftmonkey.app/mcp",
      "headers": { "Authorization": "Bearer ${LIFTMONKEY_API_TOKEN}" }
    }
  }
}

Set LIFTMONKEY_API_TOKEN in your environment and the session gets a get_youtube_transcript tool for YouTube. Use the HTTP endpoint above for Rumble transcripts.

Scope

English transcripts for single YouTube and Rumble videos. Playlists, channels, other languages, and other platforms aren't supported yet. Videos with no captions can't be transcribed — we read existing captions, we don't transcribe audio ourselves.