Готовые базы продают в личку каждый день. Проблема готовой базы в том, что ты не знаешь ни когда её собрали, ни скольким людям её уже продали до тебя. Двухлетняя выгрузка выглядит ровно так же, как вчерашняя: тот же XLSX, те же колонки, те же мёртвые номера.
2ГИС в этом смысле особенный. Карточку там правит сам предприниматель - не из любви к порядку, а потому что с неё идут звонки. Сменился телефон, переехал офис, добавился WhatsApp - владелец лезет и чинит сам. Это единственный массовый каталог по России и СНГ, который поддерживают в актуальном виде те, кого ты собираешься искать. Поэтому собрать самому - это не про экономию на покупке базы. Это про свежесть.
Парсер - это только первый узел
Главная ошибка начинается сразу после выгрузки. Человек получает XLSX на две тысячи строк, ощущает себя богатым и начинает рассылать. Дальше схема разваливается, потому что между парсером и рассылкой обязан стоять ещё один шаг.
Теперь по самим парсерам. Их три, и они не конкуренты - они для трёх разных ситуаций.
№1. Parser2GIS - скачал и погнал
Классика жанра: interlark/parser-2gis, 369 звёзд, лицензия LGPL-3.0. Работает через настоящий Chrome, поэтому обходит защиту от ботов так же, как её обходит живой человек, - он и есть живой браузер.
Есть графическое окно и есть готовые сборки под Windows, Linux и macOS. Windows-архив последней версии скачали 23 083 раза - это к вопросу, много ли людей уже ходят по тем же карточкам, что и ты.
| Что нужно | Команда или действие |
|---|---|
| Без Python вообще | Скачать архив со страницы релизов и запустить |
| Только консоль | pip install parser-2gis |
| С графическим окном | pip install parser-2gis[gui] |
| Обязательное условие | Установленный Google Chrome - парсер ходит именно им |
Отдаёт CSV, XLSX и JSON. Внутри есть генератор ссылок: выбираешь город и рубрику, получаешь готовый адрес поиска, скармливаешь его парсеру. Разово собрать «все стоматологии Казани» - задача на десять минут, включая скачивание.
Последний релиз - 14 марта 2024, последний коммит - апрель 2024. Проект не заброшен формально, но развитие переехало в форки. Пока 2ГИС не поменяет вёрстку выдачи - работает; в день, когда поменяет, чинить будет некому. Если строишь на этом процесс, а не разовую выгрузку, бери следующий пункт.
№2. Форк с веб-панелью и API - тот, который ставлю я
Развитие ушло в две ветки: Eroloft/parser-2gis-new (веб-дашборд, фильтры лидов, экспорт в HTML) и более свежий BekkerSmartseller/parser-2gis-fork, где Flask заменён на Litestar 2 и появился нормальный REST API с OpenAPI-схемой. Лицензия та же LGPLv3, авторство оригинала за Andy Trofimov.
Веб-панель - приятно, но не она главное. Главное - две вещи, которых нет в оригинале.
Первое: фильтры стоят на входе, а не после
Ты не выгружаешь две тысячи строк, чтобы потом руками выкинуть тысячу восемьсот. Ты сразу говоришь, кто тебе нужен:
| Фильтр | Что делает |
|---|---|
dedup_franchises | Схлопывает филиалы сетей - «Пятёрочка» не приезжает к тебе двести раз |
require_phone | Только с телефоном |
require_email | Только с почтой - база под e-mail-цепочку |
require_website | Только с сайтом. Инверсия тоже полезна: нет сайта - это и есть повод написать |
require_whatsapp, require_social | Только те, у кого открыт мессенджер или соцсети |
min_rating, min_reviews | Отсекает мёртвые карточки: ноль отзывов - часто закрытая контора |
Собирает форк заметно больше полей, чем оригинал: почту, индекс, рейтинг, число и ссылку на отзывы, ближайшие остановки с расстоянием, рубрику и подрубрики, режим работы отдельными колонками. Плюс формат HTML - выгрузка открывается как страница с карточками и кнопками «позвонить» и «написать в WhatsApp». Для человека, который обзванивает руками, это лучше любого экселя.
Второе: у него есть API - и это меняет всё
Форк поднимает сервер на порту 8666. Запуск:
| Режим | Команда |
|---|---|
| Установка из исходников | git clone … / python -m venv .venv / pip install -e . |
| Веб-панель | parser-2gis-new |
| Разовая выгрузка без окна | parser-2gis-new -i <URL> -o out.csv -f csv |
| Сервером на VPS | parser-2gis-new --web-host <HOST> --web-no-browser |
| Требования | Python 3.8-3.13 и Google Chrome |
Дальше парсер перестаёт быть программой, которую надо открывать руками, и становится узлом конвейера. Ставишь задачу через POST /api/start, получаешь job_id, опрашиваешь /api/status, забираешь результат из /api/results или сразу файлом через /api/download. Есть /api/jobs со всей очередью, /api/geocode для адресов и /api/route для маршрутов. Схема лежит на /schema/swagger, так что гадать по исходникам не придётся.
Для n8n это означает буквально следующее: обычная нода HTTP Request - и сбор базы встаёт в один поток с обработкой и рассылкой. Никаких «сначала я схожу выгружу, потом закину файл». Расписание по понедельникам, новые компании в рубрике за неделю, дальше по конвейеру. Как это выглядит целиком, я разбирал в материале про пять стадий конвейера на n8n - там та же логика, только на контенте.
Парсер тянет за собой полноценный Chrome, а не лёгкий HTTP-клиент. На VPS с гигабайтом памяти он ляжет на первой же сотне карточек. В теле запроса есть memory_limit и disable_images - отключение картинок экономит и память, и трафик, а осмысленный минимум под задачу это два гигабайта.
№3. Apify - облако, если ставить ничего не хочешь
Третий путь - актор 2GIS Scraper на Apify. Ни Python, ни Chrome, ни VPS: заполняешь два поля - что искать и в каком городе - и забираешь результат.
Цена - 3,15 $ за тысячу собранных компаний. По курсу ЦБ на середину августа 2026 (около 83 ₽ за доллар) это 261 ₽ за тысячу, и платишь ты за результат, а не за время работы. Отдаёт JSON, Excel и CSV, умеет слать вебхуки напрямую в n8n, Make и Google Sheets - то есть стыкуется с конвейером не хуже своего парсера, только счётчик тикает.
Когда это трезвый выбор: нужен результат сегодня, а не после установки; нужен город за пределами России - актор ходит по Казахстану, ОАЭ, Узбекистану, Армении, Грузии, Азербайджану; или сбор разовый, и городить сервер ради него глупо.
Когда нет: когда собираешь регулярно. Десять тысяч компаний в месяц - это 2 610 ₽ ежемесячно против одного вечера настройки своего парсера и нуля дальше. Плюс оплата зарубежного сервиса из России - отдельный квест, который надо закладывать во время, а не в цену.
Что выбрать
| Ситуация | Берём | Цена |
|---|---|---|
| Разовый список, терминал пугает | Parser2GIS, готовый архив | 0 ₽ |
| Регулярный сбор, есть куда поставить | Форк с веб-панелью и API | 0 ₽ |
| Надо сегодня, ставить нечего | Apify | 261 ₽ / 1000 |
| Город за пределами России | Apify | 261 ₽ / 1000 |
| Строишь процесс, а не делаешь выгрузку | Форк, поднятый на своём VPS | 0 ₽ после настройки |
Дальше начинается настоящая работа
Выгрузка на две тысячи строк - это ещё не лиды. Это список. Что с ним не так прямо из коробки:
- Сети дублируются. Двадцать филиалов одной компании - двадцать строк с одним и тем же владельцем, который получит от тебя двадцать одинаковых сообщений. Отсюда и
dedup_franchises. - Телефон в карточке - общий. Это администратор на ресепшене, а не тот, кто решает про автоматизацию. Первое касание должно вести к нужному человеку, а не пытаться продать секретарю.
- Часть номеров мертва. Даже в 2ГИС. Карточку чинят те, кому звонят клиенты; те, кому не звонят, её не трогают годами.
И вот тут появляется ИИ-агент - не как модное слово, а как единственный способ обойти главное ограничение. Одинаковое сообщение на тысячу адресов не работает и справедливо считается спамом. Написать тысячу разных руками невозможно. Модель, которая берёт строку из таблицы и вытаскивает из неё один конкретный факт, - работает: рубрика, район, рейтинг, число отзывов, наличие или отсутствие сайта.
Разница между «Здравствуйте, предлагаем автоматизацию» и «У вас четыре точки в городе и ни одной строчки про запись онлайн» - это разница между баном и ответом. Персонализация тут не вежливость, а признак того, что писал не робот по списку. Как строится сама цепочка касаний после первого сообщения, разбирал отдельно в холодном аутриче для AI-агентства.
Арифметика, а не обещания
Расчёт ниже - это арифметика, чтобы ты прикинул порядок величин под свою нишу и свой чек. Это не мой замер и не обещание: конверсия зависит от ниши, текста и того, насколько ты попал в чужую боль.
| Шаг | Порядок | Откуда цифра |
|---|---|---|
| Собрано карточек | 1 000 | Вечер работы парсера |
| Осталось после фильтров и дедупа | меньше половины | Зависит от рубрики: сети схлопнутся, часть уйдёт без контактов |
| Отправлено первых касаний | сколько выдержат аккаунты | Лимит задаёт не парсер, а площадка - см. оговорки ниже |
| Ответы | единицы процентов | Подставь свою - чужие цифры из роликов не проверяемы |
| Считать надо это | цена одного разговора | Часы на настройку плюс расходы, делённые на число диалогов |
Единственная честная метрика на входе - стоимость одного состоявшегося разговора. Всё, что до него, - технические детали, которыми приятно хвастаться и невозможно платить за аренду.
Где это бьёт по рукам
Часть, которую обычно вырезают из бодрых роликов.
Закон о рекламе - это не страшилка. Статья 18 ФЗ «О рекламе» разрешает рекламу по сетям электросвязи только с предварительного согласия адресата. С 17 апреля 2024 года работает часть 4.1 статьи 14.3 КоАП: юридическому лицу - от 300 000 до 1 000 000 ₽, и считается это по каждому выявленному факту. Массовая рассылка коммерческого предложения незнакомым людям под это подпадает. Что снижает риск: писать не рекламу, а конкретный вопрос по делу; не долбить повторно того, кто не ответил; выкидывать из базы по первой просьбе. Что риск не снимает: ничего. Это осознанный выбор, и делать его надо с открытыми глазами.
Аккаунты банят, и это норма процесса. Не парсер ограничивает скорость рассылки, а площадка. Свежий аккаунт, который пишет незнакомым людям пачками, живёт недолго. Именно поэтому в подобных схемах фигурируют не один аккаунт, а десяток прогретых - это не хитрость, а расходник. Закладывай их в стоимость и в риски, а не в фантазии.
Про сам парсинг. Сбор общедоступной информации, лежащей на сайте без регистрации и капчи, сам по себе обычно не образует неправомерного доступа. Вопросы начинаются дальше: у ИП в карточке может стоять его собственное имя, а это уже персональные данные со своим режимом. И отдельно - пользовательское соглашение самого 2ГИС, где автоматизированный сбор владельцем сервиса не приветствуется. Юридически это разные плоскости, но обе существуют.
Кому это не нужно вообще. Если у тебя три клиента в год с чеком в миллион - холодная рассылка по справочнику не твой инструмент, тебе нужны два правильных знакомства. Схема работает там, где рынок широкий, чек средний, а решение принимает один человек: локальные услуги, малый бизнес, ремонт, общепит, розница.
Цифры вида «пятнадцать аккаунтов, шестьсот сообщений и стабильно четыре клиента в месяц» гуляют по роликам про эту схему. Проверить их нельзя никак - ни базы, ни текстов, ни выгрузки диалогов никто не показывает. Ориентируйся на свои замеры после первой недели, а не на чужой скриншот статистики.
Читайте также смежные материалы на Хабе:
- Голосовой ИИ для бизнеса под ключ (Звонилка РФ)
- Промпты для холодного аутрича и квалификации лидов
- Дешёвый трафик в 2026 году: проверенные источники и связки
- Звонилка РФ: готовый голосовой робот на вашем сервере
Сам я третий вариант и собираю: парсер на своём сервере, чистка и дедуп между сбором и отправкой, ИИ пишет под каждую компанию, всё это висит на расписании в n8n и складывает диалоги туда, где их видно. Нужна такая связка под твою нишу и твою базу - напиши, разберём, что в ней имеет смысл именно у тебя.
Обсудить в Telegram