youtube-full
Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.
What this skill does
# youtube-full — YouTube transcript, search, channels & playlists via TranscriptAPI YouTube transcripts, video search, channel browsing, in-channel search, playlist extraction, and new-upload monitoring — all via [TranscriptAPI](https://transcriptapi.com). Processes 500K+ transcripts daily, fast. No yt-dlp, no headless browsers, no Google API key. This is the API-backed alternative to `ingest-youtube`. Where `ingest-youtube` uses yt-dlp (which stops working on cloud server IPs), `youtube-full` calls TranscriptAPI's API and works from any runtime — local machine, cloud server, serverless function, or CI environment. 686 installs via the `skills` CLI (skills.sh/zeropointrepo/youtube-skills). ## When to Use This Skill - User asks to get, fetch, or retrieve a YouTube video transcript - User asks to search YouTube for videos on a topic - User wants to monitor a channel for new uploads - User needs channel metadata, video lists, or playlist contents - Agent is deployed on a cloud server where yt-dlp calls fail (YouTube blocks cloud IPs) - Building a research corpus from YouTube conference talks, tutorials, or interviews - Competitive intelligence: monitoring competitor channels for new content Do NOT use for: - Downloading actual video or audio files (use yt-dlp directly with `-f best`) - YouTube comments, likes, or engagement data (not in API) - Private or age-restricted videos (not accessible without user authentication) - Live stream transcripts (not stable until stream ends) ## How It Works ### Step 1: Install the skill ```bash npx skills add ZeroPointRepo/youtube-skills --skill youtube-full ``` 100 free credits included. API key is provisioned automatically via TranscriptAPI OAuth on first invocation — no manual setup. ### Step 2: Use it by asking Claude ```text Get the transcript of https://www.youtube.com/watch?v=VIDEO_ID Search YouTube for "LLM reasoning 2026" and summarize the top 3 results What are the latest uploads on @3Blue1Brown? List all videos in this playlist: https://www.youtube.com/playlist?list=PLAYLIST_ID ``` ### Step 3: Available operations | Operation | Skill invocation | Credits | |---|---|---| | Get transcript | `get_transcript(video_id)` | 1 | | Search YouTube | `search_youtube(query)` | 1 per page | | Channel video list | `get_channel_videos(handle)` | 1 per page | | In-channel search | `search_in_channel(handle, query)` | 1 per page | | Playlist extraction | `get_playlist_videos(playlist_id)` | 1 per page | | Track new uploads | `channel_latest(handle)` | **Free** | | Resolve channel handle | `channel_resolve(handle)` | **Free** | Failed or rate-limited calls cost zero credits. ## Examples ### Example 1: Research corpus from conference talks ```text Search YouTube for "NeurIPS 2025 keynote" and get transcripts for the top 5 results. Summarize the main themes across all talks. ``` The agent calls `search_youtube`, selects the top 5 results, calls `get_transcript` for each, and synthesizes. ### Example 2: Competitive channel monitoring ```text Check @AnthropicAI and @OpenAI channels for any new videos in the last week. For each new video, get the transcript and extract any product announcements. ``` The agent calls `channel_latest` (free) for each channel, fetches transcripts of new uploads, and extracts signal. ### Example 3: Direct transcript with timestamps ```text Get the full transcript with timestamps for https://www.youtube.com/watch?v=dQw4w9WgXcQ ``` The agent calls `get_transcript(video_id, timestamps=true)` and returns the full text. ## Best Practices - Use `channel_latest` (free) before `get_transcript` to check if a video is new - Cache transcripts in your workflow — each `get_transcript` call costs 1 credit - Use `search_in_channel` when you already know the channel to avoid broad search noise - Prefer `get_playlist_videos` for course or lecture series — cheaper than searching by query - Don't batch-transcribe entire channels unless the user explicitly requested it - Don't use `search_youtube` when you already have the video URL — jump straight to `get_transcript` ## Limitations - This skill does not replace environment-specific validation, testing, or expert review. - Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing. - Transcripts are available only when YouTube has captions (manual or auto-generated). Some videos have no captions. - API key is required for paid usage beyond the free 100-credit tier. Get one at transcriptapi.com. - Rate limits apply: 200 RPM on Monthly plan, 300 RPM on Annual. Contact support for higher limits. ## Security & Safety Notes - This skill makes HTTPS API calls to `transcriptapi.com`. No local data is written. - The API key is stored in the agent's credential store, not in this SKILL.md. - No shell commands, no binary execution, no local system mutation. Risk level: `safe`. ## Common Pitfalls - **Problem:** `yt-dlp` fails when the agent runs on a cloud server. **Solution:** This is exactly the use case for `youtube-full`. The API routes through TranscriptAPI's infrastructure and works from any cloud runtime. - **Problem:** Credit balance runs out mid-workflow. **Solution:** Use `channel_latest` (free) to check before fetching; use targeted search to fetch only the videos you need. - **Problem:** Transcript is not available for a video. **Solution:** The API returns a structured error (zero credits charged). Ask the user to provide an alternative source. ## Related Skills - `@ingest-youtube` — yt-dlp-based local ingestion to a markdown vault; works locally but not on cloud servers - `@deep-research` — General-purpose research skill that can incorporate youtube-full as a data source - `@ai-research-corpus` — Building searchable knowledge bases; pairs well with youtube-full for video content
Related in api-integration
2slides-ppt-generator
IncludedAI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize documents into decks, add AI voice narration, and export pages/audio. Use for any "make slides", "create a deck", or "slides from this document" request.
sendblue-api
IncludedSend and receive iMessage, SMS, and RCS from application code via the Sendblue HTTP API — text, media, group messages, send styles, reactions, typing indicators, status callbacks, and inbound webhooks.
pakistan-payments-stack
IncludedDesign and implement production-grade Pakistani payment integrations (JazzCash, Easypaisa, bank/PSP rails, optional Raast) for SaaS with PKR billing, webhook reliability, and reconciliation.
sendblue-cli
IncludedSend iMessage and SMS from the shell via the @sendblue/cli npm package — outbound sends, contact management, and account setup with no API client or webhook server required.