mcpField
B
building-journalist-outreach-list-from-twitter

building-journalist-outreach-list-from-twitter

github.com/apidojo-ioマーケティング・グロース1812 回インストール24 週間前に更新
リポジトリ

building-journalist-outreach-list-from-twitter について

特定の分野、業界、トピックを扱う記者をTwitter/Xで探し、メディア連絡先リストを作成するスキルです。候補者のプロフィールを補足し、所属媒体や職種などの情報で絞り込みます。

主な機能

  1. 01トピック関連の投稿を検索
  2. 02スクレイパーでプロフィールを補足
  3. 03記者の特徴に基づく絞り込み
  4. 04メディア連絡先リストの作成

活用シーン

  1. 01業界を担当する記者の検索
  2. 02製品発表向けメディアリストの作成
  3. 03個別アプローチに適した記者の特定

MCP 対応

Apify MCPが利用できる場合、`apidojo~tweet-scraper`と`apidojo~twitter-user-scraper`のActorを実行できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill building-journalist-outreach-list-from-twitter

インストール後、Claude Code で/building-journalist-outreach-list-from-twitterを入力して読み込まれたか確認します。

詳細

Twitter で記者へのアウトリーチリストを作成する

Twitter/X で特定の担当分野、業界、トピックを取り上げている記者やメディア関係者を見つけます。記者は業務上のネットワーキングに Twitter を最もよく利用しており、メディアの連絡先リストを作成するのに最適なプラットフォームです。

前提条件

  • APIFY_TOKEN 環境変数が設定されていること
  • 任意:Apify MCP サーバーがインストールされていること

入力

パラメーター型必須デフォルト備考
startUrlsarray任意[]Twitter のプロフィールまたはツイートの URL
twitterHandlesarray任意[]Twitter のユーザー名(@ なし)
twitterUserIdsarray任意[]Twitter のユーザー ID
getFollowersboolean任意falseフォロワーリストを抽出します
getFollowingboolean任意falseフォロー中のリストを抽出します
getRetweetersboolean任意falseツイート URL のリツイートユーザーを抽出します
includeUnavailableUsersboolean任意false利用できないユーザーや停止中のユーザーを含めます
maxItemsnumber任意無制限返すユーザーの最大数
customMapFunctionstring任意—各出力オブジェクトを変換する JavaScript 関数

ワークフロー

Progress:
- [ ] Step 1: Define beat, industry, and target publications
- [ ] Step 2: Search for journalists tweeting about the beat
- [ ] Step 3: Enrich profiles to extract publication affiliation
- [ ] Step 4: Filter and verify journalist signals
- [ ] Step 5: Deliver press contact list
ステップ 1:パラメーターを確認する

ユーザーに以下を尋ねます。

  • 担当分野/トピック(例:「人工知能」、「気候テック」、「フィンテック」、「B2B SaaS」)
  • 対象の媒体(任意。例:「TechCrunch」、「Forbes」、「Wired」、「大手テックメディアならどこでも」)
  • 種類 — 社員記者、フリーランス、または両方
  • 地域(任意 — 米国、英国、グローバル)
  • リストの件数(デフォルト:連絡先 30 件)
ステップ 2:担当分野に関連するツイートを検索する

担当分野について積極的にツイートしている記者を見つけます。アウトリーチでは、最近取り上げているかどうかが重要です。

推奨 — run_actor.js(待機、出力、ファイル保存を自動で処理します):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~twitter-user-scraper" \
  --input '{"param": "value"}'

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

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~twitter-user-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": [
    "[TOPIC] journalist",
    "[TOPIC] reporter",
    "writing about [TOPIC]",
    "[TOPIC] story [current year]"
  ],
  "maxItems": 300,
  "tweetLanguage": "en"
}

記事リンク付きのツイート(記者は自身が公開した記事をツイートします)を対象に、2 つ目のクエリも実行します。

Input:
{
  "searchTerms": ["[TOPIC] [publication_domain OR article link signal]"],
  "maxItems": 200
}

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": ["[TOPIC] journalist", "[TOPIC] reporter", "writing about [TOPIC]"],
    "maxItems": 300
  }'

すべての結果から、重複のない投稿者のユーザー名を収集します。

ステップ 3:プロフィールを詳しく調べる

Apify MCP が利用できる場合:

Tool: apify:run-actor
Actor: "apidojo~twitter-user-scraper"
Input:
{
  "usernames": ["[username1]", "...", "up to 150 usernames"]
}

REST API を使う場合:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["[username1]", "[username2]"]}'
ステップ 4:記者であることを示す情報で絞り込む

自己紹介に以下のいずれかが含まれるアカウントを残します。

  • 媒体名(例:「TechCrunch」、「@Forbes」、「Bloomberg」、「@Wired」)
  • 記者の肩書き:「reporter」、「journalist」、「editor」、「correspondent」、「writer at」、「staff writer」、「freelance writer」、「contributing editor」
  • 執筆歴を示す表現:「bylines at」、「writes for」、「covering」
  • 報道関係者の資格:「press」、「media」

フォロワー数の範囲: 1,000~500,000(まったく知られていない人や、売り込みに応じない大手テレビ局のアンカーを除外します)

除外: PR/広報担当者(自己紹介に「PR」、「communications」、「agency」が含まれる)、ブランドアカウント、記者としての資格がない研究者。

ステップ 5:出力を整える

出力形式

# Journalist Outreach List: [BEAT/TOPIC]
Contacts found: [N] | Publication filter: [if any] | Date: [DATE]

## Contact List

| # | Name | @Handle | Publication | Beat | Followers | Recent Coverage |
|---|------|---------|-------------|------|-----------|-----------------|
| 1 | [name] | @[handle] | [pub] | [beat] | [N] | [recent tweet/article topic] |

## By Publication

### [Publication Name] ([N] contacts)
1. **[Name]** (@[handle]) — [title from bio] | [N] followers
   Recent tweet: "[excerpt showing beat relevance]"

2. **[Name]** (@[handle]) — [title] | [N] followers

### Freelancers / Independent ([N] contacts)
1. **[Name]** (@[handle]) — writes for [pubs mentioned in bio] | [N] followers

## Pitch Angle Notes
Based on recent tweets, the top 5 contacts are actively covering:
1. @[handle]: recently tweeted about [specific topic] — pitch angle: [suggestion]
2. @[handle]: covering [topic] — pitch angle: [suggestion]

パーソナライズのヒント

売り込みを行う前に、記者の直近 3 件のツイートと、最近公開された記事を読んでください。具体的な内容に触れましょう。一般的な売り込みはうまくいきません。この出力に含まれる最近のツイートデータを使えば、追加調査なしで内容をパーソナライズできます。

トラブルシューティング

結果に記者以外が多く含まれる: 自己紹介のフィルターを厳しくし、媒体名だけでなく、「reporter」または「journalist」または「editor」の正確な単語を必須にします。 専門性の高い担当分野の記者が見つからない: 関連する担当分野にも検索範囲を広げるか、媒体名を検索語として直接試してください。 フォロワー数が古いように見える: 最終的なアウトリーチリストを作成する前に、上位 10 件の連絡先を Twitter で直接確認してください。

コメント