Youtube Api

ZeroPointRepo/youtube-skills/skills/youtube-api

作者 ZeroPointRepo4f7994b94e7d5e250c3b51102d609992e04d5d0d無授權條款1K 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫2 天前更新

Use when YouTube data is needed without Google API quotas or OAuth setup: transcripts, video metadata, channel info, search results, playlists. Triggers on pasted YouTube links, creator names, @handles, topic research, video summaries, channel browsing, or any request where YouTube content would help — even if not mentioned explicitly. Not for uploads, account management, or written-source-only research.

AI 產生的概覽

透過 TranscriptAPI 服務取得 YouTube 字幕、影片中繼資料、頻道資訊、搜尋結果與播放清單。

功能
此技能說明如何呼叫 TranscriptAPI 的 YouTube 端點,以取得影片字幕、影片中繼資料、頻道簡介、頻道上傳內容、社群貼文、播放清單與搜尋結果。它列出必要的 Authorization 與 User-Agent 標頭、端點路徑、點數成本、參數驗證規則與錯誤碼,並指向隨附的驗證設定與可直接執行的 curl 範例參考檔案。其產出是包含字幕文字與 YouTube 中繼資料的 API 回應,而非檔案。
適用情境
當需要在不使用 Google API 配額或 OAuth 的情況下取得 YouTube 內容或中繼資料時使用,例如摘要貼上的影片連結、研究某個主題、瀏覽頻道或擷取播放清單。不適用於上傳、帳號管理或僅以文字資料為來源的研究。
執行需求
需要連線至 transcriptapi.com 的網路存取,以及 TRANSCRIPT_API_KEY 環境變數(免費帳號提供 100 點數)。不需要其他執行環境或相依套件;此技能不含指令碼,只有參考文件。

YouTube API

YouTube data access via TranscriptAPI.com — no Google API quota needed.

Setup

If $TRANSCRIPT_API_KEY is not set, read references/auth-setup.md [blocked] and follow the instructions there to get and store the key.

Required Headers

Every request needs two headers:

  • Authorization: Bearer $TRANSCRIPT_API_KEY
  • User-Agent: your agent's name and version if known (e.g. HermesAgent/0.11.0, ClaudeCode/1.0). Version is optional — agent name alone is fine. Do not omit this header or send a bare default — Cloudflare will return a 403 (error code 1010) and block the request.

API Reference

Full OpenAPI spec: transcriptapi.com/openapi.json — consult this for the latest parameters and schemas.

Endpoint Reference

All endpoints: https://transcriptapi.com/api/v2/youtube/...

Channel endpoints accept channel — an @handle, channel URL, or UC... ID. Playlist endpoints accept playlist — a playlist URL or ID.

EndpointMethodCost
/info?video_url=IDGETfree
/video/metadata?video_url=IDGET1
/transcript?video_url=IDGET1
/search?q=QUERY&type=videoGET1
/channel/resolve?input=@handleGETfree
/channel/info?channel=@handleGET1
/channel/latest?channel=@handleGETfree
/channel/videos?channel=@handleGET1/page
/channel/search?channel=@handle&q=QGET1
/channel/playlists?channel=@handleGET1/page
/channel/posts?channel=@handleGET1/page
/channel/sections?channel=@handleGET1
/playlist/videos?playlist=PL_IDGET1/page

search also takes type=playlist or type=movie, plus first-page-only filters sort (relevance/views), upload_date, duration, and features. channel/videos takes tab=videos (default), shorts, or streams, plus an optional sort (latest/popular/oldest).

Naming: /video/metadata was previously /video/info. The old path still works but is deprecated — use /video/metadata.

Quick Examples

Search videos:

http
GET https://transcriptapi.com/api/v2/youtube/search?q=python+tutorial&type=video&limit=10Authorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Get transcript:

http
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=dQw4w9WgXcQ&format=text&include_timestamp=true&send_metadata=trueAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Check video info & transcript languages (free, before spending a credit):

http
GET https://transcriptapi.com/api/v2/youtube/info?video_url=dQw4w9WgXcQAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Get rich video metadata (views, likes, description, tags):

http
GET https://transcriptapi.com/api/v2/youtube/video/metadata?video_url=dQw4w9WgXcQ&include=detailsAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Get a channel's profile (subscriber count, tags, tabs):

http
GET https://transcriptapi.com/api/v2/youtube/channel/info?channel=@TEDAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Also available with the same channel parameter: /channel/playlists (a channel's playlists), /channel/posts (community tab), and /channel/sections (its curated Home-page shelves).

Resolve channel handle (free):

http
GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TEDAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Latest videos (free):

http
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TEDAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Browse channel uploads (paginated):

http
GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASAAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0
# Most-viewed first (channel Videos tab, ~30 per page)GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&sort=popularAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0
# Use continuation token from response for next pages, repeating the same tab and sort

Sorting. Add sort=latest, popular, or oldest to channel/videos to get a channel's videos in the order you want, for example its most-popular uploads first. A sorted page returns about 30 videos (an unsorted page returns about 100), and every page costs the same 1 credit.

When paging, send the same sort on each request.

Item fields. Every item carries members_only, true only when YouTube badges it "Members only", and those items have no viewCountText. tab=streams items carry lengthText and publishedTimeText (for example Streamed 2 years ago); tab=shorts returns null for both, because YouTube's Shorts grid publishes neither. On the channel-tab feeds (tab=videos with sort, tab=shorts, tab=streams) channelId, channelTitle, channelHandle and index are null.

Browse playlist (paginated):

http
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_IDAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Parameter Validation

FieldRule
channel@handle, channel URL, or UC... ID
playlistPlaylist URL or ID (PL/UU/LL/FL/OL prefix)
q (search)1-200 chars
type (search)video (default), channel, playlist, movie
tab (channel/videos)videos (default), shorts, streams
sort (channel/videos)latest, popular, oldest (omit for the uploads feed)
tab (channel/sections)featured (default), podcasts, releases
include (video/metadata)details, related (comma-separated)
limit1-50
continuationnon-empty string

Why Not Google's API?

Google YouTube Data APITranscriptAPI
Quota10,000 units/day (100 searches)Credit-based, no daily cap
SetupOAuth + API key + projectSingle API key
TranscriptsNot availableCore feature
Pricing$0.0015/unit overage$5/1000 credits

Errors

CodeMeaningAction
401Bad API keyCheck key
402No creditstranscriptapi.com/billing
403/1010Cloudflare blockAdd or fix User-Agent header
404Not foundResource doesn't exist
408Timeout/retryableRetry once after 2s
422Validation errorCheck param format
429Rate limitedWait, respect Retry-After

Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits.

Copy-paste examples

Every request in this file as a ready-to-run one-liner: references/curl-examples.md [blocked]

來源與署名

來源:ZeroPointRepo/youtube-skills位於skills/youtube-api提交4f7994b

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架