scraping-youtube-channel-data — скилл для Claude Code
Собирает статистику YouTube-каналов и каталог видео через Apify. Нужен для пакетного анализа каналов по URL или handle.
npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-channel-data -a claude-codeЧто делает scraping-youtube-channel-data
Скилл принимает URL каналов YouTube и handles, запускает apidojo~youtube-channel-scraper на Apify и возвращает набор данных по каналам. В результате доступны название, число подписчиков, просмотры, количество видео, страна, дата создания, описание, URL и последние видео. Можно задать фильтры поиска, язык, страну и максимум возвращаемых видео.
Основной сценарий проходит через scripts/run_actor.js: он запускает актор, ждёт завершения и выводит результат или сохраняет его в CSV либо JSON. Также описаны запуск через Apify MCP и запасной вариант с REST API. Для работы нужен APIFY_TOKEN в окружении или .env; без него запуск актёра не выполнится. Скрытое число подписчиков возвращается как null, а канал с возрастными ограничениями может дать неполные метаданные.
Какие задачи решает
- собрать статистику по списку YouTube-каналов
- выгрузить каталог видео канала в CSV или JSON
- сравнить подписчиков, просмотры и число видео
- получить данные по URL или handle канала
- отфильтровать видео по дате, длительности или функциям
Примеры запросов агенту
- Собери статистику каналов по этим YouTube URL и верни таблицу с подписчиками, просмотрами и количеством видео.
- Выгрузи последние видео каналов из
@channelhandleи сохрани результат в CSV. - Проверь список handles, запусти сбор через Apify и верни данные в JSON.
Как установить scraping-youtube-channel-data
1Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-channel-data -a claude-code2Вручную: положить файлы
~/.claude/skills/scraping-youtube-channel-data/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/scraping-youtube-channel-data/
1Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-channel-data -a codex2Вручную: положить файлы
.agents/skills/scraping-youtube-channel-data/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-channel-data -a cursor2Вручную: положить файлы
.cursor/skills/scraping-youtube-channel-data/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install apidojo-io/apidojo-skills scraping-youtube-channel-data2Вручную: положить файлы
.github/skills/scraping-youtube-channel-data/SKILL.md1Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-channel-data -a gemini-cli2Командой платформы
gemini skills install https://github.com/apidojo-io/apidojo-skills --path skills/primitives/scraping-youtube-channel-dataВручную: положить файлы
.devin/skills/scraping-youtube-channel-data/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-channel-data -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о scraping-youtube-channel-data
Как установить scraping-youtube-channel-data в Claude Code?
Выполните npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-channel-data -a claude-code. Файл скилла появится по пути ~/.claude/skills/scraping-youtube-channel-data/SKILL.md.
Что делает scraping-youtube-channel-data?
Скилл запускает YouTube-скрейпер на Apify и собирает статистику каналов, сведения о видео и последние видео по URL или handle.
Что нужно для запуска скилла?
Нужна переменная окружения APIFY_TOKEN или её значение в .env. Запуск также можно выполнить через Apify MCP, если сервер установлен.
Исходный текст
SKILL.md · Apache-2.0
---
name: scraping-youtube-channel-data
description: >
Scrapes YouTube channel statistics and video catalog for any list of channels using
apidojo's YouTube scraper on Apify. Triggers when the user asks to: get YouTube channel
stats, fetch subscriber count and video count for YouTube channels, scrape channel
metadata in bulk, export YouTube channel information by URL or handle, get all videos
from a YouTube channel, or check channel growth data for a list of creators.
Returns channel name, subscriber count, total views, video count, and recent video data.
Ideal for competitor analysis, creator research, and audience benchmarking.
license: Apache-2.0
metadata:
author: apidojo
version: "1.0"
apify-actor: apidojo/youtube-scraper
---
# Scraping YouTube Channel Data
Exports channel-level statistics and optional video catalog for any YouTube channel URL or handle.
## Prerequisites
- `APIFY_TOKEN` environment variable set
- Optional: Apify MCP server installed
## Inputs
| Parameter | Type | Required | Default | Notes |
|-----------|------|----------|---------|-------|
| `startUrls` | array | Optional | `[]` | YouTube URLs — channels, playlists, Shorts, search results |
| `youtubeHandles` | array | Optional | `[]` | YouTube channel handles (e.g. `@kurzgesagt`) |
| `getTrending` | boolean | Optional | `false` | Retrieve trending videos |
| `keywords` | array | Optional | `[]` | Search keywords |
| `gl` | string | Optional | `us` | Country code for results (e.g. `US`, `GB`) |
| `hl` | string | Optional | `en` | Language code (e.g. `en`, `de`) |
| `uploadDate` | string | Optional | `all` | Upload date filter: `any`, `hour`, `today`, `week`, `month`, `year` |
| `duration` | string | Optional | `all` | Duration filter: `any`, `short`, `long` |
| `features` | string | Optional | `all` | Feature filter: `4k`, `hd`, `live`, `cc`, `3d`, `hdr`, etc. |
| `sort` | string | Optional | `r` | Sort order for search results |
| `maxItems` | number | Optional | Unlimited | Maximum videos to return |
| `customMapFunction` | string | Optional | — | JavaScript function to transform each output object |
## Workflow
```
Progress:
- [ ] Step 1: Normalize channel URLs
- [ ] Step 2: Run youtube-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver channel dataset
```
### Step 2: Run the Actor
**Recommended — run_actor.js (handles waiting, output, and file saving automatically):**
```bash
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~youtube-channel-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~youtube-channel-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~youtube-channel-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
```
> `APIFY_TOKEN` must be set in environment or `.env` file.
**If Apify MCP is available:**
```
Tool: apify:run-actor
Actor: "apidojo~youtube-channel-scraper"
Input:
{
"channelUrls": ["https://www.youtube.com/@channelhandle"],
"maxVideos": 30
}
```
**REST API fallback:**
```bash
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~youtube-channel-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channelUrls": ["https://www.youtube.com/@channelhandle"], "maxVideos": 30}'
```
Save `id` as `RUN_ID`. Poll until `status = SUCCEEDED`:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'
```
Fetch results:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
```
### Step 3: Handle Edge Cases
- **Channel URL not found**: Handle may have changed — verify on YouTube.
- **Hidden subscriber count**: Some channels hide subscriber counts; field returns null — flag these.
- **Age-restricted channel**: May return limited metadata.
## Output Format
```
# YouTube Channel Dataset
Channels requested: N | Returned: N
| Channel | Subscribers | Total Views | Videos | Joined | Country | Recent Avg Views |
|---------|-------------|-------------|--------|--------|---------|-----------------|
| ... | ... | ... | ... | ... | ... | ... |
Available fields: channelName, channelId, subscriberCount, viewCount, videoCount,
country, joinedDate, description, channelUrl, recentVideos[]
```
## Troubleshooting
**Hidden subscriber count:** YouTube allows channels to hide this — return `null` and note in output.
**Large video catalogs:** Set `maxVideos: 100` max per run to avoid timeouts.
© apidojo · Apache-2.0 · apidojo-io/apidojo-skills