Мониторинг госзакупок

Бесплатный мониторинг госзакупок на zakupki.gov.ru

Расширение Chrome для мониторинга закупок на закупки.гов.ру через RSS. Уведомления о новых тендерах приходят прямо в браузер. Без регистрации, без подписок, без передачи ваших фильтров куда-либо. Open source, MIT.

Альтернатива Feeder, Tenderhelp, RTS-Tender и платным сервисам мониторинга госзакупок. Если задача — видеть новые лоты по нескольким сохранённым поискам, расширения хватит.

Проект родился из обсуждения «Какие есть RSS клиенты с уведомлением о новом контенте?» на Хабр Q&A — Feeder обрезал длинные URL zakupki.gov.ru, Feedbro перестал поддерживаться в Chrome. Вместо очередного general-purpose RSS-клиента сделал узкоспециализированную утилиту под госзакупки.

License: MIT Chrome MV3 No tracking


Что умеет расширение

  • Уведомления о новых закупках. Расширение опрашивает RSS-ленты zakupki.gov.ru с настраиваемым интервалом (от 1 минуты до недели, по умолчанию 10 минут) и шлёт системное уведомление, когда появляется новая запись. Клик по уведомлению открывает страницу закупки.
  • Любые разделы zakupki.gov.ru. Работает с расширенным поиском (/epz/order/extendedsearch/rss), реестром контрактов, реестром жалоб ФАС, РНП и планами-графиками. Везде, где сайт даёт RSS-кнопку. Парсер совместим с RSS 2.0 и Atom.
  • Без дублей. Каждая запись запоминается по <guid> или <id>, поэтому повторного уведомления не будет, даже если расширение перезапустится или вы поменяете интервал.
  • Без слежки. Никаких аналитик, никаких сторонних серверов. Все данные хранятся локально в chrome.storage.local. Код открыт.
  • Без регистрации. Установил, вставил RSS-ссылку, пользуешься. Никаких аккаунтов и платных тарифов.

Важно: сертификат Минцифры (с 4 июля 2026)

С 4 июля 2026 года zakupki.gov.ru работает на TLS-сертификате НУЦ Минцифры России — это касается и открытой части портала, откуда берётся RSS. Chrome, Edge и Brave этот корневой сертификат не содержат, поэтому запрос расширения к ленте может оборваться на этапе TLS.

Симптом специфический: браузер не показывает привычную страницу «Подключение не защищено», потому что запрос идёт фоном из service worker'а. Внешне выглядит как «новых записей нет». Начиная с 0.2.0 расширение такие сбои показывает явно — красным в popup и текстом под лентой в настройках.

Что делать, любой вариант на выбор:

  • установить корневые сертификаты по официальной инструкции gosuslugi.ru/crt;
  • пользоваться Яндекс.Браузером или Атомом — там сертификаты уже встроены, расширение ставится тем же способом;
  • проверить, открывается ли zakupki.gov.ru в обычной вкладке. Если открывается без предупреждений — сертификаты в порядке, и причина сбоя другая.

Установка стороннего корневого CA — решение с последствиями для всего браузера: такой удостоверяющий центр технически может выпустить сертификат на любой домен. Оценивайте сами; расширение ничего не устанавливает и повлиять на доверие к CA не может.


Скриншоты

Все три сняты с работающего расширения на живых данных zakupki.gov.ru (29.07.2026), пересобираются скриптом scripts/make-screenshots.cjs.

Popup — найденные закупки. Клик по записи открывает страницу закупки на портале.

Popup расширения со списком найденных закупок

Настройки — ленты и расписание. Под каждой лентой видно состояние последней проверки: когда прошла и сколько записей в ленте.

Страница настроек: список RSS-лент, интервал проверки и статус каждой ленты

Так выглядит сбой. Расширение не молчит: ошибка пишется под лентой, а если похоже на проблему с TLS — показывается подсказка про сертификат Минцифры.

Настройки с ошибкой чтения ленты и подсказкой про сертификат Минцифры

Установка

Расширение не содержит предустановленных RSS-лент. Какие поиски и реестры zakupki.gov.ru отслеживать, вы решаете сами. Никакого шаринга фильтров между пользователями нет.

Способ 1. Скачать готовый ZIP из GitHub Releases (рекомендуется)

  1. Откройте страницу релизов и скачайте последний free-zakupki-gov-ru-monitor-X.Y.Z.zip.
  2. Распакуйте архив в любую папку, например ~/zakupki-monitor.
  3. Откройте chrome://extensions (или edge://extensions, brave://extensions).
  4. В правом верхнем углу включите тумблер «Режим разработчика» (Developer mode).
  5. Нажмите «Загрузить распакованное расширение» (Load unpacked) и выберите распакованную папку.
  6. В списке появится «Бесплатный мониторинг госзакупок». Закрепите иконку расширения через меню Extensions.
  7. Кликните на иконку, откройте «Настройки», добавьте RSS-ссылку с zakupki.gov.ru и сохраните.

Способ 2. Через git clone (для разработчиков и контрибьюторов)

git clone https://github.com/stufently/free-zakupki-gov-ru-monitor.git
cd free-zakupki-gov-ru-monitor

Дальше шаги 3–7 как выше, но в качестве папки расширения выберите extension/ внутри клонированного репозитория. Удобно тем, что git pull подтянет обновления, останется только перезагрузить расширение в chrome://extensions (кнопка обновления на карточке).

Способ 3. Chrome Web Store

Готовится. Тексты карточки, обоснования разрешений и скриншоты под требования Store собраны в docs/chrome-web-store.md — осталось завести аккаунт разработчика и отправить на ревью. Подписаться на релизы, чтобы получить уведомление о публикации.

Обновление до новой версии

  • Скачали ZIP — скачайте свежий, распакуйте поверх или в новую папку, на карточке расширения нажмите кнопку обновления.
  • Через git — git pull в папке проекта и кнопка обновления на карточке расширения.

Как получить RSS-ссылку с zakupki.gov.ru

Сайт zakupki.gov.ru даёт RSS-фид на любой результат расширенного поиска. Это и есть бесплатный официальный способ мониторинга госзакупок без API-ключей.

  1. Откройте zakupki.gov.ru и нажмите «Расширенный поиск».
  2. Настройте фильтры под свою задачу: ключевые слова (например, «охрана» или «ИТ-услуги»), регион, способ закупки, диапазон НМЦК, заказчик, ОКПД2.
  3. Нажмите «Применить» и прокрутите вниз результатов поиска.
  4. Под результатами найдёте кнопку «RSS» (оранжевая иконка). Кликните правой кнопкой и скопируйте адрес ссылки.
  5. Вставьте эту ссылку в настройках расширения.

URL выглядит примерно так:

https://zakupki.gov.ru/epz/order/extendedsearch/rss.html?searchString=...&morphology=on&pageNumber=1&...

Портал отдаёт эндпоинт и в форме без .html — расширению подходят оба варианта, копируйте ссылку как есть.

Можно подключить несколько лент. Например, отдельно по регионам, отдельно по ОКПД, отдельно по конкретным заказчикам. Расширение опрашивает каждую независимо и шлёт уведомления отдельно.

Какие ещё RSS есть на zakupki.gov.ru

Что отслеживаетсяГде находится RSS
Новые закупки (44-ФЗ, 223-ФЗ)Расширенный поиск, кнопка RSS внизу страницы
Реестр контрактовРеестр контрактов, расширенный поиск, кнопка RSS
Реестр жалоб (ФАС)Реестр жалоб, расширенный поиск, кнопка RSS
Реестр недобросовестных поставщиков (РНП)РНП, расширенный поиск, кнопка RSS
Планы-графикиПланы-графики, расширенный поиск, кнопка RSS

Сайт zakupki.gov.ru периодически меняет интерфейс. Если кнопка «RSS» переместилась, ищите её в блоке экспорта результатов или в меню «Сохранить поиск».


Зачем мониторить госзакупки

На zakupki.gov.ru ежедневно публикуются тысячи новых лотов. Если у вас:

  • Поставка товаров или услуг как основной канал продаж. Платные сервисы стоят 5–50 тысяч ₽/мес. Если устойчивых поисков немного, RSS и это расширение закрывают задачу бесплатно.
  • Маркетплейс или дистрибуция, и нужно отслеживать спрос по конкретным ОКПД2.
  • Юридическая практика по госзаказу. Тогда полезен мониторинг жалоб ФАС и РНП по списку клиентов.
  • Журналистика или аналитика — отслеживание закупок отдельных ведомств или регионов.
  • Прототип Telegram-бота или внутренней рассылки про тендеры, и не хочется поднимать сервер.

Расширение даёт оповещения о новых государственных закупках без сервера, бота и подписки. Установили в браузер, добавили RSS-ссылки — дальше работает само.


Сравнение с альтернативами

Это расширениеПлатные сервисы (от 5 000 ₽/мес)Telegram-ботыFeeder / RSS-ридеры
ЦенаБесплатно5 000 – 50 000 ₽/месЧасто условно бесплатно с лимитамиБесплатно
РегистрацияНе нужнаАккаунт + KYCАккаунт TelegramЧасто не нужна
Скорость уведомленийот 1 минуты, настраиваетсяМинутыМинуты15 мин – 1 ч
Долгие URL zakupki.gov.ruРаботаютРаботаютРаботаютЧасто обрезаются
Хранение фильтровЛокальноНа сервере провайдераНа сервере ботаЛокально
Подходит для бизнес-критичных лотовДля информирования — да. Для торгов в реал-тайме лучше платный сервисДаЗависитНе очень
Open sourceДаНетИногдаЗависит

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


FAQ

Это безопасно? Куда уходят мои поисковые запросы?

Никуда. Расширение не отправляет данные на сторонние серверы. RSS-ссылки и история найденных закупок хранятся в chrome.storage.local на вашем компьютере. HTTP-запросы идут только напрямую на zakupki.gov.ru. Код открыт, проверить можно в папке extension/. Подробно — в политике конфиденциальности.

Будет ли работать в Edge, Yandex Browser, Brave, Opera?

Да. Все эти браузеры на Chromium и поддерживают расширения Chrome MV3. Установка через тот же режим разработчика.

А Firefox?

Пока нет. В планах сборка под Firefox (там MV3 отличается в деталях). Голосуйте в issues.

Расширение работает, когда браузер закрыт?

Нет. Это ограничение Chrome MV3: service worker живёт только пока запущен браузер. Если нужен мониторинг 24/7 даже при выключенном браузере, используйте связку сервер плюс Telegram-бот. Такая интеграция тоже в планах, отдельной папкой в этом же репо.

Как часто можно опрашивать RSS?

Минимум 1 минута (это ограничение chrome.alarms). По умолчанию стоит 10 минут. Можно поставить от 1 минуты до недели через настройки. Слишком частый поллинг теоретически попадает под rate limit zakupki.gov.ru, но на интервалах от 1 минуты у меня и тестировщиков претензий не было.

RSS не открывается, фид пустой — что делать?

  1. Откройте настройки расширения — под каждой лентой написано состояние последней проверки и текст ошибки, если она была.
  2. Если там «Не удалось соединиться с сервером» — скорее всего, дело в сертификате Минцифры, см. раздел выше.
  3. Проверьте URL в браузере: должен открыться XML с тегами <channel> и <item>. Если открывается HTML-страница, расширение так и напишет — «Сервер вернул HTML-страницу вместо RSS».
  4. Убедитесь, что в URL нет переносов строк — они часто ломаются при копировании из мессенджеров.
  5. Если фид валидный, но расширение не видит новых записей — это нормально для первого запуска. Расширение запоминает текущие записи и не считает их новыми. Уведомления начнут приходить со следующей проверки.

Можно ли подключать любые RSS, не только zakupki.gov.ru?

В текущей версии host_permissions ограничены zakupki.gov.ru и его поддоменами. Расширение специально не претендует на доступ к произвольным сайтам, чтобы пройти review Chrome Web Store с минимальными требованиями. Парсер совместим с RSS 2.0 и Atom. В планах опциональный режим для сторонних RSS через optional_host_permissions и явное согласие пользователя. Голосуйте в issues.

Где сохраняются данные?

Локально, в chrome.storage.local. Посмотреть содержимое: chrome://extensions, расширение, «Подробности», «Просмотр данных хранилища».


Технические детали

  • Manifest V3 (Chrome 88+ принимает только MV3 для новых расширений).
  • Service worker (background.js) на нативных ES-модулях, без бандлера и сборки.
  • Парсер RSS — нативный DOMParser, без зависимостей. Понимает RSS 2.0, Atom, RDF, namespaced теги (dc:date и т.п.).
  • DOMParser вызывается из offscreen-документа, а не из service worker'а. В MV3 у service worker'а нет DOM API вообще: DOMParser там не существует ни в одной версии Chrome, и прямой вызов падает с ReferenceError. Официальный обходной путь — chrome.offscreen с причиной DOM_PARSER; отсюда разрешение offscreen в манифесте. Сеть при этом остаётся в service worker'е, в offscreen уходит только уже скачанный текст.
  • Хранилище — chrome.storage.local, квота около 10 МБ.
  • Нет внешних HTTP-запросов, кроме fetch к указанным вами RSS-URL на zakupki.gov.ru.
  • Таймаут запроса — 30 секунд, ответы больше 5 МБ отбраковываются: зависшая или подменённая лента не блокирует остальные.
  • Минимальная версия Chrome — 119. chrome.offscreen доступен с Chrome 109, запас взят на стабильность MV3-service worker'ов.
  • Нет фоновых сетевых запросов между интервалами проверки.
  • Нет content scripts — расширение не вмешивается в открытые страницы.

Структура:

extension/
├── manifest.json      # MV3 manifest
├── background.js      # Service worker: alarms + fetch + notify (без DOM API)
├── offscreen.html/.js # Offscreen-документ: единственное место, где живёт DOMParser
├── rss.js             # Парсер RSS 2.0 / Atom, исполняется в offscreen
├── storage.js         # Обёртка над chrome.storage.local
├── options.html/.js/.css   # Страница настроек
├── popup.html/.js/.css     # Popup при клике на иконку
├── _locales/ru/messages.json
└── icons/             # 16/48/128 PNG иконки

Контрибьютинг

PR welcome. Простые задачи открыты в issues:

  • Сборка под Firefox (MV3)
  • Иконки лучше моих (рисую я так себе)
  • Импорт и экспорт списка лент в OPML
  • Группировка лент в категории
  • Опция «открывать popup при новой записи»
  • Telegram-бот в папке bot/ для серверного мониторинга

Лицензия

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


Связанные ссылки

Ключевые слова

бесплатный мониторинг госзакупок, мониторинг закупки гов ру, мониторинг zakupki.gov.ru, RSS закупки.гов.ру, расширение Chrome для тендеров, уведомления о новых закупках, бесплатный аналог tenderplan, мониторинг 44-ФЗ, мониторинг 223-ФЗ, парсер закупок без регистрации, open source мониторинг тендеров, отслеживание госзаказа, рассылка о тендерах бесплатно, push-уведомления о тендерах, alert на новые закупки.

Править на GitHub · 2026-07-29