# Парсер отзывов 2ГИС | 2GIS Reviews Scraper (2026) (`zen-studio/2gis-reviews-scraper`) Actor

Парсер отзывов 2ГИС — текст, рейтинг, автор, дата, фото, ответ бизнеса. Выгрузка в JSON/CSV/Excel. 7 фильтров: тональность, дата, тема, ключевое слово, источник (2GIS/Flamp/Booking). 207 городов, без браузера. | 2GIS reviews scraper: ratings, text, photos, business replies. Flat CSV-ready output.

- **URL**: https://apify.com/zen-studio/2gis-reviews-scraper.md
- **Developed by:** [Zen Studio](https://apify.com/zen-studio) (community)
- **Categories:** Social media, Automation
- **Features:** Limited permissions
- **Stats:** 496 total users, 96 monthly users, 99.3% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.50 / 1,000 review scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Парсер отзывов 2ГИС 2GIS — Extract Reviews, Ratings & Business Replies | 2GIS Reviews Scraper (2026)

[![Pull reviews from any 2GIS place. No review cap. Photos. Business replies.](https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/2gis-reviews-scraper-readme-hero-v3.png)](https://console.apify.com/actors/pCbr23de0yAFP7Ccc/input)

От <strong>Zen Studio</strong>, создателей парсеров <a href="https://apify.com/zen-studio/yandex-maps-scraper">Яндекс Карт</a>, <a href="https://apify.com/zen-studio/apple-maps-scraper-pro">Apple Maps</a>, <a href="https://apify.com/zen-studio/ozon-scraper-pro">Ozon</a> и <a href="https://apify.com/zen-studio/avito-listings-scraper">Avito</a>.<br>From Zen Studio, the team behind established maps and Russian marketplace scrapers.

### Почему этот актор? / Why choose this actor?

<strong>Без лимита на отзывы. / No review cap.</strong><br>На платном тарифе укажите <code>maxReviews: 0</code>, чтобы собирать доступные отзывы со звёздной оценкой без заданного лимита на место.<br>On a paid plan, set <code>maxReviews</code> to <code>0</code> to collect available rated reviews without a per-place review cap.

<strong>Текст, фото и ответы бизнеса. / Text, photos and business replies.</strong><br>Изучайте отзывы вместе с фото, ответами организации и данными автора. Адрес и координаты места добавляются, когда доступны, для анализа по филиалам и районам.<br>Analyze review text alongside available photos, business replies and author details. Place addresses and coordinates, when available, help compare branches and neighborhoods.

<strong>Команда №1 по «Yandex», «Ozon» и «Avito». / From the team behind #1 results for “Yandex”, “Ozon” and “Avito”.</strong><br>Акторы Zen Studio заняли первое место по этим запросам в Apify Store по релевантности. Этот парсер создан той же командой, что и наши инструменты для 2ГИС и Яндекс Карт.<br>Zen Studio actors have ranked first for these searches by Apify Store relevance. This scraper comes from the same team behind our 2GIS and Yandex Maps tools.

<a href="https://console.apify.com/actors/pCbr23de0yAFP7Ccc/input"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/2gis-reviews-scraper-readme-cta-v1.svg" width="320" height="48" alt="Собрать отзывы / Get reviews"/></a>

### Быстрый старт / Quick start

Начните с 10 отзывов одного места, затем вставьте свою ссылку 2ГИС.<br>Start with 10 reviews from one place, then paste your own 2GIS URL.

```json
{
  "startUrls": [
    "https://2gis.ru/moscow/firm/70000001057394703"
  ],
  "maxPlaces": 1,
  "maxReviews": 10
}
```

<a href="https://console.apify.com/actors/pCbr23de0yAFP7Ccc/input">Открыть ввод / Open actor input</a>. Ссылки на поиск или сеть позволяют собирать отзывы нескольких мест; задайте <code>maxPlaces</code>.<br>Search or chain URLs let you collect across multiple places; set <code>maxPlaces</code> to control the scope.

Для сбора без лимита выберите платный тариф и <code>maxReviews: 0</code>. Фильтры, бюджет и доступность отзывов влияют на результат. Бесплатный тариф имеет отдельные ограничения; число собранных отзывов может отличаться от счётчика на сайте.<br>For unlimited collection, use a paid plan and <code>maxReviews: 0</code>. Filters, your run budget and review availability still apply. Free-tier limits remain; collected totals can differ from the website counter.

<table><tr><td colspan="4" style="padding:10px 14px;background:#0DB636;color:#071D0D;font-size:13px;font-weight:700">Zen Studio · 2GIS Suite</td></tr><tr><td style="padding:10px 12px;border:1px solid #E7E5E4;background:#E8F5E9;vertical-align:top;width:25.00%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-NBmcHCtkUEhA0DNP3-SrXbUedsVm-2gis-scraper-api-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/zen-studio/2gis-places-scraper-api" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Places</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Phones &amp; emails</span></td><td style="padding:10px 12px;border:1px solid #E7E5E4;background:#D3EDD9;vertical-align:top;width:25.00%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-NBmcHCtkUEhA0DNP3-SrXbUedsVm-2gis-scraper-api-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/zen-studio/2gis-reviews-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Reviews</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Вы здесь</span></td><td style="padding:10px 12px;border:1px solid #E7E5E4;background:#E8F5E9;vertical-align:top;width:25.00%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-NBmcHCtkUEhA0DNP3-SrXbUedsVm-2gis-scraper-api-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/zen-studio/2gis-jobs-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Jobs</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Jobs &amp; contacts</span></td><td style="padding:10px 12px;border:1px solid #E7E5E4;background:#E8F5E9;vertical-align:top;width:25.00%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-6PKMF3OW9OZ1ecUuL-R9g0koZQA2-2gis-property-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/zen-studio/2gis-property-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Property</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Listings &amp; prices</span></td></tr></table>

#### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
zen-studio/2gis-reviews-scraper on Apify. Call: ApifyClient("TOKEN").actor("zen-studio/2gis-reviews-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: startUrls (array, required, 2GIS place/search/organization/building URLs), maxReviews (integer, max reviews per place, 0=unlimited). Every row carries the place's coordinates, district/region/country, and placeReviewsMeta with the true review totals. Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/zen-studio~2gis-reviews-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Pricing: pay-per-event, $0.001/review. Get token: https://console.apify.com/account/integrations To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

***

### Changelog

**2026-02-17** — Fix: `reviewsStartDate` now returns all matching reviews (previously could miss edited reviews). Support for `.kz`/`.kg`/`.uz` URLs added.

**2026-02-17** — Исправлено: `reviewsStartDate` теперь возвращает все подходящие отзывы (ранее мог пропускать отредактированные). Добавлена поддержка ссылок `.kz`/`.kg`/`.uz`.

***

### Что вы получите

**57 полей на каждый отзыв** — текст, рейтинг (1–5), автор (имя, аватар, количество отзывов), дата создания/редактирования, фото, лайки, комментарии, реакции (эмодзи), ответ бизнеса, источник (2GIS / Flamp / Booking).

**Координаты и адрес заведения в каждой строке** — широта, долгота, район, регион и страна едут вместе с отзывом, поэтому отзывы можно наносить на карту и группировать по территории без второго парсера. Coordinates and full location on every review row.

**Сколько отзывов существует, а не только сколько собрано** — `placeReviewsMeta` возвращает общее число отзывов, число отзывов филиала, рейтинг и разбивку по площадкам. Значения расходятся между собой, поэтому возвращаются все.

**Значки доверия и проверки** — `trustFactors` (бейджи «Отзыв подтверждён», подтверждённые покупки, количество и дата визитов), `providerData` (брендинг источника, например Netmonet), `isRated` (есть ли звёздная оценка). Verification badges that show whether a review is confirmed and how it was verified.

**Полный профиль автора** — `authorUserId` (числовой ID, отдельно от публичного `authorId`), имя и фамилия, профиль автора (`authorUrl`), площадка автора (`authorProvider`), полный набор размеров аватара (`authorPhotoUrls`: 64×64, 320×, 640×, 1920× и оригинал).

**Метаданные и статус модерации** — прямая ссылка на отзыв (`reviewUrl`), канал источника (`source`), `regionId`, привязка к организации/филиалу (`objectId`, `objectType`), статус закрепления (`pinStatus`), скрыт ли отзыв (`isHidden`) с причиной и типом (`hidingReason`, `hidingType`), флаги жалоб и постоянной блокировки оценки (`hasUnresolvedComplaints`, `isUnratedPermanently`), внешний ID (`externalId`), а также `filteredFacts` и `statusHistory`. Все новые поля заполняются при наличии и иначе остаются пустыми (`null`).

**Контекст места** — название, адрес, город, рейтинг, количество отзывов, категории, доступные темы отзывов. Всё в одной строке — не нужно джойнить таблицы.

**Плоский формат** — одна строка = один отзыв. Идеально для CSV-экспорта, импорта в CRM, анализа в Excel или Google Sheets.

### Ключевые возможности

- **Высокая скорость**: отзывы собираются за секунды, без дополнительной настройки
- **Плоский формат** — одна строка = один отзыв. Готово для Excel/CSV/CRM без дополнительной обработки
- **Поиск + прямые ссылки** — вставляйте ссылки на конкретные места или на страницы поиска. Поисковые ссылки автоматически обнаруживают все места
- **7 фильтров** — тональность, дата, тема, ключевое слово, источник, ответ бизнеса, лимит
- **3 платформы** — 2GIS + Flamp + Booking в одном запуске
- **207 городов, 20 стран, 14 языков** — Россия, Казахстан, ОАЭ, Саудовская Аравия и другие

***

### startUrls — Что можно вставить

Параметр `startUrls` принимает несколько форматов. Можно смешивать в одном запуске:

**Ссылка на место** — прямое извлечение отзывов:

```
https://2gis.ru/moscow/firm/70000001057394703
```

**Ссылка на поиск** — автоматически найдёт все места и соберёт отзывы с каждого:

```
https://2gis.ru/moscow/search/рестораны
```

**Ссылка с фильтрами** — фильтры из URL применяются автоматически:

```
https://2gis.ru/moscow/search/кофейни/filters/rating_rating_perfect;food_service_details_food_takeaway
```

**Ссылка на здание (Building URL)** — все организации внутри здания (ТЦ, бизнес-центр и т.п.):

```
https://2gis.ru/moscow/inside/4504235282758873
```

Автоматически разворачивается в каждую организацию внутри здания. Ограничено `maxPlaces`. (Auto-expands to every business inside the building. Capped by `maxPlaces`.)

**Ссылка на организацию (Organization URL)** — все филиалы сети или организации:

```
https://2gis.kz/almaty/branches/9429948590736555
```

Разворачивается в каждый филиал организации. Ограничено `maxPlaces`. (Expands to every branch of the organization. Capped by `maxPlaces`.)

**Короткая ссылка** — go.2gis.com разрешается автоматически:

```
https://go.2gis.com/Sg2sB
```

**Числовой ID филиала** — если ID уже известен:

```
70000001057394703
```

**Смешанный ввод** — всё вместе:

```json
[
    "https://2gis.ru/moscow/firm/70000001057394703",
    "https://2gis.ru/spb/search/кофейни",
    "70000001066421775"
]
```

> **Совет:** `maxPlaces` ограничивает количество мест только для поисковых ссылок. Прямые ссылки на места обрабатываются всегда.

***

### Быстрый старт — Quick Start

#### Минимальный — отзывы одного места

```json
{
    "startUrls": ["https://2gis.ru/moscow/firm/70000001057394703"],
    "maxReviews": 100
}
```

#### Поиск + лимит мест

```json
{
    "startUrls": ["https://2gis.ru/moscow/search/рестораны"],
    "maxPlaces": 10,
    "maxReviews": 50
}
```

#### Все организации внутри здания / Building expansion

```json
{
    "startUrls": ["https://2gis.ru/moscow/inside/4504235282758873"],
    "maxPlaces": 20,
    "maxReviews": 100
}
```

Возвращает отзывы для каждой организации внутри здания (например, ТЦ или бизнес-центра). (Returns reviews for every business inside the building, e.g. a shopping mall or office tower.)

#### Только негативные отзывы за последний год

```json
{
    "startUrls": ["https://2gis.ru/moscow/firm/70000001057394703"],
    "maxReviews": 5000,
    "reviewsRating": "negative",
    "reviewsStartDate": "2025-01-01"
}
```

#### Поиск по ключевому слову + только с ответом бизнеса

```json
{
    "startUrls": ["https://2gis.ru/moscow/firm/70000001057394703"],
    "maxReviews": 5000,
    "reviewsFilterKeyword": "обслуживание",
    "reviewsWithAnswer": true
}
```

#### Полная конфигурация

```json
{
    "startUrls": [
        "https://2gis.ru/moscow/firm/70000001057394703",
        "https://2gis.ru/spb/search/кофейни"
    ],
    "maxPlaces": 50,
    "language": "ru",
    "maxReviews": 5000,
    "reviewsRating": "negative",
    "reviewsWithAnswer": false,
    "reviewsStartDate": "2025-06-01",
    "reviewsTopic": "сервис",
    "reviewsFilterKeyword": "",
    "reviewsSource": "2gis",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
```

***

### Входные параметры — Input Parameters

#### Места (Places)

| Параметр | Тип | Описание | По умолчанию |
|----------|-----|----------|--------------|
| `startUrls` | array | Ссылки на места (`/firm/ID`), поиск (`/search/запрос`), организации (`/branches/ID`), здания (`/inside/ID`), короткие (`go.2gis.com`), числовые ID | — (обязательный) |
| `maxPlaces` | integer | Макс. мест для поисковых ссылок. `0` = без ограничений | `100` |
| `language` | string | Язык выдачи: `auto`, `ru`, `en`, `ar`, `kk`, `uz`, `ky`, `hy`, `ka`, `az`, `tg`, `cs`, `es`, `it` | `auto` |

#### Фильтры отзывов (Review Filters)

| Параметр | Тип | Описание | По умолчанию |
|----------|-----|----------|--------------|
| `maxReviews` | integer | Макс. отзывов на одно место. `0` = без ограничений | `5000` |
| `reviewsRating` | string | Тональность: `all`, `positive` (4-5★), `negative` (1-2★) | `all` |
| `reviewsWithAnswer` | boolean | Только отзывы с ответом бизнеса | `false` |
| `reviewsStartDate` | string | Только отзывы после этой даты. Формат: `YYYY-MM-DD` | — |
| `reviewsTopic` | string | Серверный фильтр по теме (сервис, еда, персонал, атмосфера и др.) | — |
| `reviewsFilterKeyword` | string | Клиентский поиск по тексту отзыва | — |
| `reviewsSource` | string | Источник: `all`, `2gis`, `flamp`, `booking` | `all` |

#### Система (System)

| Параметр | Тип | Описание | По умолчанию |
|----------|-----|----------|--------------|
| `proxyConfiguration` | object | Настройка прокси | Apify Residential |

Residential proxy is used by default, including when `proxyConfiguration` is omitted, because it is what keeps results reliable. To run without a proxy instead, pass `{"useApifyProxy": false}`.

***

### Пример выходных данных — Output Example

Каждый отзыв — отдельная строка с контекстом места. Плоский формат, готов для CSV:

Excerpt of a real record (first 25 of 55 fields, arrays shortened to their first entry).

```json
{
  "placeId": "70000001054817861",
  "placeName": "Пхали Хинкали",
  "placeUrl": "https://2gis.ru/v_novgorod/firm/70000001054817861",
  "placeAddress": "Людогоща, 10",
  "placeCity": "Великий Новгород",
  "placeDistrict": "Центральный",
  "placeRegion": "Новгородская область",
  "placeCountry": "Россия",
  "placeLatitude": 58.521475,
  "placeLongitude": 31.271598,
  "placeReviewsMeta": {
    "totalCount": 396,
    "branchReviewCount": 395,
    "branchRating": 4.7,
    "branchRatingIsConfirmed": true,
    "providers": [
      {
        "source": "flamp",
        "rating": 4.6,
        "reviewCount": 31,
        "isReviewable": true
      }
    ]
  },
  "placeRating": 4.7,
  "placeReviewCount": 395,
  "placeCategories": [
    "Рестораны"
  ],
  "reviewTopics": [],
  "searchQuery": "direct",
  "reviewId": "186083546",
  "rating": 3,
  "text": "Персонал приветливый, ему твёрдая 5. Кухня на троечку с минусом. Брали : салат с картофелем пай - огурцы очень кислые, лук передержали в маринаде, очень кисло. Долма - сочно, но нет вкуса от слова совсем. Оджахури - сковорода еле теплая, лук совершенно сырой, картофель предварительно не обжарен, мясо без корочки и практически нет специй. Хинкали с сыром - вкусно, но сыра откровенно пожадничали. Пончик грузинский с картошкой - неожиданно самое дешёвое блюдо, на которое не возлагались надежды, вытянуло ситуацию. Чай вкусный. Резюмирую, повторно я бы сюда не пошла, друзьям бы не рекомендовала",
  "dateCreated": "2025-09-12T20:25:31.035583+07:00",
  "dateEdited": "2025-09-12T20:33:25.626718+07:00",
  "authorName": "Вера Серова",
  "authorId": "e22138a9b8de476aaa038fe13394378d",
  "authorPhotoUrl": "https://i5.photo.2gis.com/images/profile/30258560281427642_640x.jpg",
  "authorReviewsCount": 14
}
```

***

### Тарифы — Pricing (Pay Per Event)

Прозрачная тарификация за каждый отзыв. Платите только за то, что извлекаете.

#### Событие

| Event | Что тарифицируется | Free | Bronze | Silver | Gold |
|-------|-------------------|------|--------|--------|------|
| **review_scraped** | Каждый извлечённый отзыв | $1.00 / 1,000 | $0.80 / 1,000 | $0.65 / 1,000 | $0.50 / 1,000 |

#### Калькулятор стоимости

**Мониторинг конкурентов — 10 мест, 100 отзывов каждое:**

| Что | Количество | Стоимость |
|-----|-----------|-----------|
| Отзывы | 1,000 | $1.00 |
| **Итого** | | **$1.00** |

**Исследование рынка — 100 ресторанов, 200 отзывов каждый:**

| Что | Количество | Стоимость |
|-----|-----------|-----------|
| Отзывы | 20,000 | $20.00 |
| **Итого** | | **$20.00** |

**Полное извлечение — 50 мест, все отзывы (~500 на место):**

| Что | Количество | Стоимость |
|-----|-----------|-----------|
| Отзывы | 25,000 | $25.00 |
| **Итого** | | **$25.00** |

***

### Использование через API — Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("zen-studio/2gis-reviews-scraper").call(run_input={
    "startUrls": ["https://2gis.ru/moscow/firm/70000001057394703"],
    "maxReviews": 100,
    "reviewsRating": "negative",
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['placeName']} — {item['rating']}★ — {item['text'][:80]}")
```

### Использование через API — JavaScript

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('zen-studio/2gis-reviews-scraper').call({
    startUrls: ['https://2gis.ru/moscow/firm/70000001057394703'],
    maxReviews: 100,
    reviewsRating: 'negative',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
    console.log(`${item.placeName} — ${item.rating}★ — ${item.text.slice(0, 80)}`);
});
```

***

### Продвинутые сценарии — Advanced Examples

#### Анализ конкурентов — негативные отзывы за полгода

```json
{
    "startUrls": [
        "https://2gis.ru/moscow/firm/70000001057394703",
        "https://2gis.ru/moscow/firm/70000001066421775",
        "https://2gis.ru/moscow/firm/70000001019278934"
    ],
    "maxReviews": 5000,
    "reviewsRating": "negative",
    "reviewsStartDate": "2025-08-01"
}
```

#### Мониторинг репутации — только свежие отзывы с ответами

```json
{
    "startUrls": ["https://2gis.ru/moscow/firm/70000001057394703"],
    "maxReviews": 0,
    "reviewsWithAnswer": true,
    "reviewsStartDate": "2026-01-01"
}
```

#### Все отзывы сети из поиска

```json
{
    "startUrls": ["https://2gis.ru/moscow/search/Шоколадница"],
    "maxPlaces": 0,
    "maxReviews": 100,
    "reviewsSource": "2gis"
}
```

#### Фильтр по теме — только про еду, с ключевым словом

```json
{
    "startUrls": ["https://2gis.ru/moscow/firm/70000001057394703"],
    "maxReviews": 5000,
    "reviewsTopic": "еда",
    "reviewsFilterKeyword": "порция"
}
```

***

### Поддерживаемые города — 207 городов, 20 стран

**Россия (155 городов)** — Москва, Санкт-Петербург, Новосибирск, Екатеринбург, Казань, Нижний Новгород, Челябинск, Самара, Ростов-на-Дону, Уфа, Красноярск, Воронеж, Пермь, Волгоград, Краснодар, Тюмень, Иркутск, Омск, Томск, Сочи и ещё 135.

**Казахстан (19)** — Almaty, Astana, Shymkent, Karaganda, Aktobe и другие.

**Саудовская Аравия (14)** — Riyadh, Jeddah, Dammam, Medina и другие.

**ОАЭ** — Dubai, Abu Dhabi, Sharjah. **Узбекистан** — Tashkent, Samarkand, Bukhara. **Кыргызстан** — Bishkek. **Армения** — Yerevan. **Грузия** — Tbilisi, Batumi. **Азербайджан** — Baku. **Беларусь** — Minsk. **Таджикистан** — Dushanbe. **Бахрейн** — Manama. **Кувейт** — Kuwait City. **Катар** — Doha. **Оман** — Muscat. **Ирак** — Basra. **Чили** — Santiago. **Чехия** — Prague. **Италия** — Padua. **Кипр** — Cyprus.

***

### 14 языков — Supported Languages

Русский, English, العربية (Arabic), Қазақша (Kazakh), O'zbek (Uzbek), Кыргызча (Kyrgyz), Հայերեն (Armenian), ქართული (Georgian), Azərbaycan, Тоҷикӣ (Tajik), Čeština (Czech), Español (Spanish), Italiano (Italian) — или автоопределение по региону.

***

### Экспорт данных — Data Export

Экспортируйте результаты в любом формате из платформы Apify:

- **JSON** — структурированные данные для API-интеграций и баз данных
- **CSV** — плоские таблицы для Excel, Google Sheets, импорта в CRM
- **Excel (.xlsx)** — готово для отчётов и визуализации
- **XML** — для интеграции с legacy-системами

***

### Прокси — Proxy Configuration

Резидентные прокси рекомендуются для стабильного извлечения. Конфигурация по умолчанию работает из коробки:

```json
{
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
```

***

### FAQ — Часто задаваемые вопросы

**Q: Сколько отзывов можно собрать с одного места?**
A: Установите `maxReviews` в `0` для неограниченного извлечения. Парсер соберёт все доступные отзывы с места.

**Q: Нужен ли аккаунт 2ГИС?**
A: Нет. Без логина, без cookies, без браузера. Работает сразу.

**Q: Какие источники отзывов поддерживаются?**
A: 2ГИС агрегирует отзывы с трёх платформ: **2GIS**, **Flamp** и **Booking.com**. Фильтруйте по источнику через `reviewsSource`.

**Q: Можно ли фильтровать по теме отзыва?**
A: Да. Используйте `reviewsTopic` — серверный фильтр по темам (еда, сервис, персонал, атмосфера, кофе, десерты, завтрак и др.). Доступные темы зависят от конкретного места.

**Q: Чем отличается от парсера мест (Places Scraper)?**
A: [2gis Places парсер](/zen-studio/2gis-places-scraper-api) собирает данные организаций (125+ полей) и может опционально включать отзывы. Reviews Scraper специализируется на отзывах: плоский формат (один отзыв = одна строка), больше фильтров, идеален для массового анализа отзывов и экспорта в CSV.

**Q: Ищете вакансии, а не отзывы?**
A: Используйте [2gis Jobs парсер](/zen-studio/2gis-jobs-scraper) — парсер вакансий с 224 категориями профессий. Зарплата, компания, адрес, ссылка для отклика.

**Q: Need real estate listings instead of reviews?**
A: Use our [2gis Property Scraper](/zen-studio/2gis-property-scraper) — scrapes property listings (sale & rent) with 12 filters. Price, area, rooms, floor, photos. Russia, Kazakhstan, Kyrgyzstan.

**Q: Как работает фильтр по дате?**
A: `reviewsStartDate` в формате `YYYY-MM-DD` отсекает все отзывы старше указанной даты. Отзывы отсортированы по дате — парсер останавливается, как только доходит до отзывов старше заданной даты, что экономит ресурсы.

**Q: Что если у места нет отзывов?**
A: Парсер просто пропускает такие места. Никаких ошибок, никаких лишних расходов.

**Q: Can I combine search URLs and direct place URLs?**
A: Yes. Mix them freely in `startUrls`. Direct URLs always get processed; `maxPlaces` only limits how many places are discovered from search URLs.

**Q: Does it work for Dubai and Saudi Arabia?**
A: Yes. Full support for UAE (Dubai, Abu Dhabi, Sharjah), Saudi Arabia (14 cities), and all other 2GIS regions.

**Q: How is the flat output structured?**
A: Each row contains both the review data (text, rating, author, date) and the place context (name, address, city, rating). No need to join tables — ready for direct CSV export.

***

### Начало работы — Getting Started

#### 1. Создайте аккаунт Apify

[Зарегистрируйтесь бесплатно](https://console.apify.com/sign-up) — новые пользователи получают $5 кредитов.

#### 2. Вставьте ссылки

Откройте 2ГИС, найдите нужные места, скопируйте ссылки из адресной строки. Или вставьте ссылку на страницу поиска — парсер сам найдёт все места.

#### 3. Настройте фильтры

Выберите тональность, дату, тему, источник. Начните с небольшого `maxReviews` (50–100) для предпросмотра.

#### 4. Запустите и экспортируйте

Запустите парсер, дождитесь результатов, скачайте в JSON/CSV/Excel. Или используйте API для автоматизации.

***

### More Zen Studio scrapers for maps & local data

- [Baidu Maps Scraper](https://apify.com/zen-studio/baidu-maps-scraper)
- [Google Maps Scraper](https://apify.com/zen-studio/google-maps-scraper)
- [Google Maps Directions & Routes API](https://apify.com/zen-studio/google-maps-directions-api)
- [Apple Maps Scraper](https://apify.com/zen-studio/apple-maps-scraper-pro)
- [Apple Maps Directions & Route API](https://apify.com/zen-studio/apple-maps-directions-route-api)
- [Yandex Maps Scraper](https://apify.com/zen-studio/yandex-maps-scraper)
- [Yandex Maps Reviews Scraper](https://apify.com/zen-studio/yandex-maps-reviews-scraper)
- [2GIS Places Scraper](https://apify.com/zen-studio/2gis-places-scraper-api)

### Disclaimer

Data is collected from publicly available sources and provided "as is" for informational purposes. Users are responsible for compliance with 2GIS' terms of service and applicable regulations in their jurisdiction.

***

[**Начать парсинг отзывов 2ГИС — Start Scraping Reviews**](https://console.apify.com/actors/pCbr23de0yAFP7Ccc)

***

*Отзывы, рейтинги и ответы бизнеса из крупнейшего справочника России, СНГ и Ближнего Востока — в структурированном формате за минуты.*

# Actor input Schema

## `startUrls` (type: `array`):

Вставьте ссылки на места, результаты поиска, организации или здания 2ГИС. Также принимает числовые ID филиалов. Здания (/inside/) разворачиваются во все находящиеся внутри организации, а организации (/branches/) — во все филиалы организации (ограничено Max places). (Paste 2GIS place pages, search result pages, organization pages, or building pages, or plain branch IDs. Building URLs (/inside/) auto-expand to every business inside; organization URLs (/branches/) expand to every branch of the organization. Both capped by Max places.)

## `maxPlaces` (type: `integer`):

Макс. мест для извлечения отзывов (для поисковых ссылок). 0 = без ограничений. (Max places to scrape reviews from when using search URLs. 0 = unlimited.)

## `language` (type: `string`):

Язык выдачи. По умолчанию определяется автоматически по региону. (Output language, auto-detected from region.)

## `maxReviews` (type: `integer`):

Макс. отзывов на одно место. 0 = без ограничений. (Max reviews per place. 0 = unlimited.)

## `reviewsRating` (type: `string`):

Фильтр по тональности: положительные (4-5★) или отрицательные (1-2★). (Filter by sentiment.)

## `reviewsWithAnswer` (type: `boolean`):

Только отзывы, на которые бизнес ответил. (Only reviews with official business reply.)

## `reviewsStartDate` (type: `string`):

Только отзывы после этой даты. (Only reviews after this date.)

## `reviewsTopic` (type: `string`):

Серверный фильтр по теме. Доступные темы зависят от места. (Server-side topic filter. Available topics vary per place.)

## `reviewsFilterKeyword` (type: `string`):

Только отзывы, содержащие это слово. (Client-side text search within reviews.)

## `reviewsSource` (type: `string`):

Фильтр по площадке-источнику. (Filter by source platform.)

## `proxyConfiguration` (type: `object`):

Настройка прокси. (Proxy configuration.)

## `feedback` (type: `string`):

For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns.

## Actor input object example

```json
{
  "startUrls": [
    "https://2gis.ru/moscow/firm/70000001057394703"
  ],
  "maxPlaces": 100,
  "language": "auto",
  "maxReviews": 5000,
  "reviewsRating": "all",
  "reviewsWithAnswer": false,
  "reviewsTopic": "",
  "reviewsFilterKeyword": "",
  "reviewsSource": "all",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://2gis.ru/moscow/firm/70000001057394703"
    ],
    "maxPlaces": 100,
    "maxReviews": 5000,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("zen-studio/2gis-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://2gis.ru/moscow/firm/70000001057394703"],
    "maxPlaces": 100,
    "maxReviews": 5000,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("zen-studio/2gis-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://2gis.ru/moscow/firm/70000001057394703"
  ],
  "maxPlaces": 100,
  "maxReviews": 5000,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call zen-studio/2gis-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zen-studio/2gis-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/pCbr23de0yAFP7Ccc/builds/ABUFWnWO2Ub34KThC/openapi.json
