Инструкция по работе с API для репозитория данных НЦСЭД

Дата публикации

2026

Введение

Данный документ представляет собой руководство по использованию API каталога данных, расположенного по адресу https://repository.nsedc.ru/. Платформа построена на базе CKAN (Comprehensive Knowledge Archive Network) — ведущего программного обеспечения с открытым исходным кодом для создания порталов открытых данных. API позволяет разработчикам и аналитикам программно взаимодействовать с каталогом: искать, получать метаданные и скачивать наборы данных.

Все запросы к API следует отправлять на базовый URL:

https://repository.nsedc.ru/api/3/action/

API возвращает данные в формате JSON.

Аутентификация

Для большинства операций, связанных с чтением данных (поиск, просмотр наборов данных), аутентификация и API-ключ не требуются. Запросы можно выполнять анонимно.

Если вам потребуются права на добавление или редактирование данных, вам необходимо будет использовать API-ключ. Обычно его можно найти в настройках вашего профиля на самом портале CKAN после авторизации. При наличии ключа его следует передавать в заголовке каждого запроса:

Authorization: YOUR_API_KEY

Основные концепции

  • Набор данных (Package/Dataset): Основная единица каталога. Это коллекция, объединяющая метаданные (описание, название, теги) и связанные с ними ресурсы.
  • Ресурс (Resource): Непосредственно сам файл с данными (например, CSV, XLSX, JSON), который является частью набора данных. У одного набора данных может быть несколько ресурсов.
  • Организация (Organization): Издатель или владелец наборов данных (например, Росстат, Всемирный банк).
  • Рубрика (Group): Тематическая категория, к которой может быть отнесен набор данных.

Базовые запросы к API

Ниже приведены примеры наиболее распространенных запросов для получения данных из каталога. Примеры показаны с использованием утилиты curl, но могут быть легко адаптированы для любого языка программирования или инструмента.

1. Получение списка наборов данных

Метод package_list возвращает полный список идентификаторов (ID) всех наборов данных в каталоге.

Запрос:

curl -s "https://repository.nsedc.ru/api/3/action/package_list"

Пример ответа (фрагмент):

{
  "help": "https://repository.nsedc.ru/api/3/action/help_show?name=package_list",
  "success": true,
  "result": [
    "dannyye-po-finansovomu-rynku-krivaya-dokhodnosti",
    "budushcheye-blagopoluchiye",
    "tekushcheye-blagopoluchiye-v-razbivke-po-polu",
    ...
  ]
}

2. Получение детальной информации о наборе данных

Метод package_show позволяет получить полную информацию (метаданные, список ресурсов, теги и т.д.) о конкретном наборе данных по его ID.

Запрос:

curl -s "https://repository.nsedc.ru/api/3/action/package_show?id=dannyye-po-finansovomu-rynku-krivaya-dokhodnosti"

Пример ответа (фрагмент):

{
  "success": true,
  "result": {
    "license_title": "Creative Commons Attribution",
    "title": "Данные по финансовому рынку - кривая доходности",
    "name": "dannyye-po-finansovomu-rynku-krivaya-dokhodnosti",
    "notes": "Кривая доходности отражает взаимосвязь между рыночными ставками...",
    "resources": [
      {
        "id": "5a995f3a-230b-4835-9b98-386d9f82442c",
        "name": "YC.zip",
        "format": "ZIP",
        "url": "https://datalakeiepru-s3-storage-public.storage.yandexcloud.net/ecb/data/zip/YC.zip"
      },
      {
        "id": "57e98c67-79c5-48bd-8492-1043e75e6602",
        "name": "YC.parquet",
        "format": "PARQUET",
        "url": "https://datalakeiepru-s3-storage-public.storage.yandexcloud.net/ecb/data/parquet/YC.parquet"
      }
    ],
    "tags": [...],
    "organization": {...}
  }
}

Ключевым полем здесь является resources, которое содержит массив ссылок на фактические файлы данных.

3. Поиск наборов данных

Метод package_search является мощным инструментом для поиска данных по различным критериям.

Поиск по ключевому слову

Параметр q используется для полнотекстового поиска по метаданным.

Запрос (поиск по слову “благополучие”):

curl -s "https://repository.nsedc.ru/api/3/action/package_search?q=благополучие&rows=1"

Фильтрация по организации

Параметр fq (filter query) позволяет фильтровать результаты. Например, для поиска данных, опубликованных Росстатом, используется fq=organization:rosstat.

Запрос:

curl -s "https://repository.nsedc.ru/api/3/action/package_search?fq=organization:rosstat&rows=2"

4. Получение списка организаций

Метод organization_list возвращает список всех организаций, публикующих данные в каталоге.

Запрос:

curl -s "https://repository.nsedc.ru/api/3/action/organization_list?all_fields=true&limit=2"

Параметр all_fields=true позволяет получить полную информацию о каждой организации, а не только ее ID.

5. Получение списка рубрик (групп)

Аналогично, метод group_list возвращает список тематических рубрик.

Запрос:

curl -s "https://repository.nsedc.ru/api/3/action/group_list?all_fields=true&limit=2"