Google Maps 리뷰 스크래퍼

Google Maps 리뷰 스크래퍼는 비즈니스 ID 하나의 공개 리뷰를 읽습니다. 본문, 평점, 날짜, 작성자, 사장님 답글이며 페이지당 최대 100개입니다. 그 페이지를 내보내거나 API로 읽으세요.

실행 전 · 실시간 리서치는 데이터 소스 설정이 필요합니다. 샘플 데이터는 샘플로 명확히 표시됩니다. 유료 요금제는 아직 제공하지 않습니다.

Google Maps 리뷰 스크래퍼란 무엇인가요?

Google Maps 리뷰 스크래퍼는 비즈니스 ID 하나의 공개 리뷰를 읽습니다. 본문, 평점, 날짜, 작성자, 소유자 답글을 한 페이지에 최대 100개까지 가져오며, 업종으로 검색하지는 않습니다. 그 페이지를 내보내거나 별도 예산으로 다음 페이지를 요청하세요.

각 리뷰의 필드

필드는 리뷰마다 다릅니다. 필드는 데이터 소스가 반환한 경우에만 표시되며, 필드가 비어 있다고 해서 해당 정보가 없다는 증거는 아닙니다.

Google Maps 리뷰 스크래퍼로 리뷰를 내보내는 방법

  1. 업체 선택

    ‘업체 탐색’에서 검색하고 업체를 연 다음 ‘후속 작업 준비’에서 ‘리뷰 모음’을 선택합니다. ‘리뷰 모음’을 선택하고 비즈니스 ID를 붙여 넣을 수도 있습니다.

  2. 페이지 설정 후 실행

    리뷰 정렬과 선택 사항인 리뷰 텍스트 필터를 고르고, 리뷰 수를 최대 100개까지 지정합니다. 최대 단위를 확인한 뒤 실행합니다.

  3. 추가 페이지 가져오기 및 내보내기

    ‘결과 페이지’를 열어 한 번에 한 페이지씩 추가로 가져오며, 페이지마다 별도의 예산이 적용됩니다. CSV, Excel, JSON 또는 JSONL을 다운로드하거나 여러 페이지를 하나의 전체 체인 내보내기로 합칠 수 있습니다.

여러 업체의 리뷰를 수집하려면 ‘업체 탐색’에서 업체를 선택하고 ‘대량 조사에서 선택 항목의 리뷰 수집’을 선택합니다. 각 업체는 하나의 총예산 아래에서 하나의 작업이 됩니다.

Google Maps 리뷰 API

Google Maps 리뷰 스크래퍼 API에서는 비즈니스 ID와 명시적인 단위 예산으로 리뷰 작업을 만든 다음 리뷰를 페이지별로 읽습니다. 저장된 리뷰를 읽을 때는 새 리서치가 실행되지 않습니다.

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 예제

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)

약 5MB까지의 결과에 적합한 Excel 또는 Google Sheets용 통합 문서입니다. 더 큰 결과에는 JSON Lines를 사용하세요.

JSON

각 레코드의 출처와 가져온 시간, 작업 커버리지를 포함한 전체 결과입니다.

JSON 행

한 줄에 리뷰 하나. 대용량 파일과 데이터 파이프라인용입니다.

비용 및 한도

Google Maps 리뷰 스크래퍼에서 최대 100개의 리뷰가 담긴 각 페이지는 반환되는 리뷰 수와 관계없이 1단위를 예약합니다. 실패, 취소 및 불확실한 작업에는 요금이 부과되지 않습니다. 이미 가진 페이지를 읽고, 내보내고, 합치는 데에는 단위가 사용되지 않습니다.

한 업체의 페이지 체인은 워크스페이스 페이지 한도(기본 20페이지, 최대 100페이지)에 도달하거나 데이터 소스에 다음 페이지가 없으면 중지됩니다.

요금

자료

Google Maps 리뷰 스크래퍼 자주 묻는 질문

문서
이것은 Google Places API인가요?

아니요. MapsScraper.dev는 독립적인 서비스이며 Google과 제휴 관계가 없습니다. 결과는 제3자 비즈니스 데이터 소스에서 제공되며 자체 JSON 형식을 사용합니다.

한 업체에서 리뷰를 몇 개까지 수집할 수 있나요?

페이지당 최대 100개입니다. 이후 페이지는 각각 별도의 작업과 예산이며, 데이터 소스에 다음 페이지가 없거나 워크스페이스 페이지 한도에 도달할 때까지 이어갈 수 있습니다. 업체에 표시되는 리뷰 수가 데이터 소스가 반환하는 리뷰보다 많을 수 있습니다.

구글맵 크롤링은 합법인가요?

당사는 법률 자문을 제공할 수 없습니다. 비즈니스 데이터의 수집과 이용이 적법한지는 귀하의 위치, 수집하는 항목, 이용 목적, 적용되는 약관에 따라 달라집니다. 공개되어 있다는 사실만으로 저장, 재판매 또는 사람에게 연락할 수 있는 허가가 생기는 것은 아닙니다. 데이터 정책 읽기

다음 목록은 한 장소에서 시작됩니다.

표시된 샘플 기록으로 흐름을 살펴보고 실제 리서치를 위해 워크스페이스를 연결하세요.

샘플 살펴보기