К основному содержанию
скилл CX Codex

scraping-youtube-videos-by-keyword — скилл для Claude Code

Скилл выгружает метаданные и метрики видео из поисковой выдачи YouTube через актор Apify. Пригодится для анализа просмотров, конкурентов и трендов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-videos-by-keyword -a claude-code
Открыть на GitHub

Что делает scraping-youtube-videos-by-keyword

Скилл находит ролики по поисковым запросам, ссылкам или хэндлам каналов вроде @kurzgesagt с помощью актора apidojo/youtube-scraper. В результат попадают название, канал, количество просмотров, лайков и комментариев, хронометраж и дата публикации. Выгрузку можно сразу отфильтровать по языку (hl), коду страны (gl), дате загрузки и продолжительности.

Запуск выполняется через Node.js-скрипт scripts/run_actor.js, вызов инструмента apify:run-actor в MCP-сервере либо прямыми curl-запросами к REST API Apify. Скрипт умеет выводить готовую таблицу в консоль или сохранять сырые данные в CSV и JSON.

Без настроенной переменной APIFY_TOKEN запустить сбор данных не получится. На редких запросах YouTube может вернуть меньше 20 записей, а ролики с возрастными ограничениями часто приходят без счётчика просмотров.

Какие задачи решает

  • собрать статистику просмотров и лайков по поисковому запросу
  • выгрузить список роликов канала по его хэндлу
  • отфильтровать выдачу YouTube по длительности, дате публикации и стране
  • экспортировать метаданные видео в CSV или JSON

Примеры запросов агенту

  • Собери метаданные и статистику первых 50 видео по запросу «ai coding tools»
  • Выгрузи в CSV список роликов с канала @kurzgesagt за последний месяц
  • Найди длинные видео в формате 4k по запросу «playwright tutorial»

Как установить scraping-youtube-videos-by-keyword

1Через Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-videos-by-keyword -a claude-code

2Вручную: положить файлы

~/.claude/skills/scraping-youtube-videos-by-keyword/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scraping-youtube-videos-by-keyword/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о scraping-youtube-videos-by-keyword

Как установить scraping-youtube-videos-by-keyword в Claude Code?

Выполните команду npx skills add apidojo-io/apidojo-skills --skill scraping-youtube-videos-by-keyword -a claude-code. Конфигурация сохранится в файле ~/.claude/skills/scraping-youtube-videos-by-keyword/SKILL.md.

Что нужно подготовить перед запуском?

Требуется аккаунт Apify и переменная окружения APIFY_TOKEN. Дополнительно можно установить Apify MCP сервер или запускать раннер через Node.js.

Какие поля возвращает парсер?

На каждое видео приходят videoId, title, channelName, channelId, viewCount, likeCount, commentCount, duration, publishedAt, videoUrl, thumbnailUrl и description.

Исходный текст

SKILL.md · Apache-2.0
---
name: scraping-youtube-videos-by-keyword
description: >
  Scrapes YouTube videos matching any keyword or search query using apidojo's YouTube
  scraper on Apify. Triggers when the user asks to: get YouTube videos for a keyword,
  scrape YouTube search results for a topic, export YouTube video data for a query,
  fetch video metadata for a YouTube search term, collect YouTube videos about a subject,
  or download YouTube video stats by keyword. Returns video title, channel name, view
  count, like count, comment count, duration, and publish date per video.
  Ideal for content researchers, SEO analysts, and market intelligence teams.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/youtube-scraper
---

# Scraping YouTube Videos by Keyword

Raw YouTube video dataset for any search query. Returns video-level metadata including engagement metrics and channel info.

## 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: Build search query
- [ ] Step 2: Run youtube-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver video 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-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~youtube-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~youtube-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-scraper"
Input:
{
  "searchKeywords": "<query>",
  "maxResults": 50,
  "sortBy": "relevance"
}
```

**REST API fallback:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~youtube-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchKeywords": "<query>", "maxResults": 50}'
```

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

