Как парсить данные с государственных порталов закупок.
Цель:
научиться извлекать данные с государственных порталов закупок для мониторинга тендеров, анализа рынка и поиска клиентских ниш через официальные интерфейсы.
Исходные данные
Компания — агрегатор маркетинговых данных для B2B, желает анализировать рынок госзакупок для таргетинга контрагентов. Порталы госзакупок (zakupki.gov.ru, ЕИС) содержат сведения о сотнях тысяч заказчиков, их предпочтениях и контрагентах в машиночитаемых форматах (XML, SOAP) .
Проблема: для эффективного сбора данных нужно разобраться в типах законов (44-ФЗ для госзаказчиков и 223-ФЗ для госкомпаний) и освоить инструменты, которые работают по официальному API, а не брут-форсом .
Что нужно партнерам:
- автоматически собирать информацию о закупках из открытых источников
- структурировать данные для дальнейшего обогащения (контакты поставщиков)
- не нарушать законодательство, используя официальные каналы
Что мы сделали
Шаг 1. Разобрались в структуре закупочного законодательства
Российская система госзакупок базируется на двух ключевых законах :
- 44-ФЗ — для государственных и муниципальных нужд (бюджетные учреждения, администрации, школы). Весь процесс строго формализован, контракты публикуются в едином формате .
- 223-ФЗ — для закупок госкорпораций (Росатом, РЖД, Газпром), естественных монополий и компаний с госучастием. Правила гибче, но данные также выгружаются в ЕИС .
Знание этих типов позволяет точно фильтровать парсинг по источникам — например, искать либо только коммерческих, но «жирных» клиентов (223-ФЗ), либо подрядчиков бюджета (44-ФЗ) .
Шаг 2. Использовали официальный Единый портал zakupki.gov.ru
Вся разрешенная информация хранится в Единой информационной системе (ЕИС). Парсить оттуда данные можно, но лучше использовать официальный API-интерфейс, чтобы система не блокировала за слишком частые запросы.
В 2026 году заказчики также обязаны публиковать исчерпывающие данные о контрактах — включая сами планы-графики и исполненные контракты . Это дает возможность собирать истории компаний-конкурентов за несколько лет.
Шаг 3. Настроили выгрузку через машиночитаемые форматы (XML / SOAP API)
Портал предоставляет возможность запросить «Печатную форму извещения» и заменить в ссылке view.html на viewXml.html. В ответ вы получите структурированный XML-документ, содержащий все детали закупки — от реквизитов заказчика до даты публикации .
Также существует библиотека на Ruby (ox-tender-abstract), которая умеет подключаться напрямую к SOAP API zakupki.gov.ru и возвращать Ruby-хэши с данными по тендерам, минуя сложный разбор XML вручную .
Пример рабочего алгоритма (Python) на основе рекомендаций GitHub :
- Выполняем GET-запрос к странице результатов поиска (по 44-ФЗ или 223-ФЗ).
- С помощью парсера (BeautifulSoup) извлекаем все ссылки на печатные формы (
.view.html) из списка тендеров. - Модифицируем ссылку: заменяем
view.htmlнаviewXml.html— так получаем прямой доступ к XML-файлу с полной информацией о закупке. - Парсим XML, вытаскивая нужные поля: название, дату публикации, заказчика и цену контракта.
Согласно исследованиям Финансового университета (№ 4, 2024), такой подход — сбор данных через парсинг открытых XML — уже активно используется для мониторинга цен и предотвращения завышения бюджета .
Шаг 4. Парсинг для бизнес-анализа и лидогенерации
Собранные данные можно использовать не только для участия в торгах, но и для поиска B2B-клиентов:
- Идентификация заказчиков — какие организации регулярно объявляют тендеры в вашей нише. Это сигнал к их потребностям.
- Анализ исполненных контрактов — если поставщик выигрывал контракты на похожее оборудование, он может стать вашим партнером или клиентом для доп. услуг.
- Сравнение фактических цен с рыночными уровнями для предложения скидки (см. практики выявления «переплат», рекомендуемые Минфином ).
Использование подхода легального парсинга (через публичный API) полностью соответствует требованиям информационной открытости, заложенным в 44-ФЗ .
Шаг 5. Учитываем изменения 2026 года
С 2026 года вступили в силу новые нормы: усилилась ответственность участников за достоверность данных, а комиссии по закупкам обязаны отстранять недобросовестных поставщиков при выявлении нарушений . Для парсера это означает, что данные из ЕИС (реестр недобросовестных поставщиков) становятся критически важными для скоринга потенциальных партнеров.

Результаты
По результатам сбора данных компания может получить массивы: названия компаний-поставщиков, их контакты, объёмы и частоту побед в закупках. Эти данные затем обогащаются (через утилиты проверки номеров, поиск контактов) и загружаются в CRM для отдела продаж.
На выходе: мы имеем базу активных контрагентов, знаем их ресурсы (историю закупок) и можем персонализировать предложение.
Почему это работает и легально
- Используется API и XML, а не агрессивный скрейпинг с подменой User-Agent. Это снижает риск блокировки IP и защищает бизнес.
- Данные из ЕИС объективны — они проверяются контролирующими органами (ФАС, Казначейство) .
- Парсинг госзакупок, а не крауд-скрейпинг полностью легален, так как закон (44-ФЗ) требует открытости информации, если она не составляет гостайны .
- Научное сообщество (Финуниверситет) подтверждает полезность автоматического сбора данных для снижения финансовых рисков и повышения прозрачности .
Чек-лист парсинга госзакупок:
- Изучил фундаментальные различия 44-ФЗ и 223-ФЗ
- Настроил доступ к официальному API zakupki.gov.ru (SOAP)
- Для прототипа использовал Python + requests/BeautifulSoup и схему из репозитория Tender_search
- Для массового Ruby-проекта подключил
ox-tender-abstract - Собираю не только текущие, но и завершённые контракты (архив)
- Выходные данные сохраняю в формате CSV/JSON для последующего обогащения контактов
