Google Maps 評論抓取工具

Google Maps 評論抓取工具讀取一個商家 ID 的公開評論:正文、評分、日期、作者和店主回覆,每頁最多 100 則。匯出該頁,或透過 API 讀取。

執行之前 · 即時研究需要設定資料來源。範例資料均有標註。付費方案尚未開放。

什麼是 Google Maps 評論抓取工具?

Google Maps 評論抓取工具(Google Maps reviews scraper)針對一個商家 ID 讀取公開評論:正文、評分、日期、作者和店主回覆,每頁最多 100 則。它不依類別搜尋商家。您可以匯出這一頁,或用另一筆預算再請求一頁。

每則評論中的欄位

欄位因評論而異。只有當資料來源傳回某個欄位時,該欄位才會顯示;欄位為空並不能證明該資訊不存在。

三個步驟完成 Google Maps 評論抓取與匯出

  1. 選擇商家

    在「探索商家」中搜尋並開啟一個商家,然後在「準備後續任務」下選擇「評論集」。也可以選擇「評論集」並貼上商家 ID。

  2. 設定頁面,然後執行

    選擇評論排序和可選的評論文字篩選,評論數量最多設為 100 則。確認最大單位數後再執行。

  3. 取得更多頁面並匯出

    開啟「結果頁」,每次多取得一頁,每頁使用各自的預算。下載 CSV、Excel、JSON 或 JSONL,或將各頁合併為一次全鏈匯出。

如需對多個商家進行 Google Maps 評論抓取,請在「探索商家」中選取這些商家,然後選擇「在批量研究中為所選項目收集評論」。每個商家成為一個任務,共用一個總預算。

Google Maps 評論 API

用商家 ID 和明確的單位預算建立 Google Maps 評論抓取任務,然後逐頁讀取評論。讀取已儲存的評論絕不會發起新的研究。

在 MCP 用戶端中,先使用 estimate_job,再以固定的 idempotency_key 和 max_units 呼叫 create_job,並透過 get_job_results 讀取結果。對於下一頁,preview_provider_continuation 會傳回需要授權的確切任務。

curl -X POST https://mapsscraper.dev/api/v1/jobs \
  -H "Authorization: Bearer $MAPSSCRAPER_API_KEY" \
  -H "Idempotency-Key: reviews-sample-business-001" \
  -H "X-Max-Units: 1" \
  -H "Content-Type: application/json" \
  -d '{"kind":"reviews","business_id":"sample-business-id","limit":100,"review_options":{"sort_by":"newest"}}'

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

curl "https://mapsscraper.dev/api/v1/jobs/6f1c2b3a-0000-4000-8000-000000000000/results?offset=0&limit=100" \
  -H "Authorization: Bearer $MAPSSCRAPER_API_KEY"

範例回應(已縮減)。數值僅供示意,並非真實商家資料。

{
  "items": [
    {
      "review_id": "sample-review-id",
      "business_id": "sample-business-id",
      "review_text": "Friendly staff and a short wait.",
      "rating": 5,
      "review_language": "en",
      "author_name": "Sample Reviewer",
      "owner_response_text": "Thank you for visiting.",
      "like_count": 2,
      "_source": {
        "provider": "live_maps",
        "fetched_at": "2026-11-01T12:00:00Z"
      }
    }
  ],
  "count": 1,
  "offset": 0,
  "next_offset": null,
  "provider": "live_maps",
  "coverage": "bounded_sample",
  "fetched_at": "2026-11-01T12:00:00Z"
}

MCP create_job 工具的引數

{
  "task": {
    "kind": "reviews",
    "business_id": "sample-business-id",
    "limit": 100,
    "review_options": {
      "sort_by": "newest"
    }
  },
  "idempotency_key": "reviews-sample-business-001",
  "max_units": 1
}

Python 範例

建立 Google Maps 評論抓取任務,等待完成後讀取評論,再預覽下一頁。提交下一頁是另一個獨立的付費任務。

import os
import time
import uuid

import requests

API = "https://mapsscraper.dev/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MAPSSCRAPER_API_KEY']}"}


def run(task, units):
    # Keep the key: a retry of the same page 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"):
            return job_id, status
        time.sleep(5)


task = {"kind": "reviews", "business_id": "sample-business-id", "limit": 100,
        "review_options": {"sort_by": "newest"}}
units = requests.post(f"{API}/estimate", json=task, headers=HEADERS, timeout=30).json()["units"]
job_id, status = run(task, units)

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 review in page["items"]:
        print(review.get("rating"), review.get("review_text"))

    # The next source page is a separate paid task: preview it, then submit
    # its exact task only if you need it.
    preview = requests.get(f"{API}/jobs/{job_id}/continuation", headers=HEADERS, timeout=30).json()
    if preview["available"]:
        run(preview["task"], preview["units"])

匯出格式

CSV

可在任何試算表中開啟。以 =、+、- 或 @ 開頭的文字會加上撇號前綴,避免試算表將其作為公式執行。

Excel (XLSX)

適用於 Excel 或 Google 試算表的活頁簿,適合約 5 MB 以內的結果。更大的結果請使用 JSON Lines。

JSON

完整結果,包含每筆記錄的來源、取得時間以及任務的涵蓋範圍。

JSON 行

每行一則評論,適用於大型檔案和資料管線。

費用與限制

Google Maps 評論抓取按頁預留單位:每頁最多 100 則評論,無論實際回傳多少則,都預留一個單位。失敗、已取消和結果不確定的任務不收費。讀取、匯出和合併已有頁面不消耗單位。

單一商家的頁面鏈會在達到工作區頁數上限(預設 20 頁,最多 100 頁)或資料來源沒有下一頁時停止。

價格

資源

Google Maps 評論抓取常見問題

文件
這是 Google Places API 嗎?

不是。MapsScraper.dev 是獨立服務,與 Google 沒有關聯。結果來自第三方商家資料來源,並採用我們自己的 JSON 格式。

一個商家可以收集多少則評論?

每頁最多 100 則評論。之後每一頁都是獨立的 Google Maps 評論抓取任務和預算,直到資料來源沒有下一頁或達到工作區頁數上限為止。商家顯示的評論數可能多於資料來源回傳的數量。

Google Maps 資料擷取合法嗎?

我們無法提供法律建議。蒐集和使用商家資料是否合法,取決於您所在的地區、蒐集的內容、使用目的以及適用的條款。僅憑公開可得,並不代表已獲得儲存、轉售或聯絡相關人員的許可。 閱讀我們的資料政策

下一份名單,從一個地點開始。

先用明確標註的範例紀錄體驗流程,再連接工作區進行即時研究。

查看範例