Готовые базы продают в личку каждый день. Проблема готовой базы в том, что ты не знаешь ни когда её собрали, ни скольким людям её уже продали до тебя. Двухлетняя выгрузка выглядит ровно так же, как вчерашняя: тот же XLSX, те же колонки, те же мёртвые номера.

2ГИС в этом смысле особенный. Карточку там правит сам предприниматель - не из любви к порядку, а потому что с неё идут звонки. Сменился телефон, переехал офис, добавился WhatsApp - владелец лезет и чинит сам. Это единственный массовый каталог по России и СНГ, который поддерживают в актуальном виде те, кого ты собираешься искать. Поэтому собрать самому - это не про экономию на покупке базы. Это про свежесть.

Парсер - это только первый узел

Главная ошибка начинается сразу после выгрузки. Человек получает XLSX на две тысячи строк, ощущает себя богатым и начинает рассылать. Дальше схема разваливается, потому что между парсером и рассылкой обязан стоять ещё один шаг.

0102 0405 03 2ГИС Парсер Чистка ИИ-агент Отправка карточки фирм таблица контактов дубли, пустышки текст под фирму мессенджер, почта вечер работы, дальше повторяется само здесь решается, ответят тебе или забанят узел 03 пропускают чаще всего - и именно на нём схема разваливается // от карточки в справочнике до ответа в личке 2gis / rev.1
Розовым - шаг, за который никто не берётся. Парсер и рассылку настраивают все, а между ними остаётся сырая таблица с дублями сетей и пустыми телефонами.

Теперь по самим парсерам. Их три, и они не конкуренты - они для трёх разных ситуаций.

№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
Сервером на VPSparser-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 ₽ ежемесячно против одного вечера настройки своего парсера и нуля дальше. Плюс оплата зарубежного сервиса из России - отдельный квест, который надо закладывать во время, а не в цену.

Что выбрать

цена порог входа 0102 03 Parser2GIS Apify Форк с API exe, ноль рублей 261 ₽ за тысячу свой сервер, ноль рублей разовая выгрузка конвейер и расписание // три инструмента, три разные ситуации 2gis / rev.2
Розовым - вариант, который дороже всех обходится в первый вечер и дешевле всех на дистанции. Всё, что правее по оси, окупается только при регулярном сборе.
СитуацияБерёмЦена
Разовый список, терминал пугаетParser2GIS, готовый архив0 ₽
Регулярный сбор, есть куда поставитьФорк с веб-панелью и API0 ₽
Надо сегодня, ставить нечегоApify261 ₽ / 1000
Город за пределами РоссииApify261 ₽ / 1000
Строишь процесс, а не делаешь выгрузкуФорк, поднятый на своём VPS0 ₽ после настройки

Дальше начинается настоящая работа

Выгрузка на две тысячи строк - это ещё не лиды. Это список. Что с ним не так прямо из коробки:

  • Сети дублируются. Двадцать филиалов одной компании - двадцать строк с одним и тем же владельцем, который получит от тебя двадцать одинаковых сообщений. Отсюда и dedup_franchises.
  • Телефон в карточке - общий. Это администратор на ресепшене, а не тот, кто решает про автоматизацию. Первое касание должно вести к нужному человеку, а не пытаться продать секретарю.
  • Часть номеров мертва. Даже в 2ГИС. Карточку чинят те, кому звонят клиенты; те, кому не звонят, её не трогают годами.

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

Разница между «Здравствуйте, предлагаем автоматизацию» и «У вас четыре точки в городе и ни одной строчки про запись онлайн» - это разница между баном и ответом. Персонализация тут не вежливость, а признак того, что писал не робот по списку. Как строится сама цепочка касаний после первого сообщения, разбирал отдельно в холодном аутриче для AI-агентства.

Арифметика, а не обещания

Расчёт ниже - это арифметика, чтобы ты прикинул порядок величин под свою нишу и свой чек. Это не мой замер и не обещание: конверсия зависит от ниши, текста и того, насколько ты попал в чужую боль.

ШагПорядокОткуда цифра
Собрано карточек1 000Вечер работы парсера
Осталось после фильтров и дедупаменьше половиныЗависит от рубрики: сети схлопнутся, часть уйдёт без контактов
Отправлено первых касанийсколько выдержат аккаунтыЛимит задаёт не парсер, а площадка - см. оговорки ниже
Ответыединицы процентовПодставь свою - чужие цифры из роликов не проверяемы
Считать надо этоцена одного разговораЧасы на настройку плюс расходы, делённые на число диалогов

Единственная честная метрика на входе - стоимость одного состоявшегося разговора. Всё, что до него, - технические детали, которыми приятно хвастаться и невозможно платить за аренду.

Где это бьёт по рукам

Часть, которую обычно вырезают из бодрых роликов.

Закон о рекламе - это не страшилка. Статья 18 ФЗ «О рекламе» разрешает рекламу по сетям электросвязи только с предварительного согласия адресата. С 17 апреля 2024 года работает часть 4.1 статьи 14.3 КоАП: юридическому лицу - от 300 000 до 1 000 000 ₽, и считается это по каждому выявленному факту. Массовая рассылка коммерческого предложения незнакомым людям под это подпадает. Что снижает риск: писать не рекламу, а конкретный вопрос по делу; не долбить повторно того, кто не ответил; выкидывать из базы по первой просьбе. Что риск не снимает: ничего. Это осознанный выбор, и делать его надо с открытыми глазами.

Аккаунты банят, и это норма процесса. Не парсер ограничивает скорость рассылки, а площадка. Свежий аккаунт, который пишет незнакомым людям пачками, живёт недолго. Именно поэтому в подобных схемах фигурируют не один аккаунт, а десяток прогретых - это не хитрость, а расходник. Закладывай их в стоимость и в риски, а не в фантазии.

Про сам парсинг. Сбор общедоступной информации, лежащей на сайте без регистрации и капчи, сам по себе обычно не образует неправомерного доступа. Вопросы начинаются дальше: у ИП в карточке может стоять его собственное имя, а это уже персональные данные со своим режимом. И отдельно - пользовательское соглашение самого 2ГИС, где автоматизированный сбор владельцем сервиса не приветствуется. Юридически это разные плоскости, но обе существуют.

Кому это не нужно вообще. Если у тебя три клиента в год с чеком в миллион - холодная рассылка по справочнику не твой инструмент, тебе нужны два правильных знакомства. Схема работает там, где рынок широкий, чек средний, а решение принимает один человек: локальные услуги, малый бизнес, ремонт, общепит, розница.

// чему не верить

Цифры вида «пятнадцать аккаунтов, шестьсот сообщений и стабильно четыре клиента в месяц» гуляют по роликам про эту схему. Проверить их нельзя никак - ни базы, ни текстов, ни выгрузки диалогов никто не показывает. Ориентируйся на свои замеры после первой недели, а не на чужой скриншот статистики.

Читайте также смежные материалы на Хабе:

Сам я третий вариант и собираю: парсер на своём сервере, чистка и дедуп между сбором и отправкой, ИИ пишет под каждую компанию, всё это висит на расписании в n8n и складывает диалоги туда, где их видно. Нужна такая связка под твою нишу и твою базу - напиши, разберём, что в ней имеет смысл именно у тебя.

Обсудить в Telegram