### Typical Workflow Examples Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-channels/SKILL.md Provides examples of common workflows, including checking latest uploads and getting video transcripts. ```APIDOC ## Typical Workflow Examples ### 1. Check Latest Uploads This endpoint is free and does not consume credits, but requires authentication. #### Method GET #### Endpoint /api/v2/youtube/channel/latest #### Query Parameters - **channel** (string) - Required - The channel handle (e.g., `@TED`). #### Request Example ```bash curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ### 2. Get Transcript of a Recent Video This endpoint retrieves the transcript for a given video. #### Method GET #### Endpoint /api/v2/youtube/transcript #### Query Parameters - **video_url** (string) - Required - The URL of the YouTube video. - **format** (string) - Optional - The desired output format for the transcript (e.g., `text`). - **include_timestamp** (boolean) - Optional - Whether to include timestamps in the transcript. - **send_metadata** (boolean) - Optional - Whether to include metadata with the transcript. #### Request Example ```bash curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ``` -------------------------------- ### Manual Installation of YouTube Skills (Bash) Source: https://github.com/zeropointrepo/youtube-skills/blob/main/README.md Manually installs the YouTube Skills by cloning the GitHub repository and copying the 'youtube-full' skill directory to the agent's local skills path. This method is useful for users who prefer direct file management or need to integrate the skills into a specific local agent setup. ```bash git clone https://github.com/ZeroPointRepo/youtube-skills.git cp -r youtube-skills/skills/youtube-full ~/.claude/skills/ ``` -------------------------------- ### Manual API Key Setup for YouTube Skills (Bash) Source: https://github.com/zeropointrepo/youtube-skills/blob/main/README.md Provides commands for manually setting up the TranscriptAPI key, which is required for YouTube Skills. This involves registering an email, verifying with an OTP code, and then exporting the API key as an environment variable. This is an alternative to the automatic setup performed by the agent. ```bash # 1. Register (sends OTP to your email) node ./scripts/tapi-auth.js register --email you@example.com --password yourpassword # 2. Check email for OTP, then verify (returns your API key) node ./scripts/tapi-auth.js verify --email you@example.com --password yourpassword --otp 123456 # 3. Key is saved automatically to your shell and agent config export TRANSCRIPT_API_KEY="sk_your_key_here" ``` -------------------------------- ### Install YouTube Skills CLI Source: https://context7.com/zeropointrepo/youtube-skills/llms.txt Installs the YouTube Skills package for AI agents using the 'skills' CLI. The 'youtube-full' option includes all features. Alternatively, it can be installed via 'clawhub' or manually cloned. ```bash npx skills add ZeroPointRepo/youtube-skills --skill youtube-full npx clawhub@latest install youtube-full npx skills add ZeroPointRepo/youtube-skills git clone https://github.com/ZeroPointRepo/youtube-skills.git cp -r youtube-skills/skills/youtube-full ~/.claude/skills/ ``` -------------------------------- ### Install YouTube Skills for AI Agents (Bash) Source: https://github.com/zeropointrepo/youtube-skills/blob/main/README.md Installs the 'youtube-full' skill for AI agents using npx. This command is compatible with various agent frameworks like OpenClaw, Claude Code, Cursor, and Windsurf. It simplifies the process of adding the YouTube Skills package to your agent's capabilities. ```bash npx clawhub@latest install youtube-full ``` ```bash npx skills add ZeroPointRepo/youtube-skills --skill youtube-full ``` ```bash npx skills add ZeroPointRepo/youtube-skills ``` -------------------------------- ### Transcript API Response Examples Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/captions/SKILL.md Examples of JSON response structures for different format requests. The 'json' format provides structured data with timestamps, while 'text' provides a human-readable string. ```json { "video_id": "dQw4w9WgXcQ", "language": "en", "transcript": [ { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }, { "text": "You know the rules and so do I", "start": 21.5, "duration": 2.8 } ], "metadata": { "title": "...", "author_name": "...", "thumbnail_url": "..." } } ``` ```json { "video_id": "dQw4w9WgXcQ", "language": "en", "transcript": "[00:00:18] We're no strangers to love\n[00:00:21] You know the rules..." } ``` -------------------------------- ### Search Data Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-data/SKILL.md Search for YouTube videos or channels. This endpoint costs 1 credit. ```APIDOC ## GET /api/v2/youtube/search ### Description Searches YouTube for videos or channels based on a query. ### Method GET ### Endpoint `/api/v2/youtube/search` ### Query Parameters - **q** (string) - Required - The search query. - **type** (string) - Optional - The type of content to search for (`video` or `channel`). Defaults to `video`. - **limit** (integer) - Optional - The maximum number of results to return. Defaults to `20`. ### Request Example ```bash curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ### Response #### Success Response (200) - **Video result fields**: `videoId`, `title`, `channelId`, `channelTitle`, `channelHandle`, `channelVerified`, `lengthText`, `viewCountText`, `publishedTimeText`, `hasCaptions`, `thumbnails` - **Channel result fields** (`type=channel`): `channelId`, `title`, `handle`, `url`, `description`, `subscriberCount`, `verified`, `rssUrl`, `thumbnails` ``` -------------------------------- ### GET /api/v2/youtube/channel/videos Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/transcriptapi/SKILL.md Fetches a list of videos from a YouTube channel. Supports pagination using a continuation token. ```APIDOC ## GET /api/v2/youtube/channel/videos ### Description Fetches a list of videos from a YouTube channel. This endpoint supports pagination using a `continuation` token for subsequent pages. ### Method GET ### Endpoint /api/v2/youtube/channel/videos ### Parameters #### Query Parameters - **channel** (string) - Conditional - Required if `continuation` is not provided. The channel identifier (`@handle`, URL, or `UC...` ID). - **continuation** (string) - Conditional - Required if `channel` is not provided. A token for fetching the next page of results. ### Request Example ```bash # First page (100 videos) curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" # Next pages curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ### Response #### Success Response (200) - **results** (array) - An array of video objects. - **videoId** (string) - The ID of the video. - **title** (string) - The title of the video. - **channelId** (string) - The ID of the channel. - **channelTitle** (string) - The title of the channel. - **channelHandle** (string) - The handle of the channel. - **lengthText** (string) - The duration of the video. - **viewCountText** (string) - The view count of the video. - **thumbnails** (array) - An array of thumbnail objects. - **index** (string) - The index of the video in the list. - **playlist_info** (object) - Information about the playlist (e.g., title, number of videos). - **continuation_token** (string) - A token to fetch the next page of results. - **has_more** (boolean) - Indicates if there are more pages available. #### Response Example ```json { "results": [ { "videoId": "abc123xyz00", "title": "Latest Video", "channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q", "channelTitle": "TED", "channelHandle": "@TED", "lengthText": "15:22", "viewCountText": "3.2M views", "thumbnails": [...], "index": "0" } ], "playlist_info": {"title": "Uploads from TED", "numVideos": "5000"}, "continuation_token": "4qmFsgKlARIYVVV1...", "has_more": true } ``` ``` -------------------------------- ### GET /api/v2/youtube/playlist/videos Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-playlist/SKILL.md Retrieves a paginated list of videos from a specified YouTube playlist or continues a previous request using a continuation token. ```APIDOC ## GET /api/v2/youtube/playlist/videos ### Description Fetches a list of up to 100 videos from a YouTube playlist. Supports pagination via a continuation token. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/playlist/videos ### Parameters #### Query Parameters - **playlist** (string) - Conditional - The YouTube playlist URL or ID (e.g., PL, UU, LL, FL, OL prefixes). - **continuation** (string) - Conditional - The token returned from a previous request to fetch the next page. ### Request Example ```bash curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ### Response #### Success Response (200) - **results** (array) - List of video objects containing videoId, title, channel info, and metadata. - **playlist_info** (object) - Metadata about the playlist including title, numVideos, and owner. - **continuation_token** (string) - Token for fetching the next page. - **has_more** (boolean) - Indicates if more pages are available. #### Response Example { "results": [ { "videoId": "abc123xyz00", "title": "Playlist Video Title", "index": "0" } ], "playlist_info": { "title": "Best Science Talks", "numVideos": "47" }, "continuation_token": "4qmFsgKlARIYVVV1...", "has_more": true } ``` -------------------------------- ### Channel Data Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-data/SKILL.md Endpoints for retrieving information about YouTube channels, including resolving handles, getting latest videos, listing all videos, and searching within a channel. ```APIDOC ## Channel Data Endpoints ### Description Provides various endpoints to access YouTube channel data. ### Method GET ### Endpoints #### Resolve Handle to ID - **Endpoint:** `/api/v2/youtube/channel/resolve` - **Description:** Resolves a channel handle (e.g., `@TED`) to its corresponding channel ID. This operation is free. - **Query Parameters:** - **input** (string) - Required - The channel handle, URL, or ID. - **Response Example:** `{"channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED"}` #### Latest Videos - **Endpoint:** `/api/v2/youtube/channel/latest` - **Description:** Retrieves the latest 15 videos from a channel with exact statistics. This operation is free. - **Query Parameters:** - **channel** (string) - Required - The channel identifier (handle, URL, or ID). - **Response Example:** Contains `channel` info and a `results` array with video details. #### All Channel Videos (Paginated) - **Endpoint:** `/api/v2/youtube/channel/videos` - **Description:** Retrieves all videos from a channel, paginated. Costs 1 credit per page. - **Query Parameters:** - **channel** (string) - Required - The channel identifier (handle, URL, or ID). - **Response Example:** Returns up to 100 videos per page, `continuation_token`, and `has_more` flag. #### Search Within Channel - **Endpoint:** `/api/v2/youtube/channel/search` - **Description:** Searches for videos within a specific channel. Costs 1 credit. - **Query Parameters:** - **channel** (string) - Required - The channel identifier (handle, URL, or ID). - **q** (string) - Required - The search query. - **limit** (integer) - Optional - The maximum number of results. Defaults to `30`. ### Request Example (General Channel Endpoint) ```bash curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ``` -------------------------------- ### TranscriptAPI Response Formats Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/subtitles/SKILL.md Example JSON structures returned by the API for different format requests. JSON format includes start times and durations, while text format provides clean strings. ```json { "video_id": "dQw4w9WgXcQ", "language": "en", "transcript": [ { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 } ] } ``` ```json { "video_id": "dQw4w9WgXcQ", "language": "en", "transcript": "We're no strangers to love\nYou know the rules and so do I..." } ``` -------------------------------- ### Get YouTube Playlist Videos Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-full/SKILL.md Retrieves videos from a YouTube playlist, paginated. Users can fetch the first page of results or subsequent pages using a continuation token. Costs 1 credit per page. Requires a playlist ID or URL, or a continuation token for subsequent pages. ```bash # First page curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" # Next pages curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### Fetch YouTube Channel Videos (First/Next Pages) Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/transcriptapi/SKILL.md Retrieves a list of videos from a YouTube channel. The first request requires a channel identifier, while subsequent requests use a continuation token for pagination. Requires an API key for authorization. ```bash curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ```bash curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### Fetch YouTube Channel Videos with Continuation Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-channels/SKILL.md Retrieves a list of videos from a YouTube channel, supporting pagination through a continuation token. Requires an API key for authorization. The response includes video details and a token for fetching subsequent pages. ```bash curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/channel/search Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-channels/SKILL.md Performs a search query within a specific YouTube channel. ```APIDOC ## GET /api/v2/youtube/channel/search ### Description Search for specific content within a YouTube channel. Costs 1 credit per request. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/channel/search ### Parameters #### Query Parameters - **channel** (string) - Required - The channel handle, URL, or UC ID. - **q** (string) - Required - The search query (1-200 characters). - **limit** (integer) - Optional - Number of results (1-50, default 30). ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=climate+change&limit=30" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### Get All YouTube Channel Videos (First Page) Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-full/SKILL.md Fetches the first page of videos from a YouTube channel, containing up to 100 videos. This operation consumes 1 credit per page. Requires a channel identifier and the TRANSCRIPT_API_KEY. The response includes a continuation token for fetching subsequent pages. ```bash curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /transcript Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-api/SKILL.md Retrieves the transcript of a specific YouTube video. ```APIDOC ## GET /transcript ### Description Fetches the transcript for a given YouTube video URL or ID. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/transcript ### Parameters #### Query Parameters - **video_url** (string) - Required - The YouTube video URL or ID. - **format** (string) - Optional - Output format (e.g., text). - **include_timestamp** (boolean) - Optional - Whether to include timestamps. - **send_metadata** (boolean) - Optional - Whether to include video metadata. ### Request Example GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=dQw4w9WgXcQ&format=text ### Response #### Success Response (200) - **transcript** (array) - List of transcript segments. #### Response Example { "transcript": [{"text": "Never gonna give you up", "start": 0.0}] } ``` -------------------------------- ### Retrieve paginated channel videos Source: https://context7.com/zeropointrepo/youtube-skills/llms.txt Fetches a paginated list of all videos from a channel, returning 100 items per request. Uses a continuation token for subsequent pages and costs 1 credit per request. ```bash curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=4qmFsgKlARIYVVV1..." \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### Search YouTube Videos and Channels Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-full/SKILL.md Searches YouTube for videos or channels based on a query. Users can specify the type of content to search for (video or channel) and the number of results. Requires a query string and an API key. Costs 1 credit per search. ```bash # Videos curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" # Channels curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=channel&limit=10" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### Fetch YouTube Playlist Videos (First/Next Pages) Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/transcriptapi/SKILL.md Retrieves videos from a YouTube playlist. The first request requires a playlist identifier, while subsequent requests use a continuation token for pagination. Requires an API key for authorization. ```bash # First page curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ```bash # Next pages curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/search Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/transcriptapi/SKILL.md Searches YouTube for videos or channels based on a query string. ```APIDOC ## GET /api/v2/youtube/search ### Description Performs a search on YouTube for videos or channels matching the provided query. ### Method GET ### Endpoint /api/v2/youtube/search ### Parameters #### Query Parameters - **q** (string) - Required - Search query (1-200 chars) - **type** (string) - Optional - "video" or "channel" (Default: "video") - **limit** (integer) - Optional - Number of results (1-50, Default: 20) ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/search?q=Rick+Astley&type=video" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ### Response #### Success Response (200) - **results** (array) - List of search results - **result_count** (integer) - Total number of results returned #### Response Example { "results": [ { "type": "video", "videoId": "dQw4w9WgXcQ", "title": "Rick Astley" } ], "result_count": 1 } ``` -------------------------------- ### Monitor Channel Uploads and Fetch Transcripts Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-full/SKILL.md Demonstrates a monitoring workflow by fetching the latest videos from a channel handle and subsequently retrieving a transcript for a video. ```bash # 1. Latest uploads (free — pass @handle directly) curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" # 2. Transcript of latest curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/transcript Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-full/SKILL.md Fetches the transcript for a specific YouTube video. ```APIDOC ## GET /api/v2/youtube/transcript ### Description Retrieves the transcript of a YouTube video by its URL or ID. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/transcript ### Parameters #### Query Parameters - **video_url** (string) - Required - The YouTube video ID or URL. - **format** (string) - Optional - Output format (e.g., text). - **include_timestamp** (boolean) - Optional - Whether to include timestamps. ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /search Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-api/SKILL.md Searches for YouTube videos based on a query string. ```APIDOC ## GET /search ### Description Performs a search query on YouTube to find relevant videos. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/search ### Parameters #### Query Parameters - **q** (string) - Required - The search query. - **type** (string) - Optional - Type of content (default: video). - **limit** (integer) - Optional - Number of results to return (1-50). ### Request Example GET https://transcriptapi.com/api/v2/youtube/search?q=python+tutorial&type=video&limit=10 ### Response #### Success Response (200) - **results** (array) - List of video objects. #### Response Example { "results": [{"title": "Python Tutorial", "id": "abc123xyz"}] } ``` -------------------------------- ### Playlist API Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-full/SKILL.md Fetches videos from a YouTube playlist. Supports pagination and requires 1 credit per page. ```APIDOC ## GET /api/v2/youtube/playlist/videos ### Description Fetches videos from a YouTube playlist. Supports pagination and requires 1 credit per page. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/playlist/videos ### Parameters #### Query Parameters - **playlist** (string) - Required (use either `playlist` or `continuation`). The playlist URL or ID. Valid ID prefixes: `PL`, `UU`, `LL`, `FL`, `OL`. - **continuation** (string) - Required (use either `playlist` or `continuation`). A token for fetching the next page of results. ### Request Example ```bash # First page curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" # Next pages curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ### Response #### Success Response (200) - **playlist_info** (object) - Information about the playlist. - **results** (array) - A list of videos in the playlist. - **continuation_token** (string) - Token for the next page. - **has_more** (boolean) - Indicates if there are more pages. ``` -------------------------------- ### GET /api/v2/youtube/channel/search Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-search/SKILL.md Searches for videos within a specific YouTube channel. ```APIDOC ## GET /api/v2/youtube/channel/search ### Description Search for videos within a specific channel. Accepts @handle, channel URL, or UC... ID. Costs 1 credit per request. ### Method GET ### Endpoint /api/v2/youtube/channel/search ### Parameters #### Query Parameters - **channel** (string) - Required - The channel identifier (@handle, URL, or ID). - **q** (string) - Required - The search query within the channel. - **limit** (integer) - Optional - Number of results (1-50). Default: 30. ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=climate+change" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### Workflow: Retrieve Playlist Videos and Transcripts Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-playlist/SKILL.md A two-step process to first list videos within a playlist and subsequently fetch the transcript for a specific video using its ID. ```bash # 1. List playlist videos curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" # 2. Get transcript from a video in the playlist curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### Get First Page of YouTube Playlist Videos Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-full/SKILL.md Retrieves the first page of videos from a YouTube playlist. This operation consumes 1 credit per page. Requires a playlist URL or ID and the TRANSCRIPT_API_KEY. The response includes a continuation token for fetching subsequent pages. ```bash curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/channel/latest Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-full/SKILL.md Retrieves the latest uploads from a specific YouTube channel. ```APIDOC ## GET /api/v2/youtube/channel/latest ### Description Get the latest video uploads from a channel handle or ID. ### Method GET ### Endpoint /api/v2/youtube/channel/latest ### Parameters #### Query Parameters - **channel** (string) - Required - @handle, channel URL, or UC... ID ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ### Response #### Success Response (200) - **videos** (array) - List of latest videos #### Response Example { "videos": [{"id": "LATEST_VIDEO_ID", "title": "Latest TED Talk"}] } ``` -------------------------------- ### YouTube Search and Transcript Workflow (cURL) Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-search/SKILL.md Demonstrates a two-step workflow for finding YouTube videos and then fetching their transcripts. The first step searches for videos, and the second step uses the video ID to retrieve the transcript in text format with timestamps and metadata. ```bash # 1. Search for videos curl -s "https://transcriptapi.com/api/v2/youtube/search\?q=python+web+scraping&type=video&limit=5" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" # 2. Get transcript from result curl -s "https://transcriptapi.com/api/v2/youtube/transcript\?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/channel/latest Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/yt/SKILL.md Retrieves the latest videos from a specified YouTube channel. ```APIDOC ## GET /api/v2/youtube/channel/latest ### Description Fetches the last 15 videos from a channel. This is a free operation. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/channel/latest ### Parameters #### Query Parameters - **channel** (string) - Required - The channel handle, URL, or UC... ID. ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ### Response #### Success Response (200) - **videos** (array) - List of the 15 most recent videos with view counts and dates. ``` -------------------------------- ### Execute Search to Transcript Workflow Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-search/SKILL.md Demonstrates the two-step process of searching for a video and subsequently fetching its transcript using the retrieved video ID. ```bash # 1. Search for videos curl -s "https://transcriptapi.com/api/v2/youtube/search?q=python+web+scraping&type=video&limit=5" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" # 2. Get transcript from result curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/transcript Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/yt/SKILL.md Fetches the transcript for a specific YouTube video URL. ```APIDOC ## GET /api/v2/youtube/transcript ### Description Retrieves the text transcript for a given YouTube video URL. This operation costs 1 credit. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/transcript ### Parameters #### Query Parameters - **video_url** (string) - Required - The full URL of the YouTube video. - **format** (string) - Optional - The output format (e.g., "text"). - **include_timestamp** (boolean) - Optional - Whether to include timestamps in the transcript. - **send_metadata** (boolean) - Optional - Whether to include video metadata. ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=https://youtube.com/watch?v=example&format=text" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ### Response #### Success Response (200) - **transcript** (string) - The full text transcript of the video. #### Response Example { "transcript": "Hello and welcome to this video..." } ``` -------------------------------- ### Register for TranscriptAPI Account Source: https://context7.com/zeropointrepo/youtube-skills/llms.txt Registers a new user account with TranscriptAPI using email verification. This process sends an OTP to the provided email and returns a short-lived session token for the subsequent verification step. The response includes the next command to execute for verification. ```bash node ./scripts/tapi-auth.js register --email user@example.com ``` -------------------------------- ### GET /transcript Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-api/SKILL.md Retrieves the transcript for a specific YouTube video. ```APIDOC ## GET /youtube/transcript ### Description Fetches the transcript of a YouTube video given its URL or ID. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/transcript ### Parameters #### Query Parameters - **video_url** (string) - Required - The URL or ID of the YouTube video. - **format** (string) - Optional - The output format (e.g., text). - **include_timestamp** (boolean) - Optional - Whether to include timestamps in the transcript. - **send_metadata** (boolean) - Optional - Whether to include video metadata in the response. ### Request Example GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=dQw4w9WgXcQ&format=text ### Response #### Success Response (200) - **transcript** (string) - The full text transcript of the video. #### Response Example { "transcript": "Never gonna give you up..." } ``` -------------------------------- ### Interact with YouTube API Endpoints Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-api/SKILL.md Examples of using cURL to perform common tasks such as searching videos, retrieving transcripts, and fetching channel or playlist data. All requests require an Authorization header with a valid API key. ```bash curl -s "https://transcriptapi.com/api/v2/youtube/search?q=python+tutorial&type=video&limit=10" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=dQw4w9WgXcQ&format=text&include_timestamp=true&send_metadata=true" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/channel/videos Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/youtube-channels/SKILL.md Retrieves a list of videos from a YouTube channel, supporting pagination via continuation tokens. ```APIDOC ## GET /api/v2/youtube/channel/videos ### Description Fetches video listings for a specific channel. Use the `channel` parameter for the initial request and `continuation` for subsequent pages. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/channel/videos ### Parameters #### Query Parameters - **channel** (string) - Conditional - The channel handle, URL, or UC ID. Required if continuation is not provided. - **continuation** (string) - Conditional - The token for the next page of results. Required if channel is not provided. ### Response #### Success Response (200) - **results** (array) - List of video objects. - **playlist_info** (object) - Metadata about the channel/playlist. - **continuation_token** (string) - Token for the next page. - **has_more** (boolean) - Indicates if more pages are available. ### Response Example { "results": [{"videoId": "abc123xyz00", "title": "Video Title"}], "continuation_token": "4qmFsgKlARIYVVV1...", "has_more": true } ``` -------------------------------- ### Channel Monitoring Workflow: Latest Videos and Transcripts Source: https://context7.com/zeropointrepo/youtube-skills/llms.txt A workflow to monitor a YouTube channel for new content and extract transcripts. It first fetches the latest uploads (free) and then retrieves the transcript of the most recent video. Requires an API key. ```bash # Step 1: Get latest uploads (FREE - no credits used) curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ```bash # Step 2: Get transcript of the most recent video curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=LATEST_VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` ```bash # Example: Get transcript of TED's latest video # 1. Latest returns videoId "abc123xyz00" # 2. Fetch transcript (1 credit): curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=abc123xyz00&format=text&include_timestamp=true&send_metadata=true" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/channel/search Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/transcriptapi/SKILL.md Searches for videos within a specific YouTube channel based on a query string. ```APIDOC ## GET /api/v2/youtube/channel/search ### Description Performs a search for videos within a specific channel. ### Method GET ### Endpoint /api/v2/youtube/channel/search ### Parameters #### Query Parameters - **channel** (string) - Required - The channel handle, URL, or ID. - **q** (string) - Required - Search query (1-200 chars). - **limit** (integer) - Optional - Number of results (1-50, default 30). ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=climate+change&limit=30" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/transcript Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/youtube-full/SKILL.md Retrieves the transcript for a specific YouTube video URL or ID. ```APIDOC ## GET /api/v2/youtube/transcript ### Description Fetches the transcript of a YouTube video. ### Method GET ### Endpoint /api/v2/youtube/transcript ### Parameters #### Query Parameters - **video_url** (string) - Required - YouTube video ID or URL - **format** (string) - Optional - Output format (e.g., text) - **include_timestamp** (boolean) - Optional - Include timestamps in output - **send_metadata** (boolean) - Optional - Include video metadata ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ### Response #### Success Response (200) - **transcript** (string) - The video transcript content #### Response Example { "transcript": "Hello and welcome to..." } ``` -------------------------------- ### Search YouTube Videos Source: https://github.com/zeropointrepo/youtube-skills/blob/main/clawhub/yt/SKILL.md Performs a search query on YouTube to find videos or channels. Returns a list of results based on the provided query string. ```bash curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=10" \ -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ``` -------------------------------- ### GET /api/v2/youtube/search Source: https://github.com/zeropointrepo/youtube-skills/blob/main/skills/yt/SKILL.md Searches for YouTube videos or channels based on a query string. ```APIDOC ## GET /api/v2/youtube/search ### Description Performs a search on YouTube. This operation costs 1 credit. ### Method GET ### Endpoint https://transcriptapi.com/api/v2/youtube/search ### Parameters #### Query Parameters - **q** (string) - Required - The search query string (1-200 chars). - **type** (string) - Optional - The type of content to search: "video" or "channel". Default: "video". - **limit** (integer) - Optional - Number of results to return (1-50). Default: 20. ### Request Example curl -s "https://transcriptapi.com/api/v2/youtube/search?q=coding+tutorials&type=video" -H "Authorization: Bearer $TRANSCRIPT_API_KEY" ### Response #### Success Response (200) - **results** (array) - List of video or channel objects. #### Response Example { "results": [{"title": "Learn Coding", "id": "abc123xyz"}] } ``` -------------------------------- ### GET /api/v2/youtube/channel/videos Source: https://context7.com/zeropointrepo/youtube-skills/llms.txt Retrieves a paginated list of videos from a specific YouTube channel. Costs 1 credit per page. ```APIDOC ## GET /api/v2/youtube/channel/videos ### Description Retrieves a paginated list of videos from a specific YouTube channel. Costs 1 credit per page. ### Method GET ### Endpoint /api/v2/youtube/channel/videos ### Parameters #### Query Parameters - **channel_id** (string) - Required - The canonical ID of the YouTube channel. - **page_token** (string) - Optional - Token for the next page of results. ### Request Example ```bash curl -X GET "https://api.youtube-skills.com/api/v2/youtube/channel/videos?channel_id=UCX6OQ3DkcsbYNE6H8uQQuVA" ``` ### Response #### Success Response (200) - **videos** (array) - An array of video objects. - **next_page_token** (string) - Token for the next page of results, or null if no more pages. #### Response Example ```json { "videos": [ { "title": "Video Title 1", "url": "https://www.youtube.com/watch?v=video_id_1" }, { "title": "Video Title 2", "url": "https://www.youtube.com/watch?v=video_id_2" } ], "next_page_token": "CAUQAA" } ``` ```