API Documentation
Transcribe, summarize, and search YouTube videos programmatically with the EasyTranscriber REST API. Signup includes 100 free credits, with no credit card required.
MCP Server (AI Tools)
Use EasyTranscriber as an MCP tool inside Claude Code, Cursor, or any MCP-compatible AI client. Access all YouTube data tools directly from your AI workflow.
Claude Code
claude mcp add --transport http easytranscriber \
https://mcp.easytranscriber.com/mcp \
--header "Authorization: Bearer et_your_api_key"Manual Config (Cursor, VS Code, etc.)
{
"mcpServers": {
"easytranscriber": {
"url": "https://mcp.easytranscriber.com/mcp",
"headers": {
"Authorization": "Bearer et_your_api_key"
}
}
}
}Available Tools
| Tool | Description | Credits |
|---|---|---|
| get_transcript | Transcribe a YouTube video | 1-2 |
| summarize_video | AI summary of a transcript | 1 |
| search_youtube | Search videos or channels | 1 |
| resolve_channel | Resolve @handle to channel info | Free |
| search_channel | Search within a channel | 1 |
| get_channel_videos | List all channel uploads | 1/page |
| get_channel_latest | Latest ~15 videos via RSS | Free |
| get_playlist_videos | List playlist videos | 1/page |
| get_comments | Get video comments | 1/page |
| check_credits | Check credit balance | Free |
Authentication
All API requests require a Bearer token. Create an API key from your API Keys page.
Authorization: Bearer et_your_api_keyKeys are prefixed with et_ and shown only once at creation. Store them securely.
Rate Limits
Each API key is limited to 30 requests per minute using a sliding window. Exceeding the limit returns a 429 status.
Error Format
All errors follow a consistent format:
{
"error": {
"code": "error_code",
"message": "Human-readable description"
}
}Endpoints
| Endpoint | Description | Credits |
|---|---|---|
| POST /api/v1/transcribe | Extract video transcript | 1 |
| POST /api/v1/summarize | AI-powered summary | 1 |
| GET /api/v1/youtube/search | Search YouTube videos or channels | 1 |
| GET /api/v1/youtube/channel/resolve | Resolve @handle/URL to channel ID | Free |
| GET /api/v1/youtube/channel/search | Search within a channel | 1 |
| GET /api/v1/youtube/channel/videos | Paginated channel uploads | 1/page |
| GET /api/v1/youtube/channel/latest | Latest 15 videos via RSS | Free |
| GET /api/v1/youtube/playlist/videos | Paginated playlist videos | 1/page |
| GET /api/v1/youtube/comments | Video comments with replies | 1/page |
| GET /api/v1/credits | Check credit balance | Free |
Transcription & Summarization
/api/v1/transcribeTranscribe a YouTube video. Cached transcripts are returned instantly at no credit cost.
Request Body
{ "url": "https://youtube.com/watch?v=..." }Response
{
"video_id": "dQw4w9WgXcQ",
"video_title": "Video Title",
"transcript": "Full transcript text...",
"method": "captions",
"cached": false,
"credits_used": 1
}curl -X POST https://www.easytranscriber.com/api/v1/transcribe \
-H "Authorization: Bearer et_your_api_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://youtube.com/watch?v=dQw4w9WgXcQ"}'/api/v1/summarizeGenerate an AI summary from a transcript. Costs 1 credit. Transcripts longer than 100K characters are truncated.
Request Body
{
"transcript": "Full transcript text...",
"video_id": "dQw4w9WgXcQ" // optional, links summary to transcription
}Response
{
"summary": "AI-generated summary...",
"video_id": "dQw4w9WgXcQ",
"credits_used": 1
}curl -X POST https://www.easytranscriber.com/api/v1/summarize \
-H "Authorization: Bearer et_your_api_key" \
-H "Content-Type: application/json" \
-d '{"transcript": "Your transcript text...", "video_id": "dQw4w9WgXcQ"}'YouTube Search
/api/v1/youtube/searchSearch YouTube videos or channels. Costs 1 credit per request.
Query Parameters
| q | Search query (required) |
| type | video or channel (default: video) |
| page_token | Pagination token from previous response |
Response
{
"results": [
{
"video_id": "dQw4w9WgXcQ",
"channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
"title": "Video Title",
"channel": "Channel Name",
"published_at": "2009-10-25T06:57:33Z",
"thumbnail": "https://i.ytimg.com/vi/..."
}
],
"next_page_token": "CAUQAA",
"credits_used": 1
}curl "https://www.easytranscriber.com/api/v1/youtube/search?q=nextjs+tutorial&type=video" \
-H "Authorization: Bearer et_your_api_key"Channel Endpoints
All channel endpoints accept @handle, channel URL (youtube.com/@handle), or raw channel ID (UCxxx) via the channel parameter.
/api/v1/youtube/channel/resolveResolve a channel @handle or URL to a channel ID and basic info.
FreeQuery Parameters
| channel | @handle, channel URL, or UC... ID (required) |
Response
{
"channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"name": "MrBeast",
"handle": "@MrBeast",
"subscribers": "300000000",
"thumbnail": "https://yt3.ggpht.com/..."
}curl "https://www.easytranscriber.com/api/v1/youtube/channel/resolve?channel=@MrBeast" \
-H "Authorization: Bearer et_your_api_key"/api/v1/youtube/channel/searchSearch for videos within a specific channel. Costs 1 credit.
Query Parameters
| channel | @handle, channel URL, or UC... ID (required) |
| q | Search query (required) |
| page_token | Pagination token from previous response |
Response
{
"channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"results": [
{
"video_id": "abc123",
"title": "Video Title",
"channel": "MrBeast",
"channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"published_at": "2026-01-15T12:00:00Z",
"thumbnail": "https://i.ytimg.com/vi/..."
}
],
"next_page_token": "CAUQAA",
"credits_used": 1
}curl "https://www.easytranscriber.com/api/v1/youtube/channel/search?channel=@MrBeast&q=challenge" \
-H "Authorization: Bearer et_your_api_key"/api/v1/youtube/channel/videosList all uploads from a channel with pagination. Costs 1 credit per page (up to 50 videos per page).
Query Parameters
| channel | @handle, channel URL, or UC... ID (required) |
| page_token | Pagination token from previous response |
Response
{
"channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"videos": [
{
"video_id": "abc123",
"title": "Video Title",
"published_at": "2026-01-15T12:00:00Z",
"thumbnail": "https://i.ytimg.com/vi/..."
}
],
"next_page_token": "CDIQAA",
"total_results": 1500,
"credits_used": 1
}curl "https://www.easytranscriber.com/api/v1/youtube/channel/videos?channel=@MrBeast" \
-H "Authorization: Bearer et_your_api_key"/api/v1/youtube/channel/latestGet the latest ~15 videos from a channel via RSS feed. Returns limited metadata (no view count or duration).
FreeQuery Parameters
| channel | @handle, channel URL, or UC... ID (required) |
Response
{
"channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"videos": [
{
"video_id": "abc123",
"title": "Video Title",
"published_at": "2026-03-05T12:00:00Z",
"thumbnail": "https://i.ytimg.com/vi/abc123/hqdefault.jpg"
}
]
}curl "https://www.easytranscriber.com/api/v1/youtube/channel/latest?channel=@MrBeast" \
-H "Authorization: Bearer et_your_api_key"Playlist Endpoints
/api/v1/youtube/playlist/videosList videos in a playlist with pagination. Costs 1 credit per page (up to 50 videos per page). Accepts a playlist URL or ID.
Query Parameters
| playlist | Playlist ID (PLxxx) or YouTube playlist URL (required) |
| page_token | Pagination token from previous response |
Response
{
"playlist_id": "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf",
"videos": [
{
"video_id": "abc123",
"title": "Video Title",
"published_at": "2026-01-15T12:00:00Z",
"thumbnail": "https://i.ytimg.com/vi/..."
}
],
"next_page_token": "CDIQAA",
"total_results": 42,
"credits_used": 1
}curl "https://www.easytranscriber.com/api/v1/youtube/playlist/videos?playlist=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf" \
-H "Authorization: Bearer et_your_api_key"Comments
/api/v1/youtube/commentsGet comments from a YouTube video. Returns top-level comments with replies. Costs 1 credit per page (up to 100 comment threads per page).
Query Parameters
| video | YouTube video URL or video ID (required) |
| max_results | Comment threads per page, 1-100 (default 20) |
| order | relevance (top comments, default) or time (newest first) |
| page_token | Pagination token from previous response |
Response
{
"video_id": "dQw4w9WgXcQ",
"comments": [
{
"author": "JohnDoe",
"text": "This is a great video!",
"likes": 42,
"published_at": "2026-01-15T12:00:00Z",
"updated_at": "2026-01-15T12:00:00Z",
"reply_count": 2,
"replies": [
{
"author": "JaneSmith",
"text": "I agree!",
"likes": 5,
"published_at": "2026-01-15T13:00:00Z",
"updated_at": "2026-01-15T13:00:00Z"
}
]
}
],
"next_page_token": "QURTSl...",
"total_results": 1523,
"credits_used": 1
}curl "https://www.easytranscriber.com/api/v1/youtube/comments?video=dQw4w9WgXcQ&max_results=10&order=relevance" \
-H "Authorization: Bearer et_your_api_key"Account
/api/v1/creditsCheck your current credit balance.
Response
{ "balance": 42 }curl https://www.easytranscriber.com/api/v1/credits \
-H "Authorization: Bearer et_your_api_key"Credit Costs
| Operation | Credits | Notes |
|---|---|---|
| Transcribe (cached) | 0 | Previously transcribed videos are free |
| Transcribe (< 2 hours) | 1 | Most videos |
| Transcribe (≥ 2 hours) | 2 | Long-form content, max 4 hours |
| Summarize | 1 | AI-powered summary |
| YouTube Search | 1 | Search videos or channels |
| Channel Search | 1 | Search within a channel |
| Channel Videos | 1/page | Up to 50 videos per page |
| Playlist Videos | 1/page | Up to 50 videos per page |
| Video Comments | 1/page | Up to 100 comment threads per page |
| Channel Resolve | Free | Resolve @handle to channel ID |
| Channel Latest | Free | Latest ~15 videos via RSS |
Error Codes
| Code | Status | Description |
|---|---|---|
| unauthorized | 401 | Missing, invalid, expired, or revoked API key |
| insufficient_credits | 402 | Not enough credits to perform the operation |
| invalid_request | 400 | Missing fields, invalid URL, or malformed JSON |
| not_found | 404 | Channel, playlist, or resource not found |
| rate_limited | 429 | Exceeded 30 requests per minute |
| quota_exceeded | 503 | YouTube API daily quota exceeded |
| transcription_failed | 500 | Transcription error (credits refunded automatically) |
| summarization_failed | 500 | Summarization error (credit refunded automatically) |
| youtube_api_error | 502 | YouTube API returned an error (credits refunded automatically) |