finding-saas-company-leads-twitter について
Twitter上の活動からSaaS企業やソフトウェア製品のアカウントを探す、リード調査向けのスキルです。キーワード検索とプロフィール補完を組み合わせ、フォロワー数で企業の段階を分類します。
主な機能
- 01ローンチの兆候から企業を発見
- 02分野のキーワードとハッシュタグを検索
- 03アカウントプロフィールを補完
- 04フォロワー数で企業段階を分類
- 05見込み顧客を採点して整理
活用シーン
- 01SaaS分野の見込み顧客リスト作成
- 02Twitterで初期段階のソフトウェア企業を発見
- 03外部連絡を優先するアクティブな企業アカウントの選定
MCP 対応
Apify MCPサーバーのrun-actorツールでtweet-scraperとtwitter-user-scraperを実行できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill finding-saas-company-leads-twitterインストール後、Claude Code で/finding-saas-company-leads-twitterを入力して読み込まれたか確認します。
詳細
TwitterでSaaS企業のリードを探す
Twitter上のシグナル(製品のローンチ、機能の発表、創業者の活動、ニッチな分野固有のハッシュタグ)から、SaaS企業やソフトウェア製品のアカウントを見つけます。創業初期のB2B SaaS企業は、正式なウェブサイトを立ち上げる前にTwitterで最も活発に活動しています。
前提条件
APIFY_TOKEN環境変数が設定されていること- 任意:Apify MCP サーバーがインストールされていること
入力
| パラメーター | 型 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
startUrls | array | 任意 | [] | TwitterのプロフィールまたはツイートのURL |
twitterHandles | array | 任意 | [] | Twitterのユーザー名(@なし) |
twitterUserIds | array | 任意 | [] | TwitterのユーザーID |
getFollowers | boolean | 任意 | false | フォロワーリストを抽出します |
getFollowing | boolean | 任意 | false | フォロー中のアカウントリストを抽出します |
getRetweeters | boolean | 任意 | false | ツイートURLのリツイートしたアカウントを抽出します |
includeUnavailableUsers | boolean | 任意 | false | 利用できない/凍結されたユーザーを含めます |
maxItems | number | 任意 | 無制限 | 返すユーザーの最大数 |
customMapFunction | string | 任意 | — | 各出力オブジェクトを変換するJavaScript関数 |
ワークフロー
Progress:
- [ ] Step 1: Build keyword and hashtag search list for vertical
- [ ] Step 2: Run tweet-scraper to find active companies
- [ ] Step 3: Extract unique company handles
- [ ] Step 4: Enrich via twitter-user-scraper
- [ ] Step 5: Score and classify by stage
- [ ] Step 6: Deliver lead list
ステップ 1:キーワードを検索する
業界分野をもとに作成します。「プロジェクト管理SaaS」の例:
Keywords: ["project management software", "PM tool", "#pmtools", "task management SaaS",
"launched a product", "we built", "try our tool", "project management app"]
標準的なSaaSのシグナルとなる語句(常に含めてください):
["just launched", "we built", "our product", "sign up free", "#buildinpublic",
"new feature", "we're hiring", "Series A", "product update", "[vertical] tool"]
ステップ 2:tweet-scraperを実行する
推奨 — 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
環境または
.envファイルでAPIFY_TOKENを設定する必要があります。
Apify MCPを利用できる場合:
Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
"searchTerms": ["[VERTICAL] software", "[VERTICAL] SaaS", "[VERTICAL] tool launch", "we built [VERTICAL]"],
"maxItems": 300,
"tweetLanguage": "en"
}
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": ["HR tech SaaS", "HR software launch", "we built HR tool"],
"maxItems": 300
}'
重複を除いたauthor.usernameの値を収集します。
ステップ 3:プロフィールを補完する
Apify MCPを利用できる場合:
Tool: apify:run-actor
Actor: "apidojo~twitter-user-scraper"
Input:
{
"usernames": ["[username1]", "[username2]", "...up to 100 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": ["handle1", "handle2"]}'
ステップ 4:絞り込みと分類
SaaS企業かどうか? 自己紹介に次の内容が含まれている場合は残します。
- 製品関連のキーワード:"software"、"SaaS"、"platform"、"app"、"tool"、"API"、"dashboard"
- ローンチのシグナル:"try"、"sign up"、"free trial"、"beta"
- 資金調達のシグナル:"backed by"、"YC"、"Techstars"、"seed"、"Series A/B"
followerCountによるステージ分類:
early: followerCount < 1,000
growing: 1,000–10,000
established: > 10,000
企業スコア:
lead_score = (is_saas_signal ? 1 : 0) * 0.40
+ (has_website ? 1 : 0) * 0.25
+ (tweeted_in_last_30_days ? 1 : 0) * 0.20
+ min(followerCount / 5000, 1) * 0.15
ステップ 5:例外ケース
- 企業ではなく個人アカウントが返される場合:絞り込みます。
name!=usernameで、自己紹介に製品について記載しているアカウントを優先し、自己紹介に一人称が含まれるアカウント(「I build...」など)の優先度を下げます - 見つかった企業が20社未満の場合:業界分野のキーワードを広げ、ハッシュタグ
#buildinpublic、#indiehacker、#saasを直接試します - 企業が重複している場合(創業者と企業アカウントの両方が見つかった場合):企業アカウントを残し、創業者のハンドルを連絡先としてリンクします
出力形式
# SaaS Company Leads: [VERTICAL]
Companies found: [N] | Early: [N] | Growing: [N] | Established: [N] | Date: [DATE]
## Growing-Stage Companies (Best Outreach Window)
| Company | Handle | Product | Stage | Followers | Website | Score |
|---------|--------|---------|-------|-----------|---------|-------|
| [name] | @[handle] | [1-line description from bio] | Growing | [N] | [url] | [0.XX] |
## Early-Stage (High Receptivity)
| Company | Handle | Product | Followers | Last Active |
|---------|--------|---------|-----------|------------|
## Established (Formal Sales Cycle)
| Company | Handle | Product | Followers | Website |
|---------|--------|---------|-----------|---------|
トラブルシューティング
結果の大半が個人アカウントです: 検索語に"software" OR "app" OR "platform"を追加し、自己紹介のキーワードで厳しく絞り込みます。
業界分野が広すぎます(企業が500社以上返されます): より狭いサブ業界に絞ります(例:「プロジェクト管理」→「リモートチーム向けの非同期プロジェクト管理」)。
企業が活動していません(最後のツイートから60日以上経過): 活動を停止している可能性があるとしてフラグを付け、製品のウェブサイトと照合して活動状況を確認します。