Read-only доступ к данным о политических преследованиях в России
API предоставляет структурированный доступ к данным о политических преследованиях в России. Данные обновляются несколько раз в сутки.
Это экспериментальный API — структура эндпоинтов и набор полей могут меняться.
Базовый URL: http://api.repressions.org · Swagger UI: /docs
Все запросы (кроме GET /datasets) требуют заголовок:
X-API-Key: <ваш_ключ>
Для получения ключа обратитесь к команде ОВД-Инфо по адресу [email protected]. Ключ выдаётся один раз — сохраните его.
| Метод | Путь | Описание | Ключ |
|---|---|---|---|
| GET | /datasets | Схема датасетов: колонки, фильтры | Нет |
| GET | /persons | Список персон с фильтрацией и поиском | Да |
| GET | /persons/{id} | Персона по UUID | Да |
| GET | /organisations | Список организаций | Да |
| GET | /organisations/{id} | Организация по UUID | Да |
| GET | /pp_persecutions | Политические преследования | Да |
| Параметр | Тип | Описание |
|---|---|---|
limit | int | Строк в ответе (по умолчанию 100, макс. 1000) |
offset | int | Смещение для пагинации. Ответ содержит total — общее число строк с учётом фильтров |
q | str | Поиск подстроки по всем search-полям одновременно |
{col} | str | Точный фильтр по filter-полю. Поддерживает операторы — см. ниже |
subset | str | Подмножество колонок: rfm или inoteka — подробнее ниже |
sort | str | Имя колонки для сортировки. Только колонки, входящие в текущий ответ |
order | str | asc (по умолчанию) или desc |
timeline | bool | Только /persons/{id} — добавляет persecutions[] с преследованиями |
Все filter-поля поддерживают расширенные операторы через суффикс __{оператор}:
| Синтаксис | Оператор | Пример |
|---|---|---|
?{col}=val | Точное совпадение | ?persecution_status=Осуждён |
?{col}__gt=val | Больше чем | ?start_year__gt=2021 |
?{col}__gte=val | Больше или равно | ?start_year__gte=2022 |
?{col}__lt=val | Меньше чем | ?verdict_date__lt=2024-01-01 |
?{col}__lte=val | Меньше или равно | ?verdict_date__lte=2023-12-31 |
?{col}__in=a,b,c | Одно из значений | ?region__in=Москва,Санкт-Петербург |
Операторы можно комбинировать: ?start_year__gte=2020&start_year__lt=2023
По умолчанию возвращаются только базовые поля (имя, дата рождения, ИНН). Параметр subset добавляет тематический блок:
| Значение | Добавляет |
|---|---|
subset=rfm | Флаги источников, pp_person_id и все поля из реестра Росфинмониторинга |
subset=inoteka | Поля из реестра иностранных агентов: статус, основание признания, тематика, год признания/исключения, флаги прекращения работы |
Для /organisations параметра subset нет — все поля возвращаются всегда. Записи с do_not_publish возвращаются, но с обнулёнными идентификаторами и описаниями.
# Загрузить все записи постранично import requests API = "http://api.repressions.org" KEY = {"X-API-Key": "<ваш_ключ>"} params = {"limit": 1000, "offset": 0} rows = [] while True: r = requests.get(f"{API}/persons", headers=KEY, params=params).json() rows.extend(r["data"]) if params["offset"] + 1000 >= r["total"]: break params["offset"] += 1000
# Поиск по имени curl "http://api.repressions.org/persons?q=Иванов" \ -H "X-API-Key: <ваш_ключ>" # Персоны с полным набором полей РФМ curl "http://api.repressions.org/persons?subset=rfm&in_rosfinmon=true" \ -H "X-API-Key: <ваш_ключ>" # Иностранные агенты — все поля + фильтр по статусу (contains-any по всем статусам записи) curl "http://api.repressions.org/persons?subset=inoteka&in_inoteka=true&inoteka_statuses=Физическое лицо — иностранный агент" \ -H "X-API-Key: <ваш_ключ>" # Организации — иноагенты, не прекратившие работу, признанные с 2020 года curl "http://api.repressions.org/organisations?inoteka_stopped_working=false&inoteka_first_recognition_year__gte=2020" \ -H "X-API-Key: <ваш_ключ>" # Персона с историей преследований curl "http://api.repressions.org/persons/<uuid>?timeline=true" \ -H "X-API-Key: <ваш_ключ>" # Активные преследования curl "http://api.repressions.org/pp_persecutions?is_actual=true" \ -H "X-API-Key: <ваш_ключ>"
Административные страницы для работы с данными — доступны авторизованным сотрудникам.
| Страница | Описание |
|---|---|
/inoteka |
Реестр иностранных агентов. Список физических лиц и организаций с фильтрацией по типу, статусу и тексту. Карточка справа показывает основные данные, акты признания и давления, связанных участников. Форма редактирования позволяет менять все поля записи, включая статус признания, тематику деятельности и — для организаций — флаг прекращения работы. |
/politpressing |
База политических преследований. Список преследуемых с фильтрацией по типу преследования, актуальности и тексту. Карточка справа раскрывает полный профиль: фото, персональные данные, историю преследований с мерами пресечения, судебными заседаниями, приговорами и местами лишения свободы, а также оценки правозащитных организаций. |
Актуальная схема — колонки, какие из них фильтруемые и поисковые, к какому subset относятся. Ключ не нужен.