mcpField
A
apollo-lead-finder

apollo-lead-finder

github.com/gooseworks-aiマーケティング・グロース1.3k67 回インストール3 日前に更新
リポジトリ

apollo-lead-finder について

apollo-lead-finderは、Apollo.ioで指定条件に合う見込み客を検索し、選んだリードを補完するスキルです。無料検索とクレジットを消費する補完を分け、補完やエクスポートの前に承認を求めます。

主な機能

  1. 01ICP条件による人物検索
  2. 02ページ取得と検索結果のプレビュー
  3. 03クレジットを使った連絡先補完
  4. 04既存連絡先との重複排除
  5. 05Apolloリスト作成とリード出力

活用シーン

  1. 01職種や企業条件に合う見込み客の検索
  2. 02補完クレジットを使う前の結果確認
  3. 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の条件
  1. 対象とする役職名は何ですか?(例:「VP of Sales」「Head of Growth」)
  2. 役職レベルは何ですか?選択肢:owner、founder、c_suite、partner、vp、director、manager、senior、entry
  3. 会社規模(従業員数の範囲)はどれくらいですか?形式:「51,200」「201,500」「501,1000」「1001,5000」
  4. 対象とする地域はどこですか?(例:「United States」「San Francisco, California」)
  5. 業界/キーワードタグは何ですか?(例:「SaaS」「Software」「FinTech」)
  6. 除外する役職名はありますか?(例:「intern」「assistant」)
  7. これらの連絡先を含むApolloリストを作成しますか?(デフォルト:はい)
  8. 何件の結果が必要ですか?(テスト: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、entry
  • person_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:プレビューを提示 — 検索結果のサンプル(名、役職名、会社名)と合計件数をユーザーに提示します。エンリッチメントを実行する前に承認を求めます。

モードごとの上限
パラメーターテスト標準全件
最大ページ数150500
最大結果数1005,00050,000
検索クレジット000

費用:無料。 People SearchではApolloクレジットを消費しません。

データベース書き込みポリシー

重要:ユーザーの明示的な承認なしに、リードをエクスポートしてはいけません。

検索フェーズは無料です。エンリッチメントのフェーズではクレジットが必要です。

必須の手順:

  1. まず検索を実行する(無料)— 結果を確認します
  2. 検索結果をユーザーに提示する:一致件数、リードのサンプル、役職名の分布
  3. エンリッチメントのフェーズを実行する前に、ユーザーから明示的な承認を得る
  4. エンリッチメント後、エクスポートする前に、エンリッチ済みの結果をユーザーに提示する
  5. ユーザーが結果に問題がないことを確認した後にのみ、エクスポートする

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 として現在の作業ディレクトリ、またはユーザーが指定した場所に保存します。

モードごとの上限
パラメーターテスト標準フル
エンリッチメントの最大数105002,500
使用クレジット数105002,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

コメント