scraping-tiktok-videos-by-hashtag — скилл для Claude Code: сбор видео
Собирает видео TikTok по хештегу или ключевому слову через скрапер apidojo на Apify. Отдаёт ссылки, просмотры, лайки, комментарии, репосты и автора.
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-videos-by-hashtag -a claude-codeЧто делает scraping-tiktok-videos-by-hashtag
Скилл запускает актор apidojo/tiktok-scraper на Apify и возвращает по каждому видео набор полей: videoId, authorUsername, desc, playCount, diggCount, commentCount, shareCount, createTime, videoUrl, musicTitle, hashtags, isAd. Внутри — четыре шага: нормализовать список хештегов, запустить актор, дождаться статуса SUCCEEDED, отдать датасет таблицей или файлом.
Запуск идёт через node scripts/run_actor.js с флагом --actor "apidojo~tiktok-scraper" и JSON во --input; результат можно сразу сохранить в CSV или JSON через --output и --format. Если в проекте стоит Apify MCP, тот же актор вызывается инструментом apify:run-actor. Есть и запасной путь через REST API: POST на api.apify.com, затем опрос actor-runs/$RUN_ID до SUCCEEDED и выборка из dataset/items.
Перед первым запуском нужен APIFY_TOKEN в переменных окружения или в .env — без него ни скрипт, ни curl не пройдут. Вход принимает startUrls (профили, хештеги, музыкальные страницы, поиск, локации), keywords, sortType со значениями RELEVANCE, MOST_LIKED, DATE_POSTED, код страны в location, лимит maxItems и customMapFunction на JavaScript для преобразования объектов. TikTok жёстко ограничивает частоту запросов, поэтому в самом скилле советуют держать maxItems: 200 на прогон. Забаненный хештег вернёт ноль записей — тогда пробуют родительский тег. Дубликаты между хештегами скилл предлагает чистить по полю videoId.
Какие задачи решает
- собрать все видео по хештегу или ключевому слову
- выгрузить метрики вовлечённости в CSV для отчёта
- найти посты под конкретным челленджем или трендом
- отфильтровать выдачу по стране через код ISO 3166-1
- убрать дубликаты видео между несколькими хештегами
Примеры запросов агенту
- Собери все видео TikTok по хештегу #skincare за последнюю неделю и сохрани в CSV
- Выгрузи метрики видео по ключевому слову «кофе» с сортировкой MOST_LIKED, максимум 200 штук
- Найди посты под трендом #fitness с фильтром по стране US и покажи таблицу с просмотрами и лайками
Как установить scraping-tiktok-videos-by-hashtag
1Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-videos-by-hashtag -a claude-code2Вручную: положить файлы
~/.claude/skills/scraping-tiktok-videos-by-hashtag/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/scraping-tiktok-videos-by-hashtag/
1Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-videos-by-hashtag -a codex2Вручную: положить файлы
.agents/skills/scraping-tiktok-videos-by-hashtag/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-videos-by-hashtag -a cursor2Вручную: положить файлы
.cursor/skills/scraping-tiktok-videos-by-hashtag/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install apidojo-io/apidojo-skills scraping-tiktok-videos-by-hashtag2Вручную: положить файлы
.github/skills/scraping-tiktok-videos-by-hashtag/SKILL.md1Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-videos-by-hashtag -a gemini-cli2Командой платформы
gemini skills install https://github.com/apidojo-io/apidojo-skills --path skills/primitives/scraping-tiktok-videos-by-hashtagВручную: положить файлы
.devin/skills/scraping-tiktok-videos-by-hashtag/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-videos-by-hashtag -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о scraping-tiktok-videos-by-hashtag
Как установить scraping-tiktok-videos-by-hashtag в Claude?
Выполните npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-videos-by-hashtag -a claude-code. Скилл окажется в ~/.claude/skills/scraping-tiktok-videos-by-hashtag/SKILL.md.
Что делает этот скилл?
Запускает актор apidojo/tiktok-scraper на Apify по хештегу или ключевому слову и возвращает по каждому видео ссылку, просмотры, лайки, комментарии, репосты, автора, подпись и время публикации.
Что нужно для работы скилла?
Переменная окружения APIFY_TOKEN — в системе или в .env. Apify MCP-сервер необязателен: без него запуск идёт через node scripts/run_actor.js или REST API.
Исходный текст
SKILL.md · Apache-2.0
---
name: scraping-tiktok-videos-by-hashtag
description: >
Scrapes TikTok videos for any hashtag or keyword using apidojo's TikTok scraper on Apify.
Triggers when the user asks to: get all TikTok videos for a hashtag, scrape TikTok content
by topic or tag, export TikTok video data for a keyword, fetch TikTok posts under a
challenge or trend, collect TikTok video metrics for a hashtag, or download TikTok
video metadata by tag. Returns video URL, view count, like count, comment count, share
count, author handle, caption, and timestamp per video.
Ideal for trend researchers, data analysts, and social media teams.
license: Apache-2.0
metadata:
author: apidojo
version: "1.0"
apify-actor: apidojo/tiktok-scraper
---
# Scraping TikTok Videos by Hashtag
Raw video dataset for any TikTok hashtag or keyword. Returns full video metadata including engagement metrics and author info.
## Prerequisites
- `APIFY_TOKEN` environment variable set
- Optional: Apify MCP server installed
## Inputs
| Parameter | Type | Required | Default | Notes |
|-----------|------|----------|---------|-------|
| `startUrls` | array | Optional | `[]` | TikTok URLs — user profiles, hashtags, music pages, search, locations |
| `keywords` | array | Optional | `[]` | Search keywords/terms to find posts |
| `sortType` | string | Optional | `RELEVANCE` | Sort order for keyword results: `RELEVANCE`, `MOST_LIKED`, `DATE_POSTED` |
| `location` | string | Optional | — | ISO 3166-1 alpha-2 country code for regional filtering (e.g. `US`, `GB`) |
| `maxItems` | number | Optional | Unlimited | Maximum posts to return across the run |
| `includeSearchKeywords` | boolean | Optional | `false` | Add the matched search keyword field to each post |
| `customMapFunction` | string | Optional | — | JavaScript function to transform each output object |
## Workflow
```
Progress:
- [ ] Step 1: Normalize hashtag list
- [ ] Step 2: Run tiktok-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~tiktok-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~tiktok-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~tiktok-scraper"
Input:
{
"keywords": ["tag1", "tag2"],
"maxItems": 100
}
```
**REST API fallback:**
```bash
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": ["tag1", "tag2"], "maxItems": 100}'
```
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
- **0 results for hashtag**: Hashtag may be banned on TikTok or spelled incorrectly. Try alternate spelling.
- **< 20 results**: Hashtag may be very niche — inform user, return what is available.
- **Duplicate video IDs across hashtags**: Deduplicate by `videoId` field.
## Output Format
```
# TikTok Video Dataset: #<hashtag>
Videos collected: N | Hashtags queried: N
| Video ID | Author | Caption (truncated) | Views | Likes | Comments | Shares | Posted |
|----------|--------|---------------------|-------|-------|----------|--------|--------|
| ... | ... | ... | ... | ... | ... | ... | ... |
Available fields: videoId, authorUsername, desc, playCount, diggCount, commentCount,
shareCount, createTime, videoUrl, musicTitle, hashtags, isAd
```
## Troubleshooting
**Banned hashtag returns 0:** Some hashtags are restricted by TikTok — try parent category tag.
**Slow run:** TikTok rate-limits heavily; `maxItems: 200` is a safe cap per run.
© apidojo · Apache-2.0 · apidojo-io/apidojo-skills