API Documentation

Transcribe, summarize, and search YouTube videos programmatically with the EasyTranscriber REST API. Signup includes 5 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 rate-limited per minute based on your plan — 10 requests/min on Free and Plus, 50/min on Pro, 300/min on Scale. 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 your plan's per-minute request limit
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)

Ready to build?

Create a free account, generate an API key, and ship your first request in minutes. You get 5 free credits with no credit card required.