Google Maps scraper API・MCP

Google Maps scraper API は、アプリやエージェントから上限付きのビジネス検索を実行します。権限を限定したワークスペースキーと明示的なタスク予算を使い、再試行はすべて同じ冪等キーで行います。結果は JSON で、欠けた項目は空欄のままです。

実行する前に · 実データの調査にはデータソースの設定が必要です。サンプルは明示します。有料プランはまだ提供していません。

制限付きジョブを作成する

Google Maps scraper API を、権限を限定したキーで REST や HTTP MCP クライアントに接続。タスクの見積もり、予算の指定、構造化された結果の取得ができます。

curl -X POST https://mapsscraper.dev/api/v1/jobs \
  -H "Authorization: Bearer $MAPSSCRAPER_API_KEY" \
  -H "Idempotency-Key: dentists-austin-tx-001" \
  -H "X-Max-Units: 1" \
  -H "Content-Type: application/json" \
  -d '{"kind":"search","query":"Dentists in Austin, TX","limit":20,"region":"us"}'

HTTP/1.1 202 Accepted
{"id":"6f1c2b3a-0000-4000-8000-000000000000","status":"queued","reserved":1}

同じ冪等性キーを使って同じ業務操作を再試行します。そのキーで内容を変えたリクエストは 409 を返します。ジョブは、キュー待ち、実行中、完了、一部完了、失敗、キャンセル、不確定のいずれかの状態を経ます。データソースへのリクエストが不確定な場合は、自動の有料再実行ではなく照合が必要です。

Google Maps scraper API とは何ですか?

Google Maps scraper API は業種と地域を受け取り、公開リスティングを JSON で返します。リクエストの前に、タスクの上限予算を確認できます。各タスクは権限を限定したキーと冪等キーを使い、クチコミは別のリクエストで取得します。

結果を読み取る

Google Maps scraper API で完了・一部完了したジョブの結果は、ワークスペースの保持期間中保存されます。offset と limit でページごとに読み取れます。保存済みの結果を読み取っても、新しいリサーチは実行されません。

レスポンス例(一部省略)。値は説明用であり、実在するビジネスのデータではありません。

{
  "items": [
    {
      "business_id": "sample-business-id",
      "name": "Sample Dental Studio",
      "full_address": "100 Example Ave, Austin, TX 78701",
      "phone_number": "+1 512-555-0100",
      "website": "https://dental.example",
      "type": "Dentist",
      "rating": 4.8,
      "review_count": 214,
      "latitude": 30.2672,
      "longitude": -97.7431,
      "_source": {
        "provider": "live_maps",
        "fetched_at": "2026-11-01T12:00:00Z",
        "website_status": "provided_unverified"
      }
    }
  ],
  "count": 1,
  "offset": 0,
  "next_offset": null,
  "provider": "live_maps",
  "coverage": "bounded_sample",
  "fetched_at": "2026-11-01T12:00:00Z"
}

Google Maps クチコミ API

1 タスクにつき 1 つのビジネスIDのクチコミをリクエストできます。1 ページあたり最大 100 件で、関連度順、新しい順、評価の高い順、評価の低い順に並べ替えられます。各クチコミには本文、評価、日付、投稿者、オーナーの返信(ある場合)が含まれます。次のページには別のタスクと予算が必要です。

口コミ取得
POST /api/v1/jobs
Idempotency-Key: reviews-sample-business-001
X-Max-Units: 1

{"kind":"reviews","business_id":"sample-business-id","limit":50,"review_options":{"sort_by":"newest"}}

Pythonの例

requests ライブラリで Google Maps scraper API を呼び出し、検索の見積もり、ジョブの作成、最終ステータスの待機、結果の読み取りを行います。

import os
import time
import uuid

import requests

API = "https://mapsscraper.dev/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MAPSSCRAPER_API_KEY']}"}
task = {"kind": "search", "query": "Dentists in Austin, TX", "limit": 20, "region": "us"}

# An estimate reserves nothing.
units = requests.post(f"{API}/estimate", json=task, headers=HEADERS, timeout=30).json()["units"]

# Keep the key: a retry of the same task must send it again.
key = str(uuid.uuid4())
job = requests.post(
    f"{API}/jobs",
    json=task,
    headers={**HEADERS, "Idempotency-Key": key, "X-Max-Units": str(units)},
    timeout=30,
)
job.raise_for_status()
job_id = job.json()["id"]

while True:
    status = requests.get(f"{API}/jobs/{job_id}", headers=HEADERS, timeout=30).json()["status"]
    if status not in ("queued", "running"):
        break
    time.sleep(5)

if status in ("completed", "partial"):
    page = requests.get(
        f"{API}/jobs/{job_id}/results",
        params={"offset": 0, "limit": 100},
        headers=HEADERS,
        timeout=30,
    ).json()
    for business in page["items"]:  # follow page["next_offset"] for more
        print(business.get("name"), business.get("phone_number"), business.get("website"))

Google Maps scraper API に関するよくある質問

ドキュメント
これは Google Places API ですか?

いいえ。MapsScraper.devは独立したサービスであり、Googleとは提携していません。結果はサードパーティのビジネスデータソースから取得され、当社独自のJSON形式で提供されます。

Google Maps scraper API のリクエストはどう課金されますか?

ほとんどのタスクは 1 ユニットを使います。検索または順位スナップショットで連絡先を補完すると、要求したレコードごとに 1 ユニットが追加で予約され、実際に届いたレコード分だけが課金されます。ビジネス詳細は 1 ユニット、連絡先付きなら 2 ユニット、補完は 2 ユニットです。X-Max-Units は見積もり以上に設定してください。

メールアドレスや電話番号は必ず取得できますか?

いいえ。取得範囲は出典とビジネスによります。任意の補完で公開連絡先が得られる場合もありますが、欠損や古い情報は利用前に確認してください。

リソース

次のリストは、ひとつの場所から。

サンプルと明示したデータで流れを試し、実際の調査にはワークスペースを接続してください。

サンプルを見る