⚡ Built for AI agents & LLM pipelines

YouTube transcripts, one API call away

Pull clean transcripts, search videos and channels, and track new uploads — without scraping, proxies, or breakage. Simple credits, no rate-limit roulette.

Works with ChatGPT Claude MCP Clients Any HTTP stack
500K+
transcripts processed daily
SummarizerBot Verified production user
Processes ~1.2M transcripts/month to power video summaries for its AI assistant.
ResearchDeck Verified production user
Indexes ~400K videos/month across creator channels for semantic search.

Everything your agent needs from YouTube

Seven focused endpoints. Predictable credit pricing. Responses shaped for LLM consumption.

Get Transcripts

1 credit / request

Fetch the full transcript of any public video as clean JSON or plain text, with or without timestamps.

  • Auto-detects available caption languages
  • Timestamps optional — perfect for chunking
  • Video metadata included on request
Read the docs
REQUEST
GET /v1/youtube/transcript?video_url=https://youtu.be/dQw4...
Authorization: Bearer tl_live_xxx
RESPONSE
{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [
    { "text": "Welcome back to the channel...", "start": 0.0, "duration": 3.2 }
  ]
}

Search YouTube

1 credit / request

Query YouTube for videos, channels, or playlists and get structured results with continuation-token pagination.

  • Filter by result type
  • Stable pagination via continuation tokens
  • Thumbnails, durations, and view counts included
Read the docs
U
Find me recent talks about vector databases and summarize the best one.
A
Searching YouTube for vector database talks…
→ GET /v1/youtube/search?q=vector+databases+talk+2026
→ GET /v1/youtube/transcript?video_url=…
Found 18 results — the standout is a 40-min conference talk. Here's the summary: …

Search Within a Channel

1 credit / request

Scope your search to a single channel — by handle, ID, or URL — to find exactly the videos you need.

  • Accepts @handle, channel ID, or full URL
  • Same clean result shape as global search
  • Paginate through the entire back catalog
Read the docs
REQUEST
GET /v1/youtube/channel/search?channel=@fireship&q=rust
RESPONSE
{
  "results": [
    { "video_id": "5C_HPTJg5ek", "title": "Rust in 100 Seconds" }
  ],
  "continuation": "EpcDEg1..."
}

Browse Channel Videos

1 credit / page

List every upload on a channel, newest first, with full metadata — ideal for building channel-wide indexes.

  • Complete upload history, paginated
  • Consistent ordering for incremental syncs
  • Pairs with transcripts for bulk ingestion
Read the docs
REQUEST
GET /v1/youtube/channel/videos?channel=@veritasium
RESPONSE
{
  "videos": [ /* 30 per page */ ],
  "continuation": "4qmFsgKF..."
}

Track New Uploads

Free

Poll a channel's latest uploads at no credit cost — the cheapest way to trigger downstream workflows.

  • Zero credits — poll as often as you like within rate limits
  • Returns the newest uploads with publish times
  • Diff against your store to detect fresh videos
Read the docs
REQUEST
GET /v1/youtube/channel/latest?channel=@mkbhd
RESPONSE
{
  "latest": [
    { "video_id": "aX3jf9Qw1kE", "published": "2 hours ago" }
  ]
}

Extract Playlists

1 credit / page

Expand any playlist into its full video list — courses, series, and curated collections become ingestible datasets.

  • Handles playlists of any length
  • Position, title, and duration per entry
  • Feed results straight into the transcript endpoint
Read the docs
REQUEST
GET /v1/youtube/playlist/videos?playlist=PLBmc...
RESPONSE
{
  "playlist_id": "PLBmc...",
  "videos": [ /* ordered entries */ ],
  "continuation": null
}

Three ways to plug in

Use plain REST, connect an MCP server to your AI client, or let an agent skill set everything up for you.

⚙️

REST API

A single base URL and Bearer-token auth. Works from any language or runtime in under a minute.

TERMINAL
curl "https://api.transcriptlayer.com/v1/youtube/transcript?video_url=..." \
  -H "Authorization: Bearer tl_live_xxx"
🔌

MCP Server

Give Claude, ChatGPT, or any MCP client direct access to every endpoint as native tools.

TERMINAL
claude mcp add transcriptlayer \
  -e TL_API_KEY=tl_live_xxx \
  -- npx @transcriptlayer/mcp
🤖

Agent Skill

One command installs a skill that teaches your coding agent when and how to call the API.

TERMINAL
npx skills add transcriptlayer/agent-skill

One plan. Every feature.

No tiers to decode — every subscription includes all endpoints. Pay only for the credits you use.

Monthly
$5/month
1,000 credits included · $0.005 per extra credit
  • All 7 endpoints, full access
  • Transcripts in JSON or plain text
  • MCP server & agent skill included
  • Credits roll over 1 month
  • Email support
Start Monthly

Estimate your monthly cost

Drag to your expected volume — most requests cost 1 credit.

10,000 credits / month
1K250K500K750K1M
$50.00
est. monthly total
$0.0050
per credit

Need more than 1M credits/month or custom terms? Talk to us about a custom plan →

Frequently asked questions

Short answers to what developers ask before integrating.

What is TranscriptLayer?

TranscriptLayer is a YouTube transcript & discovery API built for AI applications, agents, and LLM pipelines. One HTTP call returns clean transcripts in JSON or plain text — no scraping, proxies, or browser automation. It also offers video search, channel search and resolution, channel video listings, and playlist videos.

How much does the YouTube transcript API cost?

One plan with every feature: $5/month including 1,000 credits, then $0.005 per extra credit. Most requests cost 1 credit. Annual billing is $54/year (about $4.50/month). No feature tiers — every subscription includes all endpoints.

Am I billed for failed requests?

No. Failed requests are never billed — if a request fails, the credits are automatically refunded to your account.

Does TranscriptLayer work with Claude, ChatGPT, and MCP agents?

Yes. Every plan includes an MCP server and agent skill, so MCP clients such as Claude can call TranscriptLayer directly. It also works from any HTTP stack — cURL, Python, Node.js, or any language with an HTTP client.

Do I need a YouTube or Google API key?

No. You authenticate with your TranscriptLayer API key only (Authorization: Bearer header). No Google Cloud project or YouTube Data API setup is required.

Is TranscriptLayer affiliated with YouTube?

No. TranscriptLayer is an independent service and is not affiliated with or endorsed by YouTube or Google.