飲食店グループ、クリニックのネットワーク、小売チェーンなどを運営していると、店舗ごとに Google マップのレビューがあり、それぞれ語る内容が違います。ある店舗では対応が遅く、別の店舗では店長の態度が悪い、といった具合です。10 店舗、50 店舗にわたるレビューを毎週人が読むのは現実的ではありません。Lovely Router がそれを収集します。プレイス ID またはリンクを送るとレビュー 1 件につき 1 つの JSON オブジェクトが返り、料金はプリペイド残高からレビュー 1 件ごとに差し引かれます。スクリプトでもダッシュボードのジョブでも 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>仕組み
プレイス ID を集める
各店舗のプレイス ID を使います。
ChIJまたはGhIJで始まる 27 文字の ID、または Google マップのプレイスのリンクです。上限を付けてツールを実行する
それらを
maxReviewsとmax_resultsと一緒にPOST /v1/tools/google-maps-reviews/runに送ります。reviewsSortで、新しい順、評価の低い順、関連度の高い順のどれで取得するかを選べます。グループ化して読む
レビューを店舗と週ごとにグループ化します。低い星の数を数えたら、不満に共通する点をモデルに要約させます。
1 回のリクエストでレビューを取得する
Google マップのレビューツールは、placeIds または startUrls を受け取ります。maxReviews は店舗ごとのレビュー数の上限、max_results は実行全体の上限です。
curl https://lovelyrouter.com/v1/tools/google-maps-reviews/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"placeIds": ["ChIJN1t_tDeuEmsRUsoyG83frY4"],
"maxReviews": 3,
"reviewsSort": "newest"
},
"max_results": 3
}'60 秒を過ぎても実行中の場合は 202 が返ります。ポーリングの方法はツールを実行するをご覧ください。
各レビューに含まれる情報
| フィールド群 | 取得できるもの |
|---|---|
| Rating | 付けられた星の数 |
| Content | レビューの本文 |
| Timing | レビューの日付 |
| Response | オーナーの返信(ある場合) |
language を使うと、指定した言語のレビューを取得できます。出力をモデルと組み合わせれば、同じジョブでレビューの翻訳や分類もできます。
レシピ
各店舗を reviewsSort を newest にして実行し、直近 7 日間の星 1 つか 2 つのレビューだけを残して、店長に送ります。
オーナーの返信がないレビューを絞り込み、カスタマーケアの担当者にリストを渡します。
店舗ごとに 200 件のレビューを集め、待ち時間、スタッフ、清潔さ、価格などのテーマをモデルに付けさせて、店舗を比較します。
reviewsSort を lowestRanking にして、普通のレビューを読む前に、最も怒っている顧客が何を書いたかを確認します。
ライバルのプレイス ID を lowestRanking で実行し、繰り返し出てくる不満を確かめて、その点で自社が上回れるかどうかを検討します。
普段の言葉で頼みたい場合は、MCP サーバーを接続して Claude Code や Cursor に次のように伝えます。「places.txt にある各プレイス ID の最新レビューを 100 件ずつ読み取り、星 1 つか 2 つのものにフラグを付けて、不満をテーマごとにグループ化してください。max_results は 1000 に設定してください。」
他のレビュー・地域ソースと組み合わせる
Google マップは、顧客が声を上げる場所の 1 つにすぎません。ほかの場所も合わせると全体像が見えてきます。
Google マップの場所(プレイス ID または URL)のレビュー:本文、星評価、日付、オーナーの返信。
キーワードと地域で Google マップ上の店舗・事業者を検索:名前、住所、電話番号、Web サイト、評価、レビュー数、営業時間、座標。
ドメインで企業の Trustpilot レビューを取得:星評価、本文、日付、返信。
Tripadvisor のホテル・レストラン・観光地のレビュー:評価、タイトル、本文、日付、旅行タイプ。
google-maps-placesは、モニタリングしたい店舗のプレイス ID と基本データを見つけます。trustpilot-reviewsは、ドメインを指定して企業のレビューを、星の数、本文、日付、返信とともに読み取ります。tripadvisor-reviewsは、レストラン、ホテル、観光スポットのレビューをカバーします。
ワークフロー全体については、レビューモニタリングをご覧ください。
料金
料金はレビュー 1 件ごとにかかります。実行を開始すると最大費用(呼び出し料金 + レビュー 1 件あたりの単価 × max_results)が仮押さえされ、実際に返った分で精算されて、仮押さえの残りは残高に戻ります。失敗またはタイムアウトした実行は返したレビューの分だけを支払い、開始時に拒否された実行は無料です。
毎週 300 件のレビューを取得すると、週あたりレビュー 300 件分として課金されます。サブスクリプションや月額の最低利用料はなく、$5 からチャージでき、1 つの残高でツールとモデルの両方を支払えます。現在の価格は上のカードに表示されており、料金ではすべてのツールを一覧できます。
よくある質問
プレイス ID はどこで見つけられますか?+
プレイス ID は ChIJ または GhIJ で始まる 27 文字の文字列です。代わりに、Google マップのプレイスのリンクを startUrls に渡すこともできます。店舗を探すには google-maps-places が役立ちます。
何件のレビューを取得できますか?+
maxReviews は店舗ごとのレビュー数の上限で、1 回の実行では max_results により合計で最大 500 件まで返せます。それ以上は複数の実行を開始してください。
最新のレビューだけを取得できますか?+
はい。reviewsSort を newest に設定します。ほかの選択肢は mostRelevant、highestRanking、lowestRanking です。
オーナーの返信は含まれますか?+
はい。オーナーの返信がある場合は、各レビューに含まれる情報の一部として返ります。
サブスクリプションは必要ですか?+
いいえ。プリペイド残高にクレジットを追加し、実行ごとに残高から差し引かれます。失敗した実行は返した結果の分だけを支払い、自動で更新されるものは何もありません。
複数のプラットフォームでレビューを追うなら、レビューモニタリング、ツールカタログ、料金をご覧ください。