CSV
Открывается в любой программе для работы с таблицами. К тексту, начинающемуся с =, +, - или @, в начале добавляется апостроф, чтобы таблица не выполняла его как формулу.
Парсер отзывов Google Maps читает общедоступные отзывы одного ID компании: текст, оценку, дату, автора и ответ владельца, до 100 на страницу. Экспортируйте эту страницу или прочитайте её через API.
Перед запуском · Для реальных данных нужен настроенный источник данных. Примеры помечены. Платные планы пока недоступны.

Парсер отзывов Google Maps получает общедоступные отзывы по одному ID компании: текст, оценку, дату, автора и ответ владельца — до 100 отзывов на страницу. Поиска по категории в нём нет. Экспортируйте эту страницу или запросите следующую с отдельным бюджетом.
Набор полей зависит от отзыва. Поле отображается, только если источник данных его возвращает, а пустое поле не доказывает, что такой информации нет.
review_textratingreview_datetime_utcreview_timestampreview_languagereview_linkreview_photosauthor_nameauthor_linkauthor_review_countowner_response_textowner_response_datetime_utclike_countreview_idbusiness_idВыполните поиск в разделе «Поиск компаний», откройте компанию и выберите «Коллекция отзывов» в разделе «Подготовить последующую задачу». Можно также выбрать «Коллекция отзывов» и вставить ID компании.
Выберите «Порядок отзывов», при необходимости «Текстовый фильтр отзывов» и до 100 отзывов. Проверьте максимальное количество единиц и запустите.
Откройте «Страницы результатов», чтобы получать по одной следующей странице, у каждой свой бюджет. Скачайте CSV, Excel, JSON или JSONL либо объедините страницы в один экспорт всей цепочки.
Чтобы собрать отзывы о нескольких компаниях, выберите их в разделе «Поиск компаний» и нажмите «Собрать отзывы для выбранного в Массовом поиске». Каждая компания становится одной задачей в рамках одного общего бюджета.
Парсер отзывов 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
}Создайте задачу по отзывам, дождитесь её завершения, прочитайте отзывы, затем откройте предпросмотр следующей страницы. Отправка этой страницы — отдельная платная задача.
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"])Открывается в любой программе для работы с таблицами. К тексту, начинающемуся с =, +, - или @, в начале добавляется апостроф, чтобы таблица не выполняла его как формулу.
Книга для Excel или Google Таблиц для результатов объёмом примерно до 5 МБ. Для более крупных результатов используйте JSON Lines.
Полный результат с источником и временем получения каждой записи, а также охватом задачи.
Один отзыв на строку, для больших файлов и конвейеров данных.
Каждая страница до 100 отзывов резервирует одну единицу, сколько бы отзывов она ни вернула. За неудачные, отмененные задачи и задачи с неопределенным результатом ничего не списывается. Чтение, экспорт и объединение уже полученных страниц не расходуют единицы.
Цепочка страниц для одной компании останавливается на лимите страниц вашего рабочего пространства (по умолчанию 20 страниц, максимум 100) или когда у источника данных нет следующей страницы.
ЦеныНет. MapsScraper.dev является независимым сервисом и не связан с Google. Результаты поступают из стороннего источника данных о компаниях и используют наш собственный формат JSON.
Парсер отзывов Google Maps возвращает до 100 отзывов на странице. Каждая следующая страница — отдельная задача с отдельным бюджетом, пока у источника данных не закончатся страницы или не будет достигнут лимит страниц вашего рабочего пространства. Компания может показывать больше отзывов, чем возвращает источник данных.
Мы не можем давать юридические консультации. Законность сбора и использования данных о компаниях зависит от того, где вы находитесь, что собираете, зачем используете эти данные и какие условия применяются. Сама по себе общедоступность не означает разрешения хранить, перепродавать данные или связываться с людьми. Прочитать нашу политику в отношении данных
Изучите процесс на помеченных примерах, затем подключите пространство для реального исследования.
Открыть пример