Getting Started with Transcript Bunny
Welcome to Transcript Bunny. Get transcripts from public YouTube videos that have captions.
What is Transcript Bunny?
Transcript Bunny is a powerful tool that extracts transcripts from YouTube videos instantly. Whether you're a content creator, researcher, student, or developer, we make it easy to get accurate transcripts with timestamps, AI summaries, and more.
Key Features
- Instant Transcripts: Get transcripts in seconds with accurate timestamps
- AI Summaries: Generate structured summaries with key points and takeaways
- Chat with Videos: Ask questions about the video content using AI
- Multiple Formats: Download as TXT, JSON, or SRT subtitle files
- API Access: Integrate transcripts into your applications
- Click-to-Jump: Click any timestamp to jump to that moment in the video
Quick Start
- 1. Sign Up: Create a free account and get 15 credits/month
- 2. Paste URL: Copy a public YouTube video URL with captions and paste it into the dashboard
- 3. Get Transcript: Your transcript appears with timestamps
- 4. Use AI Features: Generate summaries or chat with the video content
- 5. Download: Export in your preferred format (TXT, JSON, SRT)
Creating Transcripts
How to Create a Transcript
- Navigate to Dashboard: Go to your dashboard from the main navigation
-
Paste YouTube URL: In the "Create New Transcript" section, paste a public YouTube video URL with captions. Supported formats:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_ID
- Click Create: Hit the "Create Transcript" button and your transcript will be processed
- View Progress: Most videos finish in a few seconds. Longer videos can take more time.
Credit Usage
The first time your account requests a video, it costs 1 credit, even if another account already has it stored. Replaying a transcript you already own is free. Failed requests do not consume credits.
Why Might a Transcript Fail?
- Video doesn't have captions/subtitles enabled
- Video is private or age-restricted
- Channel has disabled transcript access
- Temporary service issues
Managing Your Transcripts
Viewing Transcripts
Navigate to the Transcripts page to see all your transcripts. Completed transcripts are stored durably and normally remain available for account replay for a long time. There is currently no automatic expiration job; replay still requires the stored transcript to be available.
- Search by video title or channel name
- Filter by status (completed, processing, queued, failed)
- Filter by channel
- Switch between grid and list view
- Click any transcript to view the full content
Click-to-Jump Feature
When viewing a transcript, you can click any timestamp to jump directly to that moment in the video. This makes it easy to:
- Navigate to specific sections quickly
- Verify transcript accuracy
- Create video clips or highlights
- Take notes with precise timestamps
Status Indicators
AI-Powered Features
AI Summary
Generate a structured summary of any video transcript with key points, main topics, and takeaways.
How to Use:
- Open any completed transcript
- Click the "AI Summary" tab
- The AI will analyze the content and generate a summary (10-15 seconds)
- Review the structured summary with key points and takeaways
What You Get:
- Main topics and themes
- Key points and insights
- Important takeaways
- Actionable conclusions
Pro Tip
AI summaries are perfect for long videos, lectures, or tutorials where you need a quick overview.
Chat with Video AI
Ask questions about the video content and get intelligent answers based on the transcript.
How to Use:
- Open any completed transcript
- Click the "Chat with Video AI" tab
- Type your question in the chat input
- Get instant answers based on the video content
Example Questions:
- "What are the main points discussed?"
- "Explain the concept of X mentioned in the video"
- "What solutions were proposed for Y?"
- "Summarize the section about Z"
Downloading Transcripts
Export your transcripts in multiple formats for different use cases.
Available Formats
TXT Format
Plain text format with timestamps. Perfect for:
- Note-taking apps
- Text editors
- Documentation
- Blog posts
JSON Format
Structured data format with metadata. Perfect for:
- Developers and APIs
- Data analysis
- Custom applications
- Integration workflows
SRT Format
Standard subtitle format. Perfect for:
- Video editing software
- Subtitle files
- Media players
- Accessibility
Open a completed transcript on the web app and use the download buttons there. Exports are available at /transcript/VIDEO_ID/download?format=txt|json|srt. The REST API returns JSON; it does not serve TXT or SRT files.
Plans & Billing
Available Plans
Free
- 15 credits/month
- API & MCP access (5 req/min)
- AI summaries and chat
Starter
- 1,000 credits/month
- API & MCP access (50 req/min)
- AI summaries and chat
Pro
- 3,000 credits/month
- API & MCP access (100 req/min)
- AI summaries and chat
Business
- 10,000 credits/month
- API & MCP access (200 req/min)
- AI summaries and chat
Annual Billing
Save 33% with annual billing - pay for 8 months, get 12 months!
How to Upgrade
- 1. Navigate to Billing page
- 2. Choose your plan (monthly or annual)
- 3. Click "Upgrade to [Plan Name]"
- 4. Complete checkout with Polar
- 5. Start using your new credits immediately
Managing Your Subscription
From the Billing page, you can:
- View current plan and usage
- See billing period and renewal date
- Upgrade or downgrade plans
- Update payment method
- Cancel subscription (access billing portal)
API Authentication
Learn how to authenticate your API requests with Transcript Bunny.
API Keys
Transcript Bunny uses API keys to authenticate requests. All API requests must include your API key in the Authorization header.
Available on All Plans
API keys are available on every plan, including Free. Free plan usage is limited to 5 requests/minute and your monthly credit balance. Upgrade for higher limits.
Creating an API Key
- 1. Navigate to API Keys page
- 2. Enter a name for your API key
- 3. Click "Create API Key"
- 4. Copy your key immediately (it won't be shown again)
API Key Format: Your API keys will look like this:
tb_live_...
API Key Management
You can revoke your API keys at any time from the API Keys page. API keys use your account credits.
Using Your API Key
Include your API key in the Authorization header of every request:
Security Best Practices
- • Never share your API keys publicly
- • Store keys securely as environment variables
- • Rotate keys regularly
- • Delete unused keys immediately
Get Transcript Endpoint
Retrieve transcripts for public YouTube videos that have captions, programmatically.
Endpoint
Request Body
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| videoUrl | string | Yes | YouTube video URL |
| timestamps | boolean | No | Set true to also receive transcript.timestampedText — the transcript as lines prefixed with [mm:ss] timestamps, ready to paste into an LLM prompt |
Code Examples
Other Endpoints
Get a stored transcript
Returns a transcript this account already owns. Optional query timestamps=true adds transcript.timestampedText. Does not charge credits. 404 if this account has not transcribed the video.
Usage
Returns plan, credits.total/used/remaining, request counts, and billingPeriod. Same Bearer authentication as transcribe.
Response Format
Understanding the API response structure.
Success Response
When a transcript is successfully retrieved, you'll receive 200 OK for an account replay (0 credits) or a global cache hit (1 credit if this account has not acquired it yet), or 201 Created for a fresh upstream fetch:
Response Fields
| Field | Type | Description |
|---|---|---|
| transcript | object | Transcript data with segments |
| transcript.text | string | Complete transcript as plain text |
| transcript.segments | array | Array of transcript segments with timestamps |
| transcript.timestampedText | string | Only when timestamps=true: transcript as [mm:ss]-prefixed lines (also on GET /api/v1/transcripts/:videoId?timestamps=true) |
| video | object | Video id, url, title, and channel name when available |
| source | string | fetched (new upstream fetch), global_cache (already stored for another account), or account_replay (this account already owns it) |
| creditsCharged | number | 0 for an account replay. 1 for a fresh fetch or a global cache hit for an account that has not requested this video before. |
| creditsRemaining | number | Your remaining credits after this request (only included when credits are charged) |
Segment Object Structure
| Field | Type | Description |
|---|---|---|
| text | string | Transcript text for this segment |
| start | number | Start time in seconds |
| end | number | End time in seconds |
| timestamp | string | Formatted timestamp (MM:SS) |
Special Cases
Account replay
If this account already owns the transcript, you receive 200 OK with no credit charge:
A global cache hit is different: the transcript already exists on Transcript Bunny, but this account has never requested it. That still costs 1 credit and returns source: "global_cache".
Error Handling
Learn about error codes and how to handle them.
Error Response Format
When an error occurs, the API returns an appropriate HTTP status code and error details:
Common Error Codes
401 Unauthorized
Invalid or missing API key.
Or: { "error": "Invalid API key" }
400 Bad Request
Invalid YouTube URL or missing parameters.
Or validation error: { "success": false, "error": { "issues": [...] } }
402 Payment Required
Insufficient credits to process the request.
404 Not Found
Video not found or transcript not available.
Or: { "error": "Transcript not available", "message": "...", "creditsCharged": 0 }
429 Too Many Requests
Rate limit exceeded.
500 Internal Server Error
Server error processing your request.
Best Practices
- Always check the HTTP status code first
- Implement exponential backoff for rate limit errors
- Log error responses for debugging
- Check credits before making requests
- Handle network errors gracefully
Rate Limits
Understanding API rate limits and best practices.
Rate Limit Rules
To ensure fair usage and system stability, we implement per-minute rate limits that vary by plan:
Free
5
requests per minute
Starter
50
requests per minute
Pro
100
requests per minute
Business
200
requests per minute
Credit Limits
Rate limits are separate from your credit allocation. Even with available credits, you must respect rate limits.
Response Headers
Successful API responses include rate limit information in the headers:
Note: Values shown are for Starter plan. Limits vary by plan. Headers are included on successful responses (200 OK). Rate limit errors (429) return error details in the JSON response body instead.
Header Descriptions
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests allowed in current window |
| X-RateLimit-Remaining | Requests remaining in current window |
| X-RateLimit-Reset | Unix timestamp in milliseconds when the rate limit resets |
Handling Rate Limits
Example code for handling rate limits with exponential backoff:
Note: Rate limit errors return a 429 status with error details in the JSON response body, including retryAfter (seconds until the rate limit window resets).
Automation & Integration Tools
Use Transcript Bunny with popular automation platforms.
No-Code Integrations
Call the Transcript Bunny REST API from HTTP modules in Zapier, Make, n8n, or Pipedream. There is no native Zapier/Make app; you send POST /api/v1/transcribe with a Bearer token.
Zapier
Integrate with 5000+ apps using Zapier's Webhooks module.
Quick Setup:
- 1. Create a new Zap in Zapier
- 2. Choose "Webhooks by Zapier" as action
- 3. Select "POST" method
- 4. URL:
https://transcriptbunny.com/api/v1/transcribe - 5. Add header:
Authorization: Bearer YOUR_API_KEY - 6. Body:
{"videoUrl": "YOUR_VIDEO_URL"}
Make (Integromat)
Build advanced automations with Make's visual builder.
Quick Setup:
- 1. Create a new scenario in Make
- 2. Add "HTTP" module
- 3. Choose "Make a request"
- 4. Method: POST
- 5. URL:
https://transcriptbunny.com/api/v1/transcribe - 6. Headers: Authorization with Bearer token
- 7. Body: JSON with video URL
n8n
Self-hosted workflow automation with full API control.
Quick Setup:
- 1. Create new workflow in n8n
- 2. Add "HTTP Request" node
- 3. Method: POST
- 4. URL:
https://transcriptbunny.com/api/v1/transcribe - 5. Authentication: Header Auth
- 6. Header Name: Authorization
- 7. Header Value: Bearer YOUR_API_KEY
Pipedream
Low-code integration platform with built-in triggers.
Quick Setup:
- 1. Create new workflow in Pipedream
- 2. Add HTTP request step
- 3. Configure POST request
- 4. Add Authorization header
- 5. Use Node.js code for advanced parsing
Example Workflows
Content Creation Workflow
Trigger: New video uploaded to YouTube → Get transcript → Generate summary with ChatGPT → Create blog post draft → Save to Notion
Educational Workflow
Trigger: New video in playlist → Get transcript → Extract key concepts → Create flashcards → Add to Anki deck
Research Workflow
Trigger: Manual trigger with URL → Get transcript → Analyze with AI → Extract citations → Save to Zotero
MCP (Model Context Protocol)
Connect AI assistants like Claude and Cursor directly to Transcript Bunny to fetch YouTube transcripts.
What is MCP?
The Model Context Protocol (MCP) is an open standard that allows AI assistants to connect to external tools and data sources. With our MCP server, you can ask Claude or other AI agents to fetch YouTube transcripts directly in your conversations.
MCP Endpoint
https://transcriptbunny.com/mcp
Requirements
- A Transcript Bunny account on any plan, including Free (5 requests/minute, drawn from your monthly credits)
- MCP Client: ChatGPT, Claude, Cursor IDE, or any MCP-compatible client
- No API key needed for AI connectors - you sign in with your account via OAuth. API keys remain available for scripts and CI.
Connect in One Step (OAuth)
The easiest way to connect: paste our MCP URL into your AI app and sign in. No API keys to create, copy, or rotate.
In ChatGPT go to Settings → Connectors → Add custom connector. In Claude go to Settings → Connectors → Add custom connector.
https://transcriptbunny.com/mcpYour browser opens to Transcript Bunny. Sign in, review the permissions, and click Allow access. That's it - your AI assistant can now fetch transcripts on your behalf.
OAuth uses short-lived tokens scoped to your account. Transcript fetches made by your AI apps use your plan's credits, exactly like API key usage. You can disconnect anytime from your AI app's connector settings.
Available Tools
Our MCP server provides two tools for fetching YouTube transcripts.
transcribe
Fetch a single transcript
Fetches the transcript for a single YouTube video. Costs 1 credit the first time this account requests the video. Replays of a transcript this account already owns are free. A transcript stored for another account still costs 1 credit.
Parameters
| Name | Type | Description |
|---|---|---|
| videoId | string | YouTube video ID (e.g., dQw4w9WgXcQ) |
| withTimestamps | boolean | Default true. Set false for plain text without [mm:ss] prefixes. |
Example Prompt
"Get the transcript for this YouTube video: https://youtube.com/watch?v=dQw4w9WgXcQ"
batch_transcribe
Fetch multiple transcripts
Fetches transcripts for multiple YouTube videos in one call (max 10). Each video costs 1 credit the first time this account requests it. Account replays are free. A transcript stored for another account still costs 1 credit.
Parameters
| Name | Type | Description |
|---|---|---|
| videos | array | Array of objects with videoId or videoUrl |
Example Prompt
"Get the transcripts for these YouTube videos: https://youtube.com/watch?v=abc123 and https://youtube.com/watch?v=xyz789"
Claude Desktop Setup
Connect Transcript Bunny to Claude Desktop for seamless transcript fetching.
Important
Claude Desktop requires remote MCP servers to be added via the Settings UI, not the config file. The config file only supports local servers.
Setup Steps
-
1
Open Claude Desktop Settings
Click on your profile icon → Settings → Connectors
-
2
Add Integration
Click "Add Integration" or "Add Connector"
-
3
Enter the Integration URLhttps://transcriptbunny.com/mcp
-
4
Authenticate
Your browser opens to Transcript Bunny - sign in and click Allow access. No API key needed. (If your client only supports header-based auth, you can still use an API key from the API Keys page as a Bearer token.)
-
5
Start Using
Start a new conversation and ask Claude to fetch a transcript
Example Prompt
"Use Transcript Bunny to get the transcript for https://youtube.com/watch?v=dQw4w9WgXcQ and summarize the key points"
Cursor IDE Setup
Use Transcript Bunny with Cursor IDE's AI assistant.
Configuration
Cursor supports remote MCP servers via HTTP. Add this to your MCP configuration:
Config File Locations
- Project:
.cursor/mcp.jsonin your project root - Global:
~/.cursor/mcp.jsonin your home directory
Replace YOUR_API_KEY
Get your API key from the API Keys page and replace YOUR_API_KEY in the config.
After Setup
- 1. Restart Cursor IDE
- 2. Open the AI chat (Cmd/Ctrl + L)
- 3. Ask the AI to fetch a transcript using Transcript Bunny
Other MCP Clients
Transcript Bunny works with any MCP-compatible client that supports Streamable HTTP transport.
Connection Details
Use these details to configure any MCP client:
| Setting | Value |
|---|---|
| Endpoint URL | https://transcriptbunny.com/mcp |
| Transport | Streamable HTTP |
| Authentication | Authorization: Bearer YOUR_API_KEY |
Rate Limits Apply
The same rate limits from your plan apply to MCP requests. Check the Rate Limits section in API Docs for details.
Need Help?
If you're having trouble setting up MCP with your client, check that your client supports the Streamable HTTP transport (not just stdio). For further assistance, contact our support team.