API Documentation

A REST API for YouTube transcripts, search, and metadata. Get an API key from your dashboard 100 free credits, no card required.

Authentication

Pass your API key as a bearer token, or via x-api-key:

Authorization: Bearer sk_live_...
# or
x-api-key: sk_live_...

Base URL

https://getyoutubetranscript.com/api/v1

Credits & plans

PlanPriceCredits/moTop-up priceRate limit
Free$0100 (one-time)60 req/min
Monthly$5.00/mo1,000$2.50 / 1,000200 req/min
Annual$4.50/mo ($54/yr)1,000$1.50 / 1,000300 req/min

1 credit = 1 successful request. Failed requests are never charged. Top-up credits expire 30 days from purchase or at the end of your current billing period, whichever is later, and require an active subscription to spend.

Endpoints

GET/transcript1 credit

Get the transcript for a YouTube video, with metadata (title, channel, thumbnail).

ParameterRequiredDescription
vYesVideo ID or full YouTube URL
languageNoLanguage code (default: en)

Request

curl "https://getyoutubetranscript.com/api/v1/transcript?v=jNQXAC9IVRw" \
  -H "Authorization: Bearer sk_live_..."

Response

{
  "success": true,
  "data": {
    "video_id": "jNQXAC9IVRw",
    "language_code": "en",
    "title": "Me at the zoo",
    "author_name": "jawed",
    "author_url": "https://www.youtube.com/channel/UC4Qob...",
    "thumbnail_url": "https://...",
    "transcript": "All right, so here we are...",
    "word_count": 39
  }
}
GET/search1 credit / page

Search YouTube videos with filters and pagination.

ParameterRequiredDescription
qYesSearch query (min 2 characters)
countryNo2-letter country code (default: us)
languageNoLanguage code (default: en)
page_tokenNoPrevious response's pagination.next_page_token, to fetch the next page
limitNoMax results (default 20, max 50)

Request

curl "https://getyoutubetranscript.com/api/v1/search?q=lofi+beats" \
  -H "Authorization: Bearer sk_live_..."

Response

{
  "success": true,
  "data": {
    "query": "lofi beats",
    "video_results": [ { "title": "...", "videoId": "...", "channel": { "name": "..." } } ],
    "pagination": { "next_page_token": "..." }
  }
}
GET/resolveFree

Resolve a channel handle, URL, or username to its real channel ID. A syntactic input (already a channel ID or URL containing one) resolves instantly with no network call; a bare handle triggers one real lookup.

ParameterRequiredDescription
handleYesChannel ID, URL, or @handle

Request

curl "https://getyoutubetranscript.com/api/v1/resolve?handle=@mkbhd" \
  -H "Authorization: Bearer sk_live_..."

Response

{
  "success": true,
  "data": {
    "channel_id": "UCBJycsmduvYEL83R_U4JriQ",
    "title": "Marques Brownlee",
    "handle": "http://www.youtube.com/@mkbhd",
    "resolved_via": "scrape"
  }
}
GET/playlist1 credit / page

Get videos in a playlist. Currently returns the first page only - has_more tells you if there are more videos, but fetching additional pages isn't supported yet.

ParameterRequiredDescription
listYesPlaylist ID or URL

Request

curl "https://getyoutubetranscript.com/api/v1/playlist?list=PLxxx" \
  -H "Authorization: Bearer sk_live_..."

Response

{
  "success": true,
  "data": {
    "playlist_id": "PLxxx",
    "title": "...",
    "videos": [ { "position": 1, "id": "...", "title": "...", "channel": { "name": "..." } } ],
    "has_more": true
  }
}

Errors

Errors return a JSON body with a stable code field to branch on, in addition to the HTTP status:

StatusCodeMeaning
400BAD_REQUESTMissing or invalid parameter
401MISSING_API_KEY / INVALID_API_KEYNo key provided, or key is invalid/revoked
402PAYMENT_REQUIREDOut of credits - buy a top-up or upgrade
404VIDEO_UNAVAILABLE / TRANSCRIPT_NOT_FOUNDVideo or resource not found
429RATE_LIMITEDToo many requests for your plan tier
503UPSTREAM_UNAVAILABLETemporary upstream issue - safe to retry

Coming soon

Search inside a channel, list all videos in a channel, and full playlist pagination are in development. Track new uploads via RSS is temporarily unavailable due to an unrelated issue on YouTube's side.

Using this API with an AI tool

Prefer letting Claude (or another AI coding tool) call this API for you instead of hand-writing requests? Download the YouTube Transcript skill - a ready-made Claude Skill that teaches it how to fetch transcripts, search, and more.