- **< 20 results**: Query may be too narrow; broaden search term.
- **Age-restricted content in results**: These may have limited metadata — flag rows with missing `viewCount`.
- **Duplicate video IDs**: Deduplicate by `videoId`.

## Output Format

```
# YouTube Video Dataset: "<query>"
Videos collected: N | Sort: <sortBy>

| Video ID | Title | Channel | Views | Likes | Comments | Duration | Published |
|----------|-------|---------|-------|-------|----------|----------|-----------|
| ...      | ...   | ...     | ...   | ...   | ...      | ...      | ...       |

Available fields: videoId, title, channelName, channelId, viewCount, likeCount,
commentCount, duration, publishedAt, videoUrl, thumbnailUrl, description
```

## Troubleshooting

**Fewer results than requested:** YouTube search may have limited results for niche queries.
**Missing like counts:** YouTube hides dislikes but likes are still available; some videos hide all counts.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Похожие скиллы

Все скиллы по теме «Браузер и парсинг» →
agent-browser vercel-labs Скилл управляет браузером через CLI: открывает страницы, заполняет формы, нажимает кнопки и проверяет веб-приложения. Подходит для задач, где агенту нужно действовать в интерфейсе. CX Codex +1 1 200 000установок webapp-testing официальный anthropics Скилл запускает проверки локальных веб-приложений через Playwright: помогает отлаживать UI, делать скриншоты и смотреть логи браузера. 186 758установок computer-use stablyai Скилл ведёт видимое окно приложения через orca computer: читает дерево доступности, кликает, печатает и снимает скриншоты. Нужен, когда задача упирается в интерфейс. CX Codex +1 239 600установок browser-use browser-use Даёт агенту живой Chrome через CDP: клики, ввод, скриншоты и страницы, которым нужен JS или ваша логин-сессия. CX Codex +1 98 200установок playwright-cli microsoft Скилл, который даёт агенту браузер: открыть страницу, кликнуть по элементу, снять снимок и разобрать тесты Playwright. CX Codex +1 195 700установок last30days mvanhorn Собирает посты и реакции по любой теме за последние 30 дней из Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub и веба. Пригодится, когда нужно понять, что реально говорят люди, а не что пишут в обзорах. CX Codex +1 53 000установок

Из того же набора96

scraping-tiktok-profile-data Собирает статистику и метаданные TikTok-аккаунтов пачкой: подписчики, подписки, лайки, число видео, био. Пригодится, когда нужно проверить список креаторов перед работой. CX Codex +1 834установок finding-instagram-creators-by-location Находит Instagram-авторов, которые регулярно публикуют из заданного места: города, района или заведения. Пригодится для локальных кампаний и гео-таргетинга. CX Codex +1 833установок analyzing-twitter-sentiment-for-topic Собирает твиты через Apify и оценивает тональность вокруг темы, бренда или события. Выдаёт распределение мнений, ключевые тезисы и твиты с высокой реакцией. CX Codex +1 825установок finding-healthcare-practices-via-google-search Ищет клиники, стоматологии и другие медицинские организации через Google. Нужен для сбора первичного списка провайдеров по городу или специализации. CX Codex +1 816установок tracking-youtube-trending-topics-by-niche Скилл ищет тренды YouTube в выбранной нише и показывает форматы, темы, просмотры и вовлечённость. Нужен для подготовки идей видео. CX Codex +1 813установок finding-tiktok-creators-using-trending-sounds Находит TikTok-креаторов, которые снимали под конкретный трек или трендовый звук. Пригодится, когда нужно собрать список аккаунтов под размещение бренда. CX Codex +1 813установок building-full-social-audit-for-brand Собирает аудит присутствия бренда в Twitter, Instagram, TikTok и YouTube через парсеры Apify. Рассчитывает вовлечённость и итоговый скор бренда. CX Codex +1 813установок scraping-instagram-location-content Собирает публичные посты Instagram, отмеченные в конкретном месте, и отдаёт ссылки, подписи, авторов, лайки и даты. Пригодится, когда нужно понять, что гости пишут о заведении. CX Codex +1 810установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой