apollo-lead-finder について
apollo-lead-finderは、Apollo.ioで指定条件に合う見込み客を検索し、選んだリードを補完するスキルです。無料検索とクレジットを消費する補完を分け、補完やエクスポートの前に承認を求めます。
主な機能
- 01ICP条件による人物検索
- 02ページ取得と検索結果のプレビュー
- 03クレジットを使った連絡先補完
- 04既存連絡先との重複排除
- 05Apolloリスト作成とリード出力
活用シーン
- 01職種や企業条件に合う見込み客の検索
- 02補完クレジットを使う前の結果確認
- 03選んだリードの連絡先情報の補完
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill apollo-lead-finderインストール後、Claude Code で/apollo-lead-finderを入力して読み込まれたか確認します。
同梱ファイルscripts/apollo_client.pyskill.meta.json
詳細
Apollo Lead Finder
2段階のApollo.io見込み客開拓:リードの発見には無料のPeople Searchを使用し、その後、メールアドレスと電話番号を確認するために、対象を絞って有料のエンリッチメントを行います。Apolloのリストと連絡先を作成します。
主な利点: Apollo People Searchは無料です(クレジットは消費されません)。クレジットを消費するのは、連絡先をエンリッチしてメールアドレスや電話番号を確認する場合のみです。そのため、数万件のリードを費用ゼロで検索し、結果を確認したうえで、最適な候補だけを選んでエンリッチできます。
前提条件
Apollo API Key
Apollo.ioのSettings > Integrations > APIからAPIキーを取得します。.envに追加します。
APOLLO_API_KEY=your-api-key-here
これだけです。環境変数は1つだけです。
Phase 0:ヒアリング
Apolloのフィルター設定を作成するため、次の質問をユーザーにします。
ICPの条件
- 対象とする役職名は何ですか?(例:「VP of Sales」「Head of Growth」)
- 役職レベルは何ですか?選択肢:owner、founder、c_suite、partner、vp、director、manager、senior、entry
- 会社規模(従業員数の範囲)はどれくらいですか?形式:「51,200」「201,500」「501,1000」「1001,5000」
- 対象とする地域はどこですか?(例:「United States」「San Francisco, California」)
- 業界/キーワードタグは何ですか?(例:「SaaS」「Software」「FinTech」)
- 除外する役職名はありますか?(例:「intern」「assistant」)
- これらの連絡先を含むApolloリストを作成しますか?(デフォルト:はい)
- 何件の結果が必要ですか?(テスト:100件、標準:5,000件、全件:50,000件)
回答を設定に反映
Apolloのフィルター形式で設定JSONを作成します。
{
"client_name": "example-client",
"search_config_name": "vp-sales-us-midmarket",
"icp_segment": "sales-leaders",
"apollo_filters": {
"person_titles": ["VP of Sales", "Head of Sales", "Director of Sales"],
"person_seniority": ["vp", "director"],
"person_locations": ["United States"],
"organization_num_employees_ranges": ["51,200", "201,500", "501,1000"],
"q_organization_keyword_tags": ["SaaS", "Software"]
},
"enrichment_filters": {
"exclude_titles_containing": ["intern", "assistant"]
},
"apollo_list_name_prefix": "example-sales-leaders",
"create_apollo_list": true,
"mode": "standard",
"max_pages": 50
}
利用可能なApollo検索フィルター:
person_titles— 役職名のキーワード(文字列の配列)person_seniority— 役職レベル:owner、founder、c_suite、partner、vp、director、manager、senior、entryperson_locations— 地理的な場所(文字列の配列)organization_num_employees_ranges— 従業員数の範囲。「min,max」形式(例:「51,200」)q_organization_keyword_tags— 会社のキーワードタグ(例:「SaaS」「Software」)person_not_titles— 除外する役職名(文字列の配列)q_organization_name— 組織名の検索organization_locations— 会社の本社所在地
Phase 1:検索(無料)
無料検索で取得できる情報
Apolloのapi_searchエンドポイントは、限定的なプレビューデータを返します。Apolloの人物ID、名、マスキングされた姓、役職名、会社名、およびブール値のフラグ(has_email、has_phone)です。LinkedInのURL、メールアドレス、フルネームは含まれません。これらの情報にはエンリッチメントが必要です。
パイプラインの手順
ステップ1:Apollo検索ペイロードを作成 — 設定のフィルターをApollo People Search形式に変換します。
ステップ2:1ページ目を検索 — 最初の100件の結果と、全件数を示すtotal_entriesを取得します。
ステップ3:ページネーション — 残りのページを取得します(1ページあたり100件、モードごとの上限まで)。役職名のフィルターを適用します。
ステップ4:Apolloの人物IDを収集 — 検索結果からApolloの人物IDを保存し、エンリッチメントの段階で使用します。
ステップ5:プレビューを提示 — 検索結果のサンプル(名、役職名、会社名)と合計件数をユーザーに提示します。エンリッチメントを実行する前に承認を求めます。
モードごとの上限
| パラメーター | テスト | 標準 | 全件 |
|---|---|---|---|
| 最大ページ数 | 1 | 50 | 500 |
| 最大結果数 | 100 | 5,000 | 50,000 |
| 検索クレジット | 0 | 0 | 0 |
費用:無料。 People SearchではApolloクレジットを消費しません。
データベース書き込みポリシー
重要:ユーザーの明示的な承認なしに、リードをエクスポートしてはいけません。
検索フェーズは無料です。エンリッチメントのフェーズではクレジットが必要です。
必須の手順:
- まず検索を実行する(無料)— 結果を確認します
- 検索結果をユーザーに提示する:一致件数、リードのサンプル、役職名の分布
- エンリッチメントのフェーズを実行する前に、ユーザーから明示的な承認を得る
- エンリッチメント後、エクスポートする前に、エンリッチ済みの結果をユーザーに提示する
- ユーザーが結果に問題がないことを確認した後にのみ、エクスポートする
Phase 2:エンリッチメント(クレジットが必要)
Apollo Bulk People Match APIを使用して、Phase 1で選択したリードをエンリッチします。
パイプラインの手順
Step 1:検索マニフェストを読み込む — 検索フェーズで保存したマニフェスト JSON を読み込みます。Apollo の人物 ID が含まれています。
Step 2:重複排除のため既存の連絡先を読み込む — ユーザーが既存の連絡先の CSV または以前のエクスポートを持っている場合は、重複排除のため LinkedIn URL を読み込みます。既存データがない場合は、重複排除をスキップします。
Step 3:クレジットを確認する — リード数とクレジット費用の見積もりを表示します。確認を待ちます。
Step 4:一括エンリッチメントを実行する — Apollo の人物 ID を 10 件ずつのバッチに分けて、/people/bulk_match を呼び出します。各マッチングには 1 クレジットかかります。メールアドレス、電話番号、LinkedIn URL、氏名、所在地、会社情報など、すべてのデータが返されます。
Step 5:既存の連絡先と重複を排除する — LinkedIn URL がユーザーの連絡先リストにすでに存在するリードを除外します。
Step 6:結果をユーザーに提示する — エンリッチメント済みのリードのサンプル(氏名、役職、会社、メールアドレスの有無)を表示し、データベースに書き込む前に明示的な承認を求めます。
Step 7:結果をエクスポートする — ユーザーの承認後にのみ実行します。 エンリッチメント済みのリードを CSV として現在の作業ディレクトリ、またはユーザーが指定した場所に保存します。
モードごとの上限
| パラメーター | テスト | 標準 | フル |
|---|---|---|---|
| エンリッチメントの最大数 | 10 | 500 | 2,500 |
| 使用クレジット数 | 10 | 500 | 2,500 |
費用:連絡先 1 件のエンリッチメントにつき 1 クレジットです。 必ず最初に検索を実行し、結果を確認してから、対象を選んでエンリッチメントしてください。
フェーズ 3:確認と調整
結果を提示します:
- 一致する合計数 — Apollo のフィルターに一致するプロフィールの数
- 新たに見つかったリード — 重複排除後の新規プロフィール数
- Apollo リスト — Apollo のリスト名とリンク
- エンリッチメント済み — メールアドレスが判明した件数
- メールアドレスの有効率 — エンリッチメント済みのリードのうち、有効なメールアドレスがある割合
- 上位 10 件のリード — 氏名、役職、会社の概要
よくある調整:
- 範囲が広すぎる — フィルター(職位、従業員数の範囲、キーワードタグ)を追加します
- 範囲が狭すぎる — 役職のリストを広げ、所在地のフィルターを削除します
- メールアドレスの有効率が低い — 連絡先の中には、既知のメールアドレスがないものもあります。より多くのリードをエンリッチメントしてみてください
- ICP が間違っている — 役職の含めるリストと除外するリストを調整します
使用例
トリガーフレーズ:
- 「[業界] の [役職] を Apollo で検索して」
- 「自分の ICP に一致するリードを Apollo で見つけて」
- 「米国の SaaS 企業で営業担当副社長を見つけて」
- 「前回の検索で見つかった Apollo のリードをエンリッチメントして」
Apollo API リファレンス
- 人物検索:
POST https://api.apollo.io/api/v1/mixed_people/api_search— 無料。Apollo ID とプレビューデータ(名、役職、組織名、ブール値フラグ)を返します。LinkedIn URL やメールアドレスは含まれません。 - 人物マッチング(エンリッチメント):
POST https://api.apollo.io/api/v1/people/match— 1 クレジット。メールアドレス/電話番号が判明します - 人物の一括マッチング:
POST https://api.apollo.io/api/v1/people/bulk_match— 1 リクエストにつき最大 10 件、各 1 クレジット - リストの作成:
POST https://api.apollo.io/api/v1/labels— 名前付きリストを作成します - 連絡先の作成:
POST https://api.apollo.io/api/v1/contacts— Apollo CRM に人物を追加し、任意でリストにも追加します - 認証: すべてのリクエストに
x-api-key: {APOLLO_API_KEY}ヘッダーを指定します - レート制限: プランによって異なります。429 が返された場合は、Retry-After ヘッダーを使用します。
- 検索のページネーション:
pageパラメーター(1 始まり)、per_pageの最大値は 100