ユースケース

Google マップからメール付きの地元企業リードリストを作る

Google マップで地元の店舗や企業を検索し、公式サイトにあるメール、電話、SNS のリンクとあわせて JSON で取得。CRM や営業リストにそのまま使えます。

プリペイド、サブスクなしREST でも MCP でもモデル・データ・エージェントを 1 つのキーで
Google MapsWebsiteslovelyjsonitems[0]"name": "Bright Smile Dental""category": "Dentist""address": "120 Brickell Ave, Mia…"website": "brightsmile.example""email": "office@brightsmile.ex…"phone": "+1 305 555 0142"

歯科医院、ジム、飲食店、工務店など、地元の事業者に営業するなら、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>
01

仕組み

010203
  1. 業種とエリアを決める

    dentist のような検索語を 1 つ以上と、都市などの場所を選びます。検索は、その周囲の約 radius キロメートルの範囲が対象です。

  2. 上限を付けてツールを実行する

    検索を maxResults と max_results と一緒に POST /v1/tools/google-maps-leads/run に送ります。実行は最大費用を残高から仮押さえし、店舗を JSON で返します。

  3. リストを取り込む

    メールのない店舗を除外し、CRM と照合して重複を取り除き、残りをインポートします。営業担当が連絡前に事業内容を確認できるよう、店名と住所は残しておきます。

02

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)、またはすべてを対象にできます。

03

各店舗に含まれる情報

フィールド群取得できるもの
BusinessGoogle マップに掲載されている地元の事業者
Contacts公式サイトで見つかったメールと電話番号
Social公式サイトで見つかった SNS プロフィールのリンク

withoutWebsite を使うと、サイトをまったく持たない事業者を探せます。ウェブサイト制作を提供しているなら、それだけでリードリストになります。

04

レシピ

1 つの都市で 1 つの業種を狙う。

対象の都市で plumber を検索し、ウェブサイトのある店舗だけを残して、メール付きのリストをその週の営業担当に渡します。

広いカテゴリをカバーする。

searchTerms に restaurants、cafe、bakery のように複数の語を渡すと、結果は重複を除いた 1 つの集合にまとまります。語ごとに見つかる店舗が異なります。

ウェブサイトのない事業者を見つける。

websiteFilter を withoutWebsite にして、ウェブ制作や掲載サービスを電話で提案します。

新しい地域を開拓する。

同じ検索を 5 つの都市でスクリプトから実行し、都市ごとにメールのある店舗がいくつあるかを比べて、どこから始めるかを決めます。

補完とクリーニング。

最初のキャンペーンの前に、メールを email-verify に通して、バウンスで送信ドメインの評価が下がらないようにします。

普段の言葉で頼みたい場合は、MCP サーバーを接続して Claude Code や Cursor に次のように伝えます。「マイアミのウェブサイトのある歯科医院を 100 件探し、店名、電話、メール、ウェブサイトを CSV にまとめて、メールのない店舗は除外してください。max_results は 100 に設定してください。」

連絡先データを適法に使う責任はお客様にあります。お客様と受信者がいる地域で適用されるプライバシーおよびスパム防止のルールに従ってください。

05

他のリードソースと組み合わせる

地元の事業者は対象層の 1 つにすぎません。企業や個人の調査、そして集めたデータの確認には次のツールを使います。

  • google-maps-places は、メールが不要な場合に、キーワードと場所から店舗を探し、評価、レビュー数、営業時間を返します。
  • website-contacts は、任意のウェブサイトをクロールしてメール、電話、SNS のリンクを集めます。他のソースから得たリードにも使えます。
  • email-verify は、送信前にアドレスが配信可能かどうかを確認します。

ワークフロー全体については、リード獲得をご覧ください。

06

料金

料金は店舗 1 件ごとにかかります。実行を開始すると最大費用(呼び出し料金 + 店舗 1 件あたりの単価 × max_results)が仮押さえされ、実際に返った分で精算されて、仮押さえの残りは残高に戻ります。失敗またはタイムアウトした実行は返した店舗の分だけを支払い、開始時に拒否された実行は無料です。

300 件の店舗のリストは、店舗 300 件分として課金されます。サブスクリプションや月額の最低利用料はなく、$5 からチャージでき、1 つの残高でツールとモデルの両方を支払えます。現在の価格は上のカードに表示されており、料金ではすべてのツールを一覧できます。

07

よくある質問

?
1 回の検索で何件のリードを取得できますか?+

周辺検索で返るのは、検索語 1 つにつき最大でおよそ 60 件で、1 回の実行では最大 200 件を返せます。より大きなリストを作るには、複数の検索語や複数の場所を使ってください。

すべての店舗にメールはありますか?+

いいえ。メール、電話、SNS のリンクは事業者自身の公式サイトで見つかったものなので、ウェブサイトのない店舗や、アドレスを公開していない店舗には含まれません。

他の国や言語でも検索できますか?+

location に任意の都市や住所を、language に en、de、fr、es、ja、zh などの言語コードを設定します。店名や説明はその言語に従います。

通常の Maps 検索とはどう違いますか?+

google-maps-places が返すのは、住所、電話、評価、営業時間といった事業者の掲載情報です。このツールは、それに加えて公式サイトからメールと SNS のリンクも集めます。

サブスクリプションは必要ですか?+

いいえ。プリペイド残高にクレジットを追加し、実行ごとに残高から差し引かれます。失敗した実行は返した結果の分だけを支払い、自動で更新されるものは何もありません。

パイプライン全体を組むなら、リード獲得、ツールカタログ、料金をご覧ください。

モデル・データ・エージェントを 1 つのプリペイドキーで

サブスクリプションなし。チャージして必要な分だけ使い、すべての請求をログで確認できます。