M
monitoring-twitter-for-competitor-job-posts
monitoring-twitter-for-competitor-job-posts について
Apify の apidojo Twitter スクレイパーで競合企業の採用投稿を探し、成長シグナルを分類・採点するスキルです。競合分析に利用できます。
主な機能
- 01検索語によるツイート取得
- 02結果のフィルタリングと分類
- 03採用成長シグナルの採点
- 04日付・投稿者・反応による絞り込み
活用シーン
- 01競合企業の採用動向の追跡
- 02競合チームの拡大シグナルの把握
- 03関連度別の採用投稿整理
MCP 対応
Apify MCP が利用可能な場合、apify:run-actor ツール経由で apidojo~tweet-scraper を実行できます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill monitoring-twitter-for-competitor-job-postsインストール後、Claude Code で/monitoring-twitter-for-competitor-job-postsを入力して読み込まれたか確認します。
詳細
競合他社の求人投稿をTwitterで監視する
apidojo のスクレイパーを使用して、Twitter で競合他社の求人投稿を監視します。apidojo intelligence スキルライブラリの一部です。
前提条件
APIFY_TOKEN環境変数が設定されていること- 任意:Apify MCP サーバーがインストールされていること
入力
| パラメーター | 型 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
searchTerms | 配列 | ✅ | [] | Twitter の高度な検索クエリ(例:["#AI lang:en", "from:NASA"]) |
sort | 文字列 | 任意 | Top | 並べ替え順:Latest、Top、または Latest+Top |
tweetLanguage | 文字列 | 任意 | — | ISO 639-1 言語コード(例:en) |
maxItems | 数値 | 任意 | 無制限 | 返すツイートの最大数 |
onlyVerifiedUsers | 真偽値 | 任意 | false | 認証済みユーザーのツイートのみ |
onlyTwitterBlue | 真偽値 | 任意 | false | Twitter Blue の加入者のみ |
onlyImage | 真偽値 | 任意 | false | 画像付きツイートのみ |
onlyVideo | 真偽値 | 任意 | false | 動画付きツイートのみ |
onlyQuote | 真偽値 | 任意 | false | 引用ツイートのみ |
author | 文字列 | 任意 | — | 特定の投稿者ハンドルに絞り込み |
inReplyTo | 文字列 | 任意 | — | 特定のハンドルへの返信ツイート |
mentioning | 文字列 | 任意 | — | 特定のハンドルに言及しているツイート |
geotaggedNear | 文字列 | 任意 | — | 特定の場所付近のツイート |
withinRadius | 文字列 | 任意 | — | geotaggedNear の周辺半径 |
geocode | 文字列 | 任意 | — | 緯度・経度と半径の文字列 |
placeObjectId | 文字列 | 任意 | — | 場所がタグ付けされたツイート |
minimumRetweets | 数値 | 任意 | — | リツイートの最小数 |
minimumFavorites | 数値 | 任意 | — | いいねの最小数 |
minimumReplies | 数値 | 任意 | — | 返信の最小数 |
start | 文字列 | 任意 | — | この日付以降のツイート(YYYY-MM-DD) |
end | 文字列 | 任意 | — | この日付以前のツイート(YYYY-MM-DD) |
includeSearchTerms | 真偽値 | 任意 | false | 一致した検索語を各ツイートに追加 |
customMapFunction | 文字列 | 任意 | — | 各出力オブジェクトを変換する JavaScript 関数 |
ワークフロー
Progress:
- [ ] Step 1: Define parameters
- [ ] Step 2: Run tweet-scraper
- [ ] Step 3: Filter and classify results
- [ ] Step 4: Score by quality and relevance
- [ ] Step 5: Deliver output
ステップ 2:Actor を実行する
推奨 — run_actor.js(待機、出力、ファイル保存を自動処理します):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~tweet-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~tweet-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~tweet-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKENは環境変数または.envファイルに設定する必要があります。
Apify MCP を利用できる場合:
Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
"searchTerms": ["[COMPETITOR] hiring", "[COMPETITOR] join our team", "[COMPETITOR] job opening"],
"maxItems": 100
}
REST API による代替手段:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["[COMPETITOR] hiring", "[COMPETITOR] join our team", "[COMPETITOR] job opening"], "maxItems": 100}'
SUCCEEDED になるまで待ちます。データセットを取得します:
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"
ステップ 3:結果を分類する
classification: AGGRESSIVE_GROWTH (> 5 roles/month) | STEADY_GROWTH (2-5 roles/month) | OPPORTUNISTIC (1-2 roles) | REPLACEMENT_ONLY (role title identical to recent departure signal)
ステップ 4:各結果をスコアリングする
score = growth_signal_score = (roles_posted_in_30_days / 5, max 1) * 0.50 + (engineering_role ? 1.2 : 1) * department_weight * 0.30 + (urgency_language ? 1 : 0.5) * 0.20
ステップ 5:エッジケース
- 競合他社は多くのチャネルで求人を投稿する可能性がありますが、Twitter では重要な職種のみを告知することがあります。Twitter の採用投稿は、通常の欠員補充ではなく、戦略的な優先事項を示すことがよくあります
追加の代替手段:
- 結果が 20 件未満の場合:検索語を広げ、二次フィルターを削除します
- 結果がない場合:検索語が正しいことを確認し、別の表現を試します
- データ品質に問題がある場合:重要なフィールドが欠落している項目を除外し、出力に件数を記載します
出力形式
# Monitoring Twitter For Competitor Job Posts
Results: [N] | Date: [DATE]
| # | [Key Field] | [Metric 1] | [Metric 2] | [Classification] | [Score] |
|---|------------|-----------|-----------|-----------------|---------|
| 1 | [value] | [value] | [value] | [type] | [0.XX] |
## Summary
Top result: [description]
Key finding: [insight]
トラブルシューティング
結果が少なすぎる場合: 主な検索語を広げ、制限の厳しいフィルターを削除します。 結果の品質が低い場合: 最小スコアしきい値(≥ 0.50)を適用して、ノイズを除外します。 Actor の実行に失敗する場合: API キーを確認し、apify.com/apidojo で Actor のステータスを確認します。
コメント
Markdown 対応