歯科医院、ジム、飲食店、工務店など、地元の事業者に営業するなら、Google マップにはすでに掲載されています。ただ、メールアドレスは各事業者の公式サイトにあります。何百ものサイトを開いて探す作業が、リードリスト作りが止まる原因です。Lovely Router はその両方の工程を行います。業種と場所を送ると、公式サイトで見つかったメール、電話、SNS のリンクとともに、店舗ごとに 1 つの JSON オブジェクトが返り、料金はプリペイド残高から店舗 1 件ごとに差し引かれます。スクリプトでも CRM のインポートジョブでも AI エージェントでも、1 つの API キーで呼び出せます。
AI エージェントに任せる
このプロンプトを Claude Code、Cursor、Codex などのコーディングエージェントに貼り付けてください。ドキュメントの場所と API キーの使い方をエージェントに伝えます。
Google マップからメール付きの地元企業リードリストを作る. Use the Lovely Router data tools: each returns JSON and is billed per result.
- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <the inputs (links, keywords or accounts) and how many results you need>仕組み
業種とエリアを決める
dentistのような検索語を 1 つ以上と、都市などの場所を選びます。検索は、その周囲の約radiusキロメートルの範囲が対象です。上限を付けてツールを実行する
検索を
maxResultsとmax_resultsと一緒にPOST /v1/tools/google-maps-leads/runに送ります。実行は最大費用を残高から仮押さえし、店舗を JSON で返します。リストを取り込む
メールのない店舗を除外し、CRM と照合して重複を取り除き、残りをインポートします。営業担当が連絡前に事業内容を確認できるよう、店名と住所は残しておきます。
1 回のリクエストでリードリストを取得する
メール付きの Google マップのリードツールは、searchTerms と location を受け取ります。店舗 1 件が 1 件の結果で、1 回の実行で最大 200 件を返せます。
curl https://lovelyrouter.com/v1/tools/google-maps-leads/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"searchTerms": ["dentist"],
"location": "Miami, FL, USA",
"maxResults": 3,
"websiteFilter": "withWebsite"
},
"max_results": 3
}'60 秒を過ぎても実行中の場合は 202 が返ります。ポーリングの方法はツールを実行するをご覧ください。websiteFilter では、ウェブサイトのある店舗だけ(withWebsite)、ない店舗だけ(withoutWebsite)、またはすべてを対象にできます。
各店舗に含まれる情報
| フィールド群 | 取得できるもの |
|---|---|
| Business | Google マップに掲載されている地元の事業者 |
| Contacts | 公式サイトで見つかったメールと電話番号 |
| Social | 公式サイトで見つかった SNS プロフィールのリンク |
withoutWebsite を使うと、サイトをまったく持たない事業者を探せます。ウェブサイト制作を提供しているなら、それだけでリードリストになります。
レシピ
対象の都市で plumber を検索し、ウェブサイトのある店舗だけを残して、メール付きのリストをその週の営業担当に渡します。
searchTerms に restaurants、cafe、bakery のように複数の語を渡すと、結果は重複を除いた 1 つの集合にまとまります。語ごとに見つかる店舗が異なります。
websiteFilter を withoutWebsite にして、ウェブ制作や掲載サービスを電話で提案します。
同じ検索を 5 つの都市でスクリプトから実行し、都市ごとにメールのある店舗がいくつあるかを比べて、どこから始めるかを決めます。
最初のキャンペーンの前に、メールを email-verify に通して、バウンスで送信ドメインの評価が下がらないようにします。
普段の言葉で頼みたい場合は、MCP サーバーを接続して Claude Code や Cursor に次のように伝えます。「マイアミのウェブサイトのある歯科医院を 100 件探し、店名、電話、メール、ウェブサイトを CSV にまとめて、メールのない店舗は除外してください。max_results は 100 に設定してください。」
連絡先データを適法に使う責任はお客様にあります。お客様と受信者がいる地域で適用されるプライバシーおよびスパム防止のルールに従ってください。
他のリードソースと組み合わせる
地元の事業者は対象層の 1 つにすぎません。企業や個人の調査、そして集めたデータの確認には次のツールを使います。
Google マップの店舗・事業者と、その Web サイトから取得したメール・電話・SNS リンク。地域のリードリスト作成向け。
キーワードと地域で Google マップ上の店舗・事業者を検索:名前、住所、電話番号、Web サイト、評価、レビュー数、営業時間、座標。
Web サイトをクロールし、メールアドレス、電話番号、SNS プロフィールのリンクを抽出します。
メールアドレスが届くか確認:形式、ドメイン、MX レコード、メールボックスの状態。
google-maps-placesは、メールが不要な場合に、キーワードと場所から店舗を探し、評価、レビュー数、営業時間を返します。website-contactsは、任意のウェブサイトをクロールしてメール、電話、SNS のリンクを集めます。他のソースから得たリードにも使えます。email-verifyは、送信前にアドレスが配信可能かどうかを確認します。
ワークフロー全体については、リード獲得をご覧ください。
料金
料金は店舗 1 件ごとにかかります。実行を開始すると最大費用(呼び出し料金 + 店舗 1 件あたりの単価 × max_results)が仮押さえされ、実際に返った分で精算されて、仮押さえの残りは残高に戻ります。失敗またはタイムアウトした実行は返した店舗の分だけを支払い、開始時に拒否された実行は無料です。
300 件の店舗のリストは、店舗 300 件分として課金されます。サブスクリプションや月額の最低利用料はなく、$5 からチャージでき、1 つの残高でツールとモデルの両方を支払えます。現在の価格は上のカードに表示されており、料金ではすべてのツールを一覧できます。
よくある質問
1 回の検索で何件のリードを取得できますか?+
周辺検索で返るのは、検索語 1 つにつき最大でおよそ 60 件で、1 回の実行では最大 200 件を返せます。より大きなリストを作るには、複数の検索語や複数の場所を使ってください。
すべての店舗にメールはありますか?+
いいえ。メール、電話、SNS のリンクは事業者自身の公式サイトで見つかったものなので、ウェブサイトのない店舗や、アドレスを公開していない店舗には含まれません。
他の国や言語でも検索できますか?+
location に任意の都市や住所を、language に en、de、fr、es、ja、zh などの言語コードを設定します。店名や説明はその言語に従います。
通常の Maps 検索とはどう違いますか?+
google-maps-places が返すのは、住所、電話、評価、営業時間といった事業者の掲載情報です。このツールは、それに加えて公式サイトからメールと SNS のリンクも集めます。
サブスクリプションは必要ですか?+
いいえ。プリペイド残高にクレジットを追加し、実行ごとに残高から差し引かれます。失敗した実行は返した結果の分だけを支払い、自動で更新されるものは何もありません。