Парсер отзывов Google Maps

Парсер отзывов Google Maps читает общедоступные отзывы одного ID компании: текст, оценку, дату, автора и ответ владельца, до 100 на страницу. Экспортируйте эту страницу или прочитайте её через API.

Перед запуском · Для реальных данных нужен настроенный источник данных. Примеры помечены. Платные планы пока недоступны.

Что такое парсер отзывов Google Maps?

Парсер отзывов Google Maps получает общедоступные отзывы по одному ID компании: текст, оценку, дату, автора и ответ владельца — до 100 отзывов на страницу. Поиска по категории в нём нет. Экспортируйте эту страницу или запросите следующую с отдельным бюджетом.

Поля каждого отзыва

Набор полей зависит от отзыва. Поле отображается, только если источник данных его возвращает, а пустое поле не доказывает, что такой информации нет.

Парсер отзывов Google Maps в три шага

  1. Выберите компанию

    Выполните поиск в разделе «Поиск компаний», откройте компанию и выберите «Коллекция отзывов» в разделе «Подготовить последующую задачу». Можно также выбрать «Коллекция отзывов» и вставить ID компании.

  2. Настройте страницу и запустите

    Выберите «Порядок отзывов», при необходимости «Текстовый фильтр отзывов» и до 100 отзывов. Проверьте максимальное количество единиц и запустите.

  3. Получите дополнительные страницы и экспортируйте

    Откройте «Страницы результатов», чтобы получать по одной следующей странице, у каждой свой бюджет. Скачайте CSV, Excel, JSON или JSONL либо объедините страницы в один экспорт всей цепочки.

Чтобы собрать отзывы о нескольких компаниях, выберите их в разделе «Поиск компаний» и нажмите «Собрать отзывы для выбранного в Массовом поиске». Каждая компания становится одной задачей в рамках одного общего бюджета.

API отзывов Google Maps

Парсер отзывов Google Maps доступен и через API: создайте задачу по отзывам с ID компании и явным бюджетом в единицах, затем читайте отзывы постранично. Чтение сохранённых отзывов никогда не запускает новое исследование.

В клиенте MCP используйте estimate_job, затем create_job со стабильным idempotency_key и max_units, а читайте через 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

Создайте задачу по отзывам, дождитесь её завершения, прочитайте отзывы, затем откройте предпросмотр следующей страницы. Отправка этой страницы — отдельная платная задача.

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 МБ. Для более крупных результатов используйте JSON Lines.

JSON

Полный результат с источником и временем получения каждой записи, а также охватом задачи.

Строки JSON

Один отзыв на строку, для больших файлов и конвейеров данных.

Стоимость и ограничения

Каждая страница до 100 отзывов резервирует одну единицу, сколько бы отзывов она ни вернула. За неудачные, отмененные задачи и задачи с неопределенным результатом ничего не списывается. Чтение, экспорт и объединение уже полученных страниц не расходуют единицы.

Цепочка страниц для одной компании останавливается на лимите страниц вашего рабочего пространства (по умолчанию 20 страниц, максимум 100) или когда у источника данных нет следующей страницы.

Цены

Материалы

Парсер отзывов Google Maps: частые вопросы

Документация
Это Google Places API?

Нет. MapsScraper.dev является независимым сервисом и не связан с Google. Результаты поступают из стороннего источника данных о компаниях и используют наш собственный формат JSON.

Сколько отзывов можно собрать по одной компании?

Парсер отзывов Google Maps возвращает до 100 отзывов на странице. Каждая следующая страница — отдельная задача с отдельным бюджетом, пока у источника данных не закончатся страницы или не будет достигнут лимит страниц вашего рабочего пространства. Компания может показывать больше отзывов, чем возвращает источник данных.

Законен ли парсинг Google Maps?

Мы не можем давать юридические консультации. Законность сбора и использования данных о компаниях зависит от того, где вы находитесь, что собираете, зачем используете эти данные и какие условия применяются. Сама по себе общедоступность не означает разрешения хранить, перепродавать данные или связываться с людьми. Прочитать нашу политику в отношении данных

Ваш следующий список начинается с места.

Изучите процесс на помеченных примерах, затем подключите пространство для реального исследования.

Открыть пример