scraping-tiktok-user-data について
TikTok クリエイターの動画履歴を、各動画のエンゲージメント指標とともに出力するデータスキルです。アカウント単位のプロフィール情報を動画単位の詳細で補い、Apify のユーザースクレーパーを利用します。
主な機能
- 01TikTok クリエイターの動画履歴出力
- 02動画ごとの再生数とエンゲージメント指標
- 03プロフィールまたは動画 URL の入力
- 04JSON データセットの取得
活用シーン
- 01クリエイターの動画パフォーマンス確認
- 02動画単位のエンゲージメントデータセット作成
MCP 対応
オプションの Apify MCP サーバー経由で TikTok ユーザースクレーパーを実行できます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill scraping-tiktok-user-dataインストール後、Claude Code で/scraping-tiktok-user-dataを入力して読み込まれたか確認します。
詳細
TikTok ユーザーデータのスクレイピング
クリエイターの全動画履歴を、動画ごとのエンゲージメント指標とともにエクスポートします。scraping-tiktok-profile-data(アカウントレベル)を補完する、動画レベルの詳細データです。
前提条件
APIFY_TOKEN環境変数が設定されていること- 任意:Apify MCP サーバーがインストールされていること
入力
| パラメーター | 型 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
startUrls | array | ✅ | [] | TikTok のプロフィール URL または動画 URL(動画から投稿者を抽出します) |
getFollowers | boolean | 任意 | false | フォロワーの完全な一覧も抽出します |
getFollowing | boolean | 任意 | false | フォロー中のアカウントの完全な一覧も抽出します |
maxItems | number | 任意 | 無制限 | 返すユーザーの最大数 |
customMapFunction | string | 任意 | — | 各出力オブジェクトを変換する JavaScript 関数 |
ワークフロー
Progress:
- [ ] Step 1: Run tiktok-user-scraper
- [ ] Step 2: Poll for SUCCEEDED
- [ ] Step 3: Deliver video dataset
ステップ 1:Actor を実行する
推奨 — run_actor.js(待機、出力、ファイル保存を自動で処理します):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~tiktok-user-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~tiktok-user-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~tiktok-user-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKENは環境変数または.envファイルに設定する必要があります。
Apify MCP が利用できる場合:
Tool: apify:run-actor
Actor: "apidojo~tiktok-user-scraper"
Input:
{
"username": "<handle>",
"maxVideos": 50
}
REST API の代替手段:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tiktok-user-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "<handle>", "maxVideos": 50}'
id を RUN_ID として保存します。status = SUCCEEDED になるまでポーリングします:
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'
結果を取得します:
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
ステップ 2:エッジケースに対応する
- 非公開アカウント:動画が 0 件返されます。ユーザーにその旨を伝えてください。
- リクエストした数より動画が少ないアカウント:取得できた分をすべて返し、出力に件数を記載してください。
- フィード内の削除済み動画:
playCountフィールドがないエントリーはスキップします。
出力形式
# TikTok Video History: @<username>
Videos collected: N
| Video ID | Caption (truncated) | Views | Likes | Comments | Shares | Duration | Posted |
|----------|---------------------|-------|-------|----------|--------|----------|--------|
| ... | ... | ... | ... | ... | ... | ... | ... |
Available fields: videoId, desc, playCount, diggCount, commentCount, shareCount,
duration, createTime, videoUrl, musicTitle, hashtags
トラブルシューティング
動画が 0 件返される場合: アカウントが非公開であるか、ユーザー名が正しくありません。
結果ごとの従量課金: この Actor は結果ごとの従量課金制です。費用を管理するには maxVideos を設定してください。
コメント
Markdown 対応