Открытые данные bus.gov.ru
Зачем и для кого
Инструкция для аналитиков и разработчиков, которым нужны официальные выгрузки по учреждениям: планы ФХД и отчёты об исполнении, государственное (муниципальное) задание, бухгалтерская отчётность и смежные наборы с портала bus.gov.ru. Отдельного стабильного публичного OpenAPI «на всё» нет: основной вход — витрина паспортов https://bus.gov.ru/opendata и файлы, на которые ссылается паспорт каждого набора.
Входные данные
- Витрина открытых данных — https://bus.gov.ru/opendata: каталог наборов, паспорт, ссылки на файлы и условия использования по конкретному датасету.
- Идентификатор набора и финансовый год — из названия/описания паспорта; для воспроизводимости зафиксируйте дату скачивания и URL паспорта (состав наборов и полей меняется).
- Прямая ссылка на файл — из паспорта или через «Скачать» в интерфейсе (часто URL вида
/public-rest/api/opendata/...); её удобно скопировать из браузера перед запуском скрипта. - Контекст для сверки — при необходимости веб-карточка учреждения на https://bus.gov.ru/ и смежные источники (см. карточку источника).
Инструменты
- Браузер (Chrome/Firefox) — выбор набора, чтение паспорта, копирование прямой ссылки на файл; при автоматизации — вкладка Сеть (Network) для просмотра запросов SPA к
public-rest(состав запросов не гарантирован между версиями портала). - Python 3 с пакетом
requestsи модулемcsv(или pandas после определения разделителя и кодировки по первым строкам файла).
Шаги
- Откройте https://bus.gov.ru/opendata и найдите нужный набор по смыслу (отчётность, госзадание, план ФХД и т.д.).
- Откройте паспорт набора: зафиксируйте дату актуализации, формат (CSV/XML/JSON) и лицензию/условия в тексте паспорта.
- Получите прямую ссылку на файл данных — через кнопку скачивания («Копировать адрес ссылки») или поле в паспорте.
- Скачайте файл вручную или скриптом (см. пример ниже); для больших выгрузок увеличьте таймаут и по возможности пишите потоком на диск.
- Определите кодировку и разделитель по паспорту и по первым строкам файла (на старых наборах встречаются Windows-1251 и
;).
Воспроизводимый пример
Скопируйте полный URL файла из паспорта набора или из вкладки «Сеть» после нажатия «Скачать» в браузере. Сохраните код в файл (например bus_sample.py) и выполните команды ниже. Без переменной окружения скрипт завершится с подсказкой; с URL он печатает первые пять строк CSV. Разделитель ; типичен для выгрузок bus; если строки «пустые», откройте файл в редакторе и попробуйте ,.
import csv
import io
import os
import sys
import requests
FILE_URL = os.environ.get("BUS_OPEN_DATA_FILE_URL")
if not FILE_URL:
sys.exit(
"Задайте BUS_OPEN_DATA_FILE_URL — полный URL файла из паспорта на "
"https://bus.gov.ru/opendata"
)
HEADERS = {
"User-Agent": "Mozilla/5.0 (compatible; bus-opendata-pipeline/1.0; +https://example.org/contact)",
}
resp = requests.get(FILE_URL, headers=HEADERS, timeout=300)
resp.raise_for_status()
# Часто UTF-8; при кракозябрах попробуйте decode("cp1251") вместо apparent_encoding
text = resp.content.decode(resp.apparent_encoding or "utf-8", errors="replace")
reader = csv.reader(io.StringIO(text), delimiter=";")
for _, row in zip(range(5), reader):
print(row)
export BUS_OPEN_DATA_FILE_URL='https://...' # вставьте URL из паспорта
python3 bus_sample.py
Проверка результата
- Сверьте объём строк и ключевые поля (ИНН, ОГРН, код учреждения, период) с веб-карточкой того же учреждения на bus.gov.ru.
- Сопоставьте итоговые суммы с планом ФХД/отчётом в веб-интерфейсе; при расхождении ориентируйтесь на дату обновления выгрузки в паспорте.
- Помните, что bus — уровень учреждения; бюджетное исполнение по КБК и выплаты не обязаны совпадать с выгрузкой (см. казначейские отчёты и наборы Электронного бюджета).
Ограничения и типовые ошибки
- Вызовы
/public-rest/api/...без контекста браузера часто дают ошибку сервера или HTML вместо файла: сначала получайте URL из живой витрины, не копируйте устаревшие шаблоны из старых заметок. - Нет полного дубля HTML в opendata: в выгрузке может не быть части полей, видимых только в веб-карточке.
- Объёмы большие — не держите весь файл в памяти без необходимости; проверяйте лимиты и дружелюбный User-Agent.
- Не путайте показатели учреждения с консолидированным бюджетом
budget.gov.ru; стыковка — по ИНН, году и методике показателя.
Связанные страницы
- Открытые данные bus.gov.ru (источник) — объекты данных, URL, ограничения и перекрёстные ссылки.
- bus.gov.ru — портал ГМУ — назначение ИС и типичные ограничения витрины.
- Государственные задания — сущность и веб-реестр на том же портале.
- План ФХД и отчёт о его исполнении — регламент плановых и отчётных форм.
- Бухгалтерская отчётность учреждений — контекст форм в выгрузках.