# YouTube Transcript

```json
{
  "name": "YouTube Transcript",
  "slug": "youtube_transcript",
  "url": "https://composio.dev/toolkits/youtube_transcript",
  "markdown_url": "https://composio.dev/toolkits/youtube_transcript.md",
  "logo_url": "https://logos.composio.dev/api/youtube_transcript",
  "categories": [
    "entertainment & media"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-20T15:34:51.026Z"
}
```

![YouTube Transcript logo](https://logos.composio.dev/api/youtube_transcript)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with YouTube Transcript MCP or direct API to retrieve captions, store transcripts, check job status, and resolve playlist or channel video metadata through natural language.

## Summary

YouTube Transcript is a REST API for retrieving, storing, and reading YouTube video captions and transcript metadata.
Use it to turn YouTube videos, playlists, and channels into searchable transcript data.

## Categories

- entertainment & media

## Toolkit Details

- Tools: 9

## Images

- Logo: https://logos.composio.dev/api/youtube_transcript

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for YouTube Transcript.
  - Setup:
    - Configure Api Key credentials for YouTube Transcript.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Summarize transcript for this YouTube video
- Fetch captions for playlist videos
- List stored transcript language options

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `YOUTUBE_TRANSCRIPT_GET_STORED_TRANSCRIPT` | Get Stored Transcript | Read a transcript already stored in the connected account without submitting new transcription work or consuming retrieval credits. |
| `YOUTUBE_TRANSCRIPT_GET_VIDEO_TRANSCRIPT` | Get Video Transcript | Fetch captions for one YouTube video and store the resulting transcript in the connected account. This consumes provider credits, but never starts ASR. The tool waits up to 20 seconds for asynchronous caption jobs; if one is still processing, use GET_VIDEO_TRANSCRIPT_JOB_STATUS with the job_id from the timeout. |
| `YOUTUBE_TRANSCRIPT_GET_VIDEO_TRANSCRIPT_JOB_STATUS` | Get Video Transcript Job Status | Read one transcript job's current processing, completed, failed, or requires-ASR-confirmation state without creating work or waiting. Use this one-shot read when GET_VIDEO_TRANSCRIPT times out, passing the same include flags to recover the requested transcript shape. |
| `YOUTUBE_TRANSCRIPT_GET_VIDEO_TRANSCRIPTS_BATCH` | Get Video Transcripts Batch | Fetch and store captions for 1-10 YouTube videos. Each uncached video can consume provider credits, so cost scales with the request size. ASR never starts. This creates one batch and waits up to 20 seconds for a terminal result; if it is still processing, use GET_VIDEO_TRANSCRIPTS_BATCH_STATUS with the batch_id from the timeout. |
| `YOUTUBE_TRANSCRIPT_GET_VIDEO_TRANSCRIPTS_BATCH_STATUS` | Get Video Transcripts Batch Status | Read the current state and available per-video results for a transcript batch without creating work or waiting. Use this one-shot read to recover when GET_VIDEO_TRANSCRIPTS_BATCH times out while the provider is still processing. |
| `YOUTUBE_TRANSCRIPT_LIST_STORED_TRANSCRIPTS` | List Stored Transcripts | List and search transcripts already stored in the connected account, one bounded page at a time. |
| `YOUTUBE_TRANSCRIPT_LIST_TRANSCRIPT_LANGUAGES` | List Transcript Languages | List stored languages and YouTube translation target languages for one owned video transcript. |
| `YOUTUBE_TRANSCRIPT_RESOLVE_CHANNEL_VIDEOS` | Resolve Channel Videos | Requires Basic or higher. Resolve a YouTube channel into bounded upload metadata without transcribing the videos. This may count against the account's monthly channel allowance. |
| `YOUTUBE_TRANSCRIPT_RESOLVE_PLAYLIST_VIDEOS` | Resolve Playlist Videos | Requires Basic or higher. Resolve a YouTube playlist into bounded video metadata without transcribing the videos. This may count against the account's monthly playlist allowance. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute YouTube Transcript Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute YouTube Transcript actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Retrieve and store the English transcript for YouTube video dQw4w9WgXcQ, then summarize the key points'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Retrieve and store the English transcript for YouTube video dQw4w9WgXcQ, then summarize the key points'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for YouTube Transcript
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to YouTube Transcript tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Retrieve and store the English transcript for YouTube video dQw4w9WgXcQ, then summarize the key points')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Retrieve and store the English transcript for YouTube video dQw4w9WgXcQ, then summarize the key points'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native YouTube Transcript Integration

- Supports both YouTube Transcript MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable caption and transcript workflows
- Rich coverage for retrieving captions, storing transcripts, checking jobs, reading languages, and resolving playlist or channel video metadata

### 2. Managed Auth

- Secure API key handling without hard-coding YouTube Transcript credentials in your agent code
- Central place to manage, scope, and revoke YouTube Transcript access
- Per user and per environment credentials, so your dev, staging, and production agents stay cleanly separated

### 3. Agent Optimized Design

- Tools are designed so AI agents can clearly understand when to fetch captions, check batch status, or read stored transcripts
- Reliable schemas help reduce messy tool calls when agents work with video IDs, playlist IDs, channel metadata, and transcript languages
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access YouTube Transcript
- Scoped, least privilege access to transcript retrieval and stored caption data
- Full audit trail of agent actions to support review, compliance, and debugging

## Use YouTube Transcript with any AI Agent Framework

Choose a framework you want to connect YouTube Transcript with:

None listed.

## Related Toolkits

- [Youtube](https://composio.dev/toolkits/youtube) - YouTube is a leading video-sharing platform for uploading, streaming, and discovering content. It empowers creators and businesses to reach global audiences and monetize their work.
- [AllTrails MCP](https://composio.dev/toolkits/alltrails_mcp) - AllTrails MCP is a trail discovery service for hiking, biking, and running routes. Use it to find reviewed trails, photos, maps, difficulty info, and route details fast.
- [Amara](https://composio.dev/toolkits/amara) - Amara is a collaborative platform for creating and managing subtitles and captions for videos. It helps make content accessible and multilingual for global audiences.
- [Captions](https://composio.dev/toolkits/captions) - Captions provides the Mirage API for generating videos, speech, and styled captions. Use it to automate polished video creation, voiceovers, and captioning from one API.
- [Cats](https://composio.dev/toolkits/cats) - Cats is an API with a huge library of cat images, breed data, and cat facts. It makes finding adorable cat photos and trivia effortless for your apps and users.
- [Chatfai](https://composio.dev/toolkits/chatfai) - Chatfai is an AI platform that lets users talk to AI versions of fictional characters from books, movies, and games. It offers an engaging, interactive experience for fans to chat, roleplay, and explore creative dialogues.
- [Cincopa](https://composio.dev/toolkits/cincopa) - Cincopa is a multimedia platform for uploading, managing, and customizing videos, images, and audio. It helps you deliver engaging media experiences with robust APIs and flexible integrations.
- [Dungeon fighter online](https://composio.dev/toolkits/dungeon_fighter_online) - Dungeon Fighter Online (DFO) is an arcade-style, side-scrolling action RPG packed with dynamic combat and progression. Play solo or with friends to battle monsters, complete quests, and upgrade your characters.
- [Elevenlabs](https://composio.dev/toolkits/elevenlabs) - Elevenlabs is an advanced AI voice generation platform for lifelike, multilingual speech synthesis. Perfect for creating natural voices for videos, apps, and business content in seconds.
- [Elevenreader](https://composio.dev/toolkits/elevenreader) - Elevenreader is an AI-powered text-to-speech service by ElevenLabs that converts written content into lifelike audio. It enables fast, natural audio generation from any text.
- [Epic games](https://composio.dev/toolkits/epic_games) - Epic Games is a leading video game publisher and digital storefront, known for Fortnite and Unreal Engine. It lets gamers access, manage, and purchase games all in one place.
- [Eranol](https://composio.dev/toolkits/eranol) - Eranol is an API-driven media conversion service for video, audio, and FFmpeg workflows. It helps teams automate reliable transcoding, format conversion, and media processing at scale.
- [Fal.ai](https://composio.dev/toolkits/fal_ai) - Fal.ai is a generative media platform offering 600+ AI models for images, video, voice, and audio. Developers use Fal.ai for fast, scalable access to cutting-edge generative AI tools.
- [Giphy](https://composio.dev/toolkits/giphy) - Giphy is the largest online library for searching and sharing GIFs and stickers. Instantly add vibrant animated content to your apps, chats, and workflows.
- [Headout](https://composio.dev/toolkits/headout) - Headout is a global platform for booking travel experiences, tours, and entertainment. It helps users discover and secure activities at top destinations, all in one place.
- [Imagekit io](https://composio.dev/toolkits/imagekit_io) - ImageKit.io is a cloud-based media management platform for image and video delivery. Instantly optimize, transform, and deliver visuals globally via a lightning-fast CDN.
- [Listennotes](https://composio.dev/toolkits/listennotes) - Listennotes is a powerful podcast search engine with a massive global database. Discover, search, and curate podcasts from around the world in seconds.
- [News api](https://composio.dev/toolkits/news_api) - News api is a REST API for searching and retrieving live news articles from across the web. Instantly access headlines, coverage, and breaking stories from thousands of sources.
- [RAWG Video Games Database](https://composio.dev/toolkits/rawg_video_games_database) - RAWG Video Games Database is the largest video game discovery and info service. Instantly access comprehensive details, ratings, and release dates for thousands of games.
- [Seat geek](https://composio.dev/toolkits/seat_geek) - SeatGeek is a live event platform offering APIs for concerts, sports, and theater data. Instantly access events, venues, and performers info for smarter ticketing and discovery.

## Frequently Asked Questions

### Do I need my own developer credentials to use YouTube Transcript with Composio?

Yes, YouTube Transcript requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
