{
  "schemaVersion": "1.0",
  "item": {
    "slug": "youtube-apify-transcript",
    "name": "YouTube Apify Transcript",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/robbyczgw-cla/youtube-apify-transcript",
    "canonicalUrl": "https://clawhub.ai/robbyczgw-cla/youtube-apify-transcript",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/youtube-apify-transcript",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=youtube-apify-transcript",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "package.json",
      "scripts/fetch_transcript.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "youtube-apify-transcript",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-11T08:21:25.962Z",
      "expiresAt": "2026-05-18T08:21:25.962Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=youtube-apify-transcript",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=youtube-apify-transcript",
        "contentDisposition": "attachment; filename=\"youtube-apify-transcript-1.3.3.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "youtube-apify-transcript"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/youtube-apify-transcript"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/youtube-apify-transcript",
    "agentPageUrl": "https://openagent3.xyz/skills/youtube-apify-transcript/agent",
    "manifestUrl": "https://openagent3.xyz/skills/youtube-apify-transcript/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/youtube-apify-transcript/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "youtube-apify-transcript",
        "body": "Fetch YouTube transcripts via APIFY API (works from cloud IPs, bypasses YouTube bot detection)."
      },
      {
        "title": "Why APIFY?",
        "body": "YouTube blocks transcript requests from cloud IPs (AWS, GCP, etc.). APIFY runs the request through residential proxies, bypassing bot detection reliably."
      },
      {
        "title": "Free Tier",
        "body": "$5/month free credits (~714 videos)\nNo credit card required\nPerfect for personal use"
      },
      {
        "title": "Cost",
        "body": "$0.007 per video (less than 1 cent!)\nTrack usage at: https://console.apify.com/billing"
      },
      {
        "title": "Links",
        "body": "🔗 APIFY Pricing\n🔑 Get API Key\n🎬 YouTube Transcripts Actor"
      },
      {
        "title": "Setup",
        "body": "Create free APIFY account: https://apify.com/\nGet your API token: https://console.apify.com/account/integrations\nSet environment variable:\n\n# Add to ~/.bashrc or ~/.zshrc\nexport APIFY_API_TOKEN=\"apify_api_YOUR_TOKEN_HERE\"\n\n# Or use .env file (never commit this!)\necho 'APIFY_API_TOKEN=apify_api_YOUR_TOKEN_HERE' >> .env"
      },
      {
        "title": "Basic Usage",
        "body": "# Get transcript as text (uses cache by default)\npython3 scripts/fetch_transcript.py \"https://www.youtube.com/watch?v=VIDEO_ID\"\n\n# Short URL also works\npython3 scripts/fetch_transcript.py \"https://youtu.be/VIDEO_ID\""
      },
      {
        "title": "Options",
        "body": "# Output to file\npython3 scripts/fetch_transcript.py \"URL\" --output transcript.txt\n\n# JSON format (includes timestamps)\npython3 scripts/fetch_transcript.py \"URL\" --json\n\n# Both: JSON to file\npython3 scripts/fetch_transcript.py \"URL\" --json --output transcript.json\n\n# Specify language preference\npython3 scripts/fetch_transcript.py \"URL\" --lang de"
      },
      {
        "title": "Caching (saves money!)",
        "body": "Transcripts are cached locally by default. Repeat requests for the same video cost $0.\n\n# First request: fetches from APIFY ($0.007)\npython3 scripts/fetch_transcript.py \"URL\"\n\n# Second request: uses cache (FREE!)\npython3 scripts/fetch_transcript.py \"URL\"\n# Output: [cached] Transcript for: VIDEO_ID\n\n# Bypass cache (force fresh fetch)\npython3 scripts/fetch_transcript.py \"URL\" --no-cache\n\n# View cache stats\npython3 scripts/fetch_transcript.py --cache-stats\n\n# Clear all cached transcripts\npython3 scripts/fetch_transcript.py --clear-cache\n\nCache location: .cache/ in skill directory (override with YT_TRANSCRIPT_CACHE_DIR env var)"
      },
      {
        "title": "Batch Mode",
        "body": "Process multiple videos at once:\n\n# Create a file with URLs (one per line)\ncat > urls.txt << EOF\nhttps://youtube.com/watch?v=VIDEO1\nhttps://youtu.be/VIDEO2\nhttps://youtube.com/watch?v=VIDEO3\nEOF\n\n# Process all URLs\npython3 scripts/fetch_transcript.py --batch urls.txt\n\n# Output: \n# [1/3] Fetching VIDEO1...\n# [2/3] [cached] VIDEO2\n# [3/3] Fetching VIDEO3...\n# Batch complete: 2 fetched, 1 cached, 0 failed\n# [Cost: ~$0.014 for 2 API call(s)]\n\n# Batch with JSON output to file\npython3 scripts/fetch_transcript.py --batch urls.txt --json --output all_transcripts.json"
      },
      {
        "title": "Output Formats",
        "body": "Text (default):\n\nHello and welcome to this video.\nToday we're going to talk about...\n\nJSON (--json):\n\n{\n  \"video_id\": \"dQw4w9WgXcQ\",\n  \"title\": \"Video Title\",\n  \"transcript\": [\n    {\"start\": 0.0, \"duration\": 2.5, \"text\": \"Hello and welcome\"},\n    {\"start\": 2.5, \"duration\": 3.0, \"text\": \"to this video\"}\n  ],\n  \"full_text\": \"Hello and welcome to this video...\"\n}"
      },
      {
        "title": "Error Handling",
        "body": "The script handles common errors:\n\nInvalid YouTube URL\nVideo has no transcript\nAPI quota exceeded\nNetwork errors"
      },
      {
        "title": "Metadata",
        "body": "metadata:\n  clawdbot:\n    emoji: \"📹\"\n    requires:\n      env: [\"APIFY_API_TOKEN\"]\n      bins: [\"python3\"]"
      }
    ],
    "body": "youtube-apify-transcript\n\nFetch YouTube transcripts via APIFY API (works from cloud IPs, bypasses YouTube bot detection).\n\nWhy APIFY?\n\nYouTube blocks transcript requests from cloud IPs (AWS, GCP, etc.). APIFY runs the request through residential proxies, bypassing bot detection reliably.\n\nFree Tier\n$5/month free credits (~714 videos)\nNo credit card required\nPerfect for personal use\nCost\n$0.007 per video (less than 1 cent!)\nTrack usage at: https://console.apify.com/billing\nLinks\n🔗 APIFY Pricing\n🔑 Get API Key\n🎬 YouTube Transcripts Actor\nSetup\nCreate free APIFY account: https://apify.com/\nGet your API token: https://console.apify.com/account/integrations\nSet environment variable:\n# Add to ~/.bashrc or ~/.zshrc\nexport APIFY_API_TOKEN=\"apify_api_YOUR_TOKEN_HERE\"\n\n# Or use .env file (never commit this!)\necho 'APIFY_API_TOKEN=apify_api_YOUR_TOKEN_HERE' >> .env\n\nUsage\nBasic Usage\n# Get transcript as text (uses cache by default)\npython3 scripts/fetch_transcript.py \"https://www.youtube.com/watch?v=VIDEO_ID\"\n\n# Short URL also works\npython3 scripts/fetch_transcript.py \"https://youtu.be/VIDEO_ID\"\n\nOptions\n# Output to file\npython3 scripts/fetch_transcript.py \"URL\" --output transcript.txt\n\n# JSON format (includes timestamps)\npython3 scripts/fetch_transcript.py \"URL\" --json\n\n# Both: JSON to file\npython3 scripts/fetch_transcript.py \"URL\" --json --output transcript.json\n\n# Specify language preference\npython3 scripts/fetch_transcript.py \"URL\" --lang de\n\nCaching (saves money!)\n\nTranscripts are cached locally by default. Repeat requests for the same video cost $0.\n\n# First request: fetches from APIFY ($0.007)\npython3 scripts/fetch_transcript.py \"URL\"\n\n# Second request: uses cache (FREE!)\npython3 scripts/fetch_transcript.py \"URL\"\n# Output: [cached] Transcript for: VIDEO_ID\n\n# Bypass cache (force fresh fetch)\npython3 scripts/fetch_transcript.py \"URL\" --no-cache\n\n# View cache stats\npython3 scripts/fetch_transcript.py --cache-stats\n\n# Clear all cached transcripts\npython3 scripts/fetch_transcript.py --clear-cache\n\n\nCache location: .cache/ in skill directory (override with YT_TRANSCRIPT_CACHE_DIR env var)\n\nBatch Mode\n\nProcess multiple videos at once:\n\n# Create a file with URLs (one per line)\ncat > urls.txt << EOF\nhttps://youtube.com/watch?v=VIDEO1\nhttps://youtu.be/VIDEO2\nhttps://youtube.com/watch?v=VIDEO3\nEOF\n\n# Process all URLs\npython3 scripts/fetch_transcript.py --batch urls.txt\n\n# Output: \n# [1/3] Fetching VIDEO1...\n# [2/3] [cached] VIDEO2\n# [3/3] Fetching VIDEO3...\n# Batch complete: 2 fetched, 1 cached, 0 failed\n# [Cost: ~$0.014 for 2 API call(s)]\n\n# Batch with JSON output to file\npython3 scripts/fetch_transcript.py --batch urls.txt --json --output all_transcripts.json\n\nOutput Formats\n\nText (default):\n\nHello and welcome to this video.\nToday we're going to talk about...\n\n\nJSON (--json):\n\n{\n  \"video_id\": \"dQw4w9WgXcQ\",\n  \"title\": \"Video Title\",\n  \"transcript\": [\n    {\"start\": 0.0, \"duration\": 2.5, \"text\": \"Hello and welcome\"},\n    {\"start\": 2.5, \"duration\": 3.0, \"text\": \"to this video\"}\n  ],\n  \"full_text\": \"Hello and welcome to this video...\"\n}\n\nError Handling\n\nThe script handles common errors:\n\nInvalid YouTube URL\nVideo has no transcript\nAPI quota exceeded\nNetwork errors\nMetadata\nmetadata:\n  clawdbot:\n    emoji: \"📹\"\n    requires:\n      env: [\"APIFY_API_TOKEN\"]\n      bins: [\"python3\"]"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/robbyczgw-cla/youtube-apify-transcript",
    "publisherUrl": "https://clawhub.ai/robbyczgw-cla/youtube-apify-transcript",
    "owner": "robbyczgw-cla",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/youtube-apify-transcript",
    "downloadUrl": "https://openagent3.xyz/downloads/youtube-apify-transcript",
    "agentUrl": "https://openagent3.xyz/skills/youtube-apify-transcript/agent",
    "manifestUrl": "https://openagent3.xyz/skills/youtube-apify-transcript/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/youtube-apify-transcript/agent.md"
  }
}