mcpField
G
gmaps-leads

gmaps-leads

github.com/aiagentwithdhruvマーケティング・グロース20136 回インストール15 週間前に更新
リポジトリ

gmaps-leads について

gmaps-leadsは、Google Mapsから事業者情報を集め、ウェブサイトのスクレイピングと連絡先抽出でデータを補うリード生成スキルです。結果をGoogle Sheetsに同期でき、既存シートへの追加や並列処理にも対応します。

主な機能

  1. 01Google Mapsの事業者情報取得
  2. 02ウェブサイトと問い合わせページの抽出
  3. 03DuckDuckGoによる連絡先情報の補完
  4. 04Claudeによる連絡先の構造化抽出
  5. 05Google Sheets同期と重複排除
  6. 06件数と並列ワーカーの設定

活用シーン

  1. 01地域事業者の見込み客リスト作成
  2. 02見込み客のオーナー情報補完
  3. 03シートへの新規見込み客の追加

インストール

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

$npx skills add https://github.com/aiagentwithdhruv/skills --skill gmaps-leads

インストール後、Claude Code で/gmaps-leadsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
extract_website_contacts.py
gmaps_lead_pipeline.py
gmaps_parallel_pipeline.py
scrape_google_maps.py
update_sheet.py

詳細

Google Maps リード獲得

目標

Google Maps から質の高い B2B リードを生成し、ウェブサイトをスクレイピングして Claude で構造化された連絡先データを抽出することで、連絡先情報を詳細に補完します。

入力

パラメーター必須説明
--searchはい検索クエリ(例:「plumbers in Austin TX」)
--limitいいえ最大結果数(デフォルト:10)
--sheet-urlいいえ追記先の既存シート
--workersいいえ並列ワーカー数(デフォルト:3)

スクリプト

  • ./scripts/gmaps_lead_pipeline.py - メインのオーケストレーション
  • ./scripts/gmaps_parallel_pipeline.py - 並列処理版
  • ./scripts/scrape_google_maps.py - Google Maps スクレイパー
  • ./scripts/extract_website_contacts.py - ウェブサイト連絡先抽出ツール
  • ./scripts/update_sheet.py - Google Sheets 同期

プロセス

基本的な使い方
# Create new sheet with 10 leads
python3 ./scripts/gmaps_lead_pipeline.py --search "plumbers in Austin TX" --limit 10

# Append to existing sheet (recommended for building database)
python3 ./scripts/gmaps_lead_pipeline.py --search "dentists in Miami FL" --limit 25 \
  --sheet-url "https://docs.google.com/spreadsheets/d/..."

# Higher volume
python3 ./scripts/gmaps_lead_pipeline.py --search "roofing contractors in Austin TX" \
  --limit 50 --workers 5

パイプラインの手順

  1. Google Maps のスクレイピング - Apify compass/crawler-google-places がリスティングを返します
  2. ウェブサイトのスクレイピング - メインページと最大 5 件の連絡先ページを取得します
  3. ウェブ検索による情報補完 - DuckDuckGo でオーナーの連絡先情報を検索します
  4. Claude による抽出 - Claude 3.5 Haiku が構造化された連絡先情報を抽出します
  5. Google Sheet との同期 - 新しいリードを追記し、lead_id で重複を除外します

出力スキーマ(36 フィールド)

ビジネスの基本情報: business_name、category、address、city、state、zip_code、phone、website、rating、review_count

抽出した連絡先: emails、additional_phones、business_hours

ソーシャルメディア: facebook、twitter、linkedin、instagram、youtube、tiktok

オーナー情報: owner_name、owner_title、owner_email、owner_phone、owner_linkedin

チームの連絡先: チームメンバーの JSON 配列

メタデータ: lead_id、scraped_at、search_query、pages_scraped、enrichment_status

コスト

コンポーネントリード 1 件あたり
Apify Google Maps約 $0.01-0.02
Claude Haiku約 $0.002
DuckDuckGo/HTTP無料
合計約 $0.012-0.022

100 件のリードの場合:合計で約 $1.50-2.50

トラブルシューティング

  • 「No businesses found」:クエリに場所を含めてください
  • 403 Forbidden:サイトの約 10-15% がスクレイパーをブロックします(適切に処理されます)
  • 認証の問題:token.json を削除して再認証してください
  • 重複:lead_id(name|address の MD5)を使用して重複を除外します

環境

APIFY_API_TOKEN=your_token
ANTHROPIC_API_KEY=your_key

スキーマ

入力
名前型必須説明
searchstringはい検索クエリ(例:'plumbers in Austin TX')
limitintegerいいえ最大結果数(デフォルト:10)
sheet_urlstringいいえ追記先の既存シート
workersintegerいいえ並列ワーカー数(デフォルト:3)
出力
名前型説明
sheet_urlstring36 フィールドのリードデータを含む Google Sheet の URL
lead_countintegerスクレイピングしたリード数
認証情報
名前ソース
APIFY_API_TOKEN.env
ANTHROPIC_API_KEY.env
組み合わせ可能なツール

このツールと組み合わせやすいスキル:classify-leads、casualize-names、instantly-campaigns、onboarding-kickoff

コスト

リード 1 件あたり $0.012-0.022

コメント