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

ToolDescriptionCredits
get_transcriptTranscribe a YouTube video1-2
summarize_videoAI summary of a transcript1
search_youtubeSearch videos or channels1
resolve_channelResolve @handle to channel infoFree
search_channelSearch within a channel1
get_channel_videosList all channel uploads1/page
get_channel_latestLatest ~15 videos via RSSFree
get_playlist_videosList playlist videos1/page
get_commentsGet video comments1/page
check_creditsCheck credit balanceFree

Authentication

All API requests require a Bearer token. Create an API key from your API Keys page.

Authorization: Bearer et_your_api_key

Keys 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

EndpointDescriptionCredits
POST /api/v1/transcribeExtract video transcript1
POST /api/v1/summarizeAI-powered summary1
GET /api/v1/youtube/searchSearch YouTube videos or channels1
GET /api/v1/youtube/channel/resolveResolve @handle/URL to channel IDFree
GET /api/v1/youtube/channel/searchSearch within a channel1
GET /api/v1/youtube/channel/videosPaginated channel uploads1/page
GET /api/v1/youtube/channel/latestLatest 15 videos via RSSFree
GET /api/v1/youtube/playlist/videosPaginated playlist videos1/page
GET /api/v1/youtube/commentsVideo comments with replies1/page
GET /api/v1/creditsCheck credit balanceFree

Transcription & Summarization

POST/api/v1/transcribe

Transcribe 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"}'
POST/api/v1/summarize

Generate 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

GET/api/v1/youtube/search

Search YouTube videos or channels. Costs 1 credit per request.

Query Parameters

qSearch query (required)
typevideo or channel (default: video)
page_tokenPagination 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.

GET/api/v1/youtube/channel/resolve

Resolve a channel @handle or URL to a channel ID and basic info.

Free

Query 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"
GET/api/v1/youtube/channel/search

Search for videos within a specific channel. Costs 1 credit.

Query Parameters

channel@handle, channel URL, or UC... ID (required)
qSearch query (required)
page_tokenPagination 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"
GET/api/v1/youtube/channel/videos

List 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_tokenPagination 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"
GET/api/v1/youtube/channel/latest

Get the latest ~15 videos from a channel via RSS feed. Returns limited metadata (no view count or duration).

Free

Query 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

GET/api/v1/youtube/playlist/videos

List 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

playlistPlaylist ID (PLxxx) or YouTube playlist URL (required)
page_tokenPagination 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

GET/api/v1/youtube/comments

Get 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

videoYouTube video URL or video ID (required)
max_resultsComment threads per page, 1-100 (default 20)
orderrelevance (top comments, default) or time (newest first)
page_tokenPagination 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

GET/api/v1/credits

Check your current credit balance.

Response

{ "balance": 42 }
curl https://www.easytranscriber.com/api/v1/credits \
  -H "Authorization: Bearer et_your_api_key"

Credit Costs

OperationCreditsNotes
Transcribe (cached)0Previously transcribed videos are free
Transcribe (< 2 hours)1Most videos
Transcribe (≥ 2 hours)2Long-form content, max 4 hours
Summarize1AI-powered summary
YouTube Search1Search videos or channels
Channel Search1Search within a channel
Channel Videos1/pageUp to 50 videos per page
Playlist Videos1/pageUp to 50 videos per page
Video Comments1/pageUp to 100 comment threads per page
Channel ResolveFreeResolve @handle to channel ID
Channel LatestFreeLatest ~15 videos via RSS

Error Codes

CodeStatusDescription
unauthorized401Missing, invalid, expired, or revoked API key
insufficient_credits402Not enough credits to perform the operation
invalid_request400Missing fields, invalid URL, or malformed JSON
not_found404Channel, playlist, or resource not found
rate_limited429Exceeded 30 requests per minute
quota_exceeded503YouTube API daily quota exceeded
transcription_failed500Transcription error (credits refunded automatically)
summarization_failed500Summarization error (credit refunded automatically)
youtube_api_error502YouTube API returned an error (credits refunded automatically)