# Земеля API — полная документация > REST API данных о недвижимости по кадастровому номеру: земельные участки (`POST /cn_data`), > объекты капитального строительства — здания, квартиры, помещения (`POST /oks_data`), торги по > земельным участкам с torgi.gov.ru (`GET /torgi/*`). Ответы — JSON, авторизация — Bearer-токен. Это Markdown-версия документации https://zemelyabot.ru/api-docs/ (собрана автоматически). О продукте и тестовый доступ: https://zemelyabot.ru/zemelya-api/. Краткая сводка: https://zemelyabot.ru/llms.txt. ### Базовый URL и авторизация Все запросы отправляются на базовый URL сервиса. Авторизация — Bearer-токен в заголовке `Authorization`. Токен выдаётся при подключении и не хранится в открытом виде. > **Демо-номера:** `23:49:0000000:8273` для `/cn_data` и `16:50:011101:9999` (вымышленная квартира) для `/oks_data` — возвращают тестовый ответ без списания запросов подписки (rate limit: 15 req/min). Демо-объект отвечает и без подключённых полей объектов капстроительства. *Пример запроса · cURL* ``` # Получить данные об участке curl -X POST "https://service.zemelyabot.ru/cn_data" \ -H "Authorization: Bearer <ваш_токен>" \ -H "Content-Type: application/json" \ -d '{ "cad_num": "23:49:0000000:8273" }' # То же по координатам точки — вместо кадастрового номера curl -X POST "https://service.zemelyabot.ru/cn_data" \ -H "Authorization: Bearer <ваш_токен>" \ -H "Content-Type: application/json" \ -d '{ "coords": { "lat": 55.7558, "lon": 37.6173 } }' # Быстрый ответ: согласиться на ранее собранные данные не старше недели curl -X POST "https://service.zemelyabot.ru/cn_data" \ -H "Authorization: Bearer <ваш_токен>" \ -H "Content-Type: application/json" \ -d '{ "cad_num": "23:49:0000000:8273", "use_cache": true, "cache_ttl": 604800 }' # Асинхронно: поставить задачу и забрать результат по идентификатору curl -X POST "https://service.zemelyabot.ru/cn_data/jobs" \ -H "Authorization: Bearer <ваш_токен>" \ -H "Content-Type: application/json" \ -d '{ "cad_num": "23:49:0000000:8273" }' # → {"request_id": "5b1c...", "status": "queued", "poll_after_sec": 30} curl "https://service.zemelyabot.ru/cn_data/jobs/5b1c..." \ -H "Authorization: Bearer <ваш_токен>" # Здание, квартира, сооружение — объект капстроительства по номеру curl -X POST "https://service.zemelyabot.ru/oks_data" \ -H "Authorization: Bearer <ваш_токен>" \ -H "Content-Type: application/json" \ -d '{ "cad_num": "77:01:0001010:1234" }' # Торги по земельным участкам (доступ подключается отдельно) curl "https://service.zemelyabot.ru/torgi/lots?region=67&status=active" \ -H "Authorization: Bearer <ваш_токен>" # Статистика подписки curl -X GET "https://service.zemelyabot.ru/statistics" \ -H "Authorization: Bearer <ваш_токен>" ``` | Параметр | Значение | |---|---| | Базовый URL | https://service.zemelyabot.ru | | Формат запроса | JSON (Content-Type: application/json) | | Авторизация | Authorization: Bearer | | Rate limit | 10 запросов/мин (обычный токен), 15 запросов/мин (демо). Опрос асинхронных задач (статус и список задач) считается отдельно — 10 запросов/мин. Торги (`/torgi/*`) — отдельно, 60 запросов/мин; скачивание файлов выгрузок — 20 в час | ## Данные об участке Продукт · по подписке Отчёт по участку по кадастровому номеру или точке на карте: характеристики из ЕГРН, ЗОУИТ и ПЗЗ, рыночные цены, риски, окружение, ГИС ОГД регионов. Синхронно или через очередь задач. Эндпоинты: `POST /cn_data`, `POST /cn_data/jobs`, `GET /cn_data/jobs/` ### POST /cn_data `POST /cn_data` Основной эндпоинт. Возвращает данные о земельном участке — по кадастровому номеру либо по координатам точки. Состав полей ответа определяется настройками токена. #### Request body | Поле | Тип | Описание | |---|---|---| | cad_num | string | Кадастровый номер участка. Формат: `XX:XX:XXXXXXX:XXX`. Взаимоисключающе с `coords`: в запросе должно быть ровно одно из двух полей. Номер здания, помещения или сооружения — ответ `422 not_a_land_plot`: для таких объектов используйте POST /oks_data. | | coords | object | Координаты точки — альтернатива `cad_num`: `{"lat": 55.7558, "lon": 37.6173}`. Участок определяется по попаданию точки в его границы, а найденный кадастровый номер возвращается в `area_number`. Оба поля обязательны и должны быть числами (`lat` — от −90 до 90, `lon` — от −180 до 180); строки не принимаются. Если точка не попадает ни в один участок, ответ — `204`, и `collect_if_not_found` в этом случае не применяется: без кадастрового номера собирать нечего. | | collect_if_not_found | boolean | Необязательное, по умолчанию `false`. Если участок не найден по кадастровому номеру, при `true` вместо ответа «не найдено» всё равно собираются поля, которым не нужна геометрия участка (поиск в Google/Яндексе, ОКС, объявления и сделки в квартале, торги, документы Гарант/Судакт, правовые акты pravo.gov.ru по кадастровому номеру и кварталу, строительная статика, ГИС ОГД Московской области). Поля, зависящие от геометрии, вернутся пустыми. Ответ — `200` с корневым признаком `not_found: true`. Запрос списывается как обычный. | | use_cache | boolean | Необязательное, по умолчанию `false`. При `true` вы соглашаетесь получить ранее собранные данные по этому участку, если они у нас есть и не старше `cache_ttl`. Ответ приходит за секунды вместо нескольких минут полного сбора. Данные отдаются только если сохранённый результат закрывает **все** поля вашего токена — иначе выполняется обычный сбор. Запрос списывается как обычный в любом случае. | | neighbors_radius | integer | Необязательное, по умолчанию `50`. Радиус поиска соседних участков для поля area_neighbors **в метрах от границы участка**: целое число от `0` (только смежные участки) до `100`. Значение вне диапазона, дробное число или строка — `422` `invalid_neighbors_radius`. Проверяется, даже если поле не подключено вашему токену. Сохранённые данные (`use_cache`) подходят, только если собраны с тем же радиусом. | | cache_ttl | integer | Необязательное, работает только вместе с `use_cache: true` (иначе — `422`). Предельный возраст данных **в секундах**, который вас устроит: например `604800` — не старше недели. Целое число больше нуля; по умолчанию — 30 дней (`2592000`). Если сохранённые данные старше — они игнорируются и участок собирается заново. | #### Корневые поля ответа | Поле | Тип | Описание | |---|---|---| | area_number | string | Кадастровый номер участка: переданный в запросе или найденный по координатам | | request_time | string | Дата и время выполнения запроса (RFC 1123, например `Thu, 28 May 2026 12:34:56 GMT`) | | data | object | Данные по участку. Состав полей определяется настройками токена | | not_found | boolean | Присутствует и равно `true` только когда участок не найден по кадастровому номеру, но данные собраны частично по запросу `collect_if_not_found`. В обычных ответах ключ отсутствует | | cached | boolean | Присутствует и равно `true` только когда ответ отдан из сохранённых данных по запросу `use_cache`. В обычных ответах ключ отсутствует | | cached_at | string | Когда эти данные были собраны (RFC 1123, например `Thu, 28 May 2026 12:34:56 GMT`). Только в ответах из кэша | | cache_age_sec | integer | Возраст данных в секундах на момент ответа. Только в ответах из кэша | *200 OK · response.json* ```json { "area_number": "23:49:0000000:8273", "request_time": "Thu, 28 May 2026 12:34:56 GMT", "data": { "area_data": { /* кадастровые характеристики */ }, "area_geometry": { /* геометрия GeoJSON */ }, "area_analysis": { /* аналитика рынка */ } // ... другие поля по подписке } } ``` #### Группы полей `data.*` Каждое поле включается индивидуально по настройкам токена. Нажмите на группу, чтобы раскрыть описание полей и пример. ##### `area_data` — Кадастровые характеристики из ЕГРН | Поле | Тип | Описание | |---|---|---| | cad_num | string | Кадастровый номер участка | | status | string | Статус кадастровой записи, например «Учтённый», «Ранее учтённый» | | land_record_type | string | Тип объекта недвижимости, например «Земельный участок» | | land_record_subtype | string | Подтип объекта, например «Землепользование» | | land_record_category_type | string | Категория земель, например «Земли населённых пунктов» | | permitted_use_established_by_document | string | Вид разрешённого использования по документу | | specified_area | integer | Уточнённая площадь участка (кв. м) | | declared_area | integer null | Декларированная площадь (кв. м) — заявленная без проведения межевания | | land_record_area_verified | integer null | Уточнённая площадь после проведения межевания (кв. м) | | land_record_area_declaration | integer null | Декларированная площадь по ЕГРН (кв. м) | | land_record_area | string null | Площадь по данным кадастрового учёта | | area | string null | Площадь из записей ЕГРН, если отличается от уточнённой | | cost_value | float | Кадастровая стоимость участка (руб.) | | cost_index | float | Удельный показатель кадастровой стоимости (руб./кв. м) | | cost_registration_date | string | Дата внесения кадастровой стоимости в ЕГРН | | cost_determination_date | string | Дата определения кадастровой стоимости | | cost_approvement_date | string | Дата утверждения кадастровой стоимости | | cost_application_date | string | Дата начала применения кадастровой стоимости | | determination_couse | string | Основание определения кадастровой стоимости | | ownership_type | string | Форма собственности, например «Частная», «Государственная субъекта РФ» | | right_type | string null | Вид права на участок, например «Собственность», «Аренда» | | readable_address | string | Адрес местоположения участка в читаемом виде | | quarter_cad_number | string | Кадастровый номер квартала, в котором расположен участок | | land_record_reg_date | string | Дата постановки на кадастровый учёт | | no_coords | boolean | Координаты границ участка отсутствуют в ЕГРН | | previously_posted | boolean null | Признак ранее учтённого объекта | | objdoc_id | string null | Идентификатор правоустанавливающего документа | | registers_id | string null | Идентификатор записи в реестре границ | Пример ответа: ```json { "cad_num": "23:49:0000000:8273", "status": "Учтённый", "land_record_type": "Земельный участок", "land_record_subtype": "Землепользование", "land_record_category_type": "Земли населённых пунктов", "permitted_use_established_by_document": "Для размещения объектов...", "specified_area": 164403, "declared_area": null, "land_record_area_verified": 164403, "land_record_area_declaration": null, "cost_value": 1390490981.46, "cost_index": 8461.38, "cost_registration_date": "2022-12-15", "cost_determination_date": "2022-11-01", "cost_approvement_date": "2022-11-28", "cost_application_date": "2023-01-01", "ownership_type": "Государственная субъекта РФ", "right_type": "Собственность", "readable_address": "Краснодарский край, ф.т. Сириус", "quarter_cad_number": "23:49:0000000", "land_record_reg_date": "2018-03-22", "no_coords": false, "previously_posted": null } ``` ##### `area_geometry` — Геометрия границ участка GeoJSON (WGS 84) | Поле | Тип | Описание | |---|---|---| | type | string | Тип геометрии GeoJSON — `Polygon` или `MultiPolygon` | | coordinates | array | Для Polygon — массив колец [внешнее кольцо, дырки...]. Для MultiPolygon — массив полигонов. Каждая точка — [longitude, latitude] | Пример ответа: ```json { "type": "Polygon", // или "MultiPolygon" "coordinates": [ // внешнее кольцо, затем дырки [ [39.9821, 43.4102], // [longitude, latitude] [39.9834, 43.4102], [39.9834, 43.4089], [39.9821, 43.4089], [39.9821, 43.4102] // замыкающая точка = первая ] ] } ``` ##### `area_zouit` — Зоны с особыми условиями использования территории **Категории зон (ключи объекта)** | Поле | Тип | Описание | |---|---|---| | cultural | array | Зоны охраны объектов культурного наследия | | energy | array | Охранные зоны объектов энергетики и инфраструктуры | | nature | array | Особо охраняемые природные территории | | security | array | Санитарно-защитные и охранные зоны | | other | array | Прочие зоны с особыми условиями использования территории | **Поля каждого объекта в массиве** | Поле | Тип | Описание | |---|---|---| | geometry.type | string | Тип геометрии GeoJSON границы зоны | | geometry.coordinates | array | Координаты границы зоны | | properties.name_by_doc | string | Наименование зоны согласно документу | | properties.type_zone | string | Вид зоны с особыми условиями использования территории | | properties.type_boundary_value | string | Вид границы зоны | | properties.reg_numb_border | string | Реестровый номер границы зоны | | properties.registration_date | string | Дата регистрации зоны в реестре | | properties.doc | string | Документ-основание установления зоны | | properties.content_restrict_encumbrances | string | Содержание ограничений и обременений | | properties.legal_act_document_name | string | Наименование правового акта | | properties.legal_act_document_number | string | Номер правового акта | | properties.legal_act_document_date | string | Дата правового акта | | properties.legal_act_document_issuer | string | Орган, издавший правовой акт | | properties.cadastral_district | string | Кадастровый район | | properties.old_account_number | string | Старый учётный номер зоны | | properties.no_coords | boolean | Координаты границы зоны отсутствуют | | properties.registers_id | string null | Идентификатор записи в реестре границ | | properties.objdoc_id | string null | Идентификатор документа в реестре | Пример ответа: ```json { "cultural": [ { "geometry": { "type": "Polygon", "coordinates": [[[39.98, 43.41], ...]] }, "properties": { "name_by_doc": "Охранная зона ОКН «...»", "type_zone": "Зона охраны объекта культурного наследия", "type_boundary_value": "Охранная зона", "reg_numb_border": "23.01.2.78", "registration_date": "2019-06-14", "doc": "Приказ Минкультуры РФ №...", "content_restrict_encumbrances": "Запрещено строительство...", "legal_act_document_name": "Приказ об установлении зон охраны", "legal_act_document_number": "515", "legal_act_document_date": "2019-05-20", "legal_act_document_issuer": "Министерство культуры РФ", "cadastral_district": "23:49", "no_coords": false, "registers_id": null, "objdoc_id": null } } ], "energy": [/* та же структура */], "nature": [/* та же структура */], "security": [/* та же структура */], "other": [/* та же структура */] } ``` ##### `area_pzz` — Территориальная зона участка (ПЗЗ): код зоны и ВРИ · НСПД / ЕГРН Территориальные зоны участка по правилам землепользования и застройки (ПЗЗ): код и тип зоны (жилая / общественно-деловая / производственная / рекреационная и т.п.), виды разрешённого использования (ВРИ) и реквизиты утвердившего зону правового акта. Источник — НСПД (реестровая категория «Территориальные зоны»). Координатное поле — нужна геометрия участка, как у `area_zouit`. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | count | integer | Количество территориальных зон, пересекающих участок | | zones | array | Список зон. Может содержать несколько записей, если участок лежит на границе двух зон | **Поля каждого объекта в zones[]** | Поле | Тип | Описание | |---|---|---| | zone_code | string null | Код/название зоны согласно документу, например «Ж-3/5/2» или «Рекреационная зона (Р2-90)» | | zone_type | string null | Грубая классификация: «Жилая зона», «Общественно-деловая зона», «Производственная зона, зона инженерной и транспортной инфраструктур», «Зона рекреационного назначения» и т.п. | | permitted_uses | array null | Виды разрешённого использования для зоны, если источник их передал. `null`, а не пустой список — источник это поле не заполнил (не то же самое, что «ВРИ отсутствуют») | | reg_numb_border | string null | Реестровый номер границы зоны в ЕГРН | | cadastral_district | string null | Кадастровый район зоны | | registration_date | string null | Дата регистрации границы зоны в ЕГРН | | legal_act | object null | Реквизиты правового акта, установившего зону — `issuer`/`number`/`name`/`date`. `null`, если источник не передал ни одного из этих полей | Пример ответа: ```json { "count": 2, "zones": [ { "zone_code": "Ж-3/5/2", "zone_type": "Жилая зона", "permitted_uses": null, "reg_numb_border": "61:44-7.1846", "cadastral_district": "61:44", "registration_date": "2024-07-04", "legal_act": { "issuer": "Ростовская-на-Дону Городская дума", "number": "656", "name": "Решение", "date": "23.04.2024" } }, { "zone_code": "Рекреационная зона (Р2-90)", "zone_type": "Зона рекреационного назначения", "permitted_uses": ["Парки культуры и отдыха", "Благоустройство территории", ...], "reg_numb_border": "16:50-7.364", "cadastral_district": "16:50", "registration_date": "2021-09-08", "legal_act": { "issuer": "Казанская городская Дума", "number": "7-4", "name": "Решение о внесении изменения в решение Казанской городской Думы от 16.08.2021 №5-8 «О правилах землепользования и застройки г. Казани»", "date": "17.12.2025" } } ] } ``` ##### `area_analysis` — Аналитика: рыночная стоимость (Avito) + риск-светофор > **Цены очищаются от аномалий.** Объявления на площадках нередко содержат цену за весь участок в поле цены за единицу площади или указаны в других единицах — без обработки такие записи задают абсурдный максимум. Поэтому перед расчётом выборка приводится к рублям за сотку (гектары и квадратные метры пересчитываются), аренда исключается, а объявление отбрасывается, если отличается от типичной цены квартала более чем в 10 раз либо не согласуется с кадастровой стоимостью участка. Что именно отброшено и почему — в `market_value.dropped`; сами объявления при этом остаются в `area_avito` без изменений. **Зависимости от других полей** `area_analysis` ничего не собирает сам — он агрегирует уже собранные поля. Поэтому его наполнение зависит от того, какие поля включены у вашего токена. Поле остаётся в ответе всегда, но часть значений вырождается в пустые. | Часть ответа | Нужны поля | Если их нет | |---|---|---| | market_value | `area_avito` и/или `area_cian` (хотя бы одно из двух) | Считать нечего: `min` / `max` / `average` приходят как `null`, а дополнительных ключей (`median`, `dropped` и др.) в ответе нет вовсе. Если выбрано только одно из двух полей — расчёт идёт по нему одному | | risk | хотя бы одно из `area_lesfond`, `area_zouit`, `area_surroundings`, `area_oopt`, `area_building` (флаги из `area_invest` добавляются, если поле включено; в `not_checked` оно не попадает) | Светофор считается по включённым источникам, выключенные перечислены в `not_checked`. Если не включено ни одного — `overall_level` = `unknown` и пустой `flags`. Полная картина риска — при всех пяти | | cadastral_value_per_meter | — | Не зависит от набора полей: берётся из карточки участка и приходит, даже если `area_data` у токена выключено | | interested_plots_in_area interested_this_area | — | Не зависят от набора полей: это наша статистика запросов по участку и кварталу | **Поля area_analysis** | Поле | Тип | Описание | |---|---|---| | market_value.min | float null | Минимальная рыночная стоимость по объявлениям (руб./сотку), по **очищенной** выборке: единицы приведены к сотке, аренда и аномальные цены исключены | | market_value.average | float null | Средняя рыночная стоимость по объявлениям (руб./сотку), по **очищенной** выборке: единицы приведены к сотке, аренда и аномальные цены исключены | | market_value.max | float null | Максимальная рыночная стоимость по объявлениям (руб./сотку), по **очищенной** выборке: единицы приведены к сотке, аренда и аномальные цены исключены | | market_value.median | float null | Медианная цена (руб./сотку) — устойчивее среднего к единичному дорогому объявлению. Ключ есть, только если выборка непуста | | market_value.unit | string | Единица измерения цен: `RUB_per_sotka` | | market_value.count_used | integer | Сколько объявлений вошло в расчёт | | market_value.count_total | integer | Сколько объявлений было в выборке до очистки | | market_value.dropped | array | Отброшенные объявления: `{title, link_tag, value, reason, source}`, `source`: **avito** или **cian**. reason: **out_of_range** — вне границ правдоподобия, **outlier_high** / **outlier_low** — более чем в 10 раз от медианы, **total_price_as_unit** — похоже, указана цена за весь участок вместо цены за сотку (только у Avito, где цена в исходном объявлении сырая), **cadastre_mismatch** — цена не бьётся с кадастровой стоимостью участка (ниже 0.1× или выше 100×) | | cadastral_value_per_meter | float null | Кадастровая стоимость за 1 кв. м (руб.) — из карточки участка (`cost_index`, при отсутствии считается как стоимость / площадь) | | interested_plots_in_area | integer null | Количество объявлений о продаже участков в кадастровом квартале | | interested_this_area | integer null | Количество объявлений по данному кадастровому номеру | | risk | object | Риск-«светофор» — агрегат флагов из `area_lesfond` / `area_zouit` / `area_surroundings` / `area_oopt` / `area_building` / `area_invest`. См. вкладку «Риск (светофор)» | Готовый вывод вместо сырых слоёв: красные/жёлтые/зелёные флаги и общий уровень. Агрегируется из уже собранных полей — **полнота зависит от того, какие источники включены** у токена (лесфонд / ЗОУИТ / окружение / ООПТ / стройстатика). Источники, которых нет в ответе, попадают в `not_checked`, а не в флаги. **Поля risk** | Поле | Тип | Описание | |---|---|---| | overall_level | string | Общий уровень: `red` (есть критичный риск) / `yellow` / `green` / `unknown` (ничего не проверено) | | red / yellow / green | integer | Количество флагов каждого уровня | | flags[] | array | Список флагов (отсортированы: red → yellow → green) | | flags[].level | string | `red` / `yellow` / `green` | | flags[].code | string | Код флага: `forest_fund`, `zouit`, `oopt`, `eco_landfill`, `eco_cemetery`, `eco_industrial`, `eco_powerline`, `seismic`, `geohazard`, `permafrost` и т.д. | | flags[].title | string | Заголовок флага («Земли лесного фонда», «Кладбище рядом») | | flags[].detail | string | Детализация (лесничество/квартал, перечень ЗОУИТ, расстояние до объекта) | | flags[].source | string | Поле-источник флага | | checked[] / not_checked[] | array | Какие источники участвовали в оценке, а какие не были собраны | **Правила (пороги)** | Код | Уровень | |---|---| | forest_fund | **red** — участок в землях лесного фонда; **green** — пересечений нет | | zouit | **yellow** — есть зоны с особыми условиями; **green** — нет | | eco_landfill (свалка) | **red** ≤ 1 км, **yellow** ≤ 3 км | | eco_wastewater (очистные) | **red** ≤ 0.5 км, **yellow** ≤ 1.5 км | | eco_cemetery (кладбище) | **red** ≤ 100 м, **yellow** ≤ 500 м | | eco_industrial (промзона) | **red** — участок внутри; **yellow** ≤ 300 м | | eco_powerline (ЛЭП) | **red** ≤ 30 м, **yellow** ≤ 100 м | | eco_gas_pipeline (газопровод) | **red** ≤ 100 м, **yellow** ≤ 500 м | | oopt (ООПТ) | **red** — заповедник/нацпарк (protect_class 1/1a/1b/2); **yellow** — заказник/природный парк/памятник природы; **green** — не входит | | seismic (area_building) | **red** — сейсмичность ≥ 8 баллов; **yellow** — 7 баллов. Балл — по карте **A** (10% за 50 лет, норматив СП 14 для массового строительства), максимум из ОСР-2015/2016; ≤ 6 баллов — флага нет | | geohazard (area_building) | **yellow** — в регионе встречаются карст / оползни / сели (региональный признак, не оценка конкретного участка) | | permafrost (area_building) | **yellow** — многолетнемёрзлые грунты (зона мерзлоты) | | invest_program (area_invest) | **green** — участок в госперечне (Земля для стройки / туризма / фермера, Туризм.РФ, АПИ Краснодарского края) | | sez (area_invest) | **green** — участок в особой экономической зоне | | krt (area_invest) | **yellow** — участок на территории возможного (планируемого) комплексного развития | | for_privileged (area_invest) | **yellow** — участок предназначен для льготных категорий граждан | | neighbor_cemetery (area_neighbors) | **red** — соседний участок с ВРИ кладбища / ритуальной деятельности ближе 100 м от границы; **yellow** — до 500 м | | neighbor_landfill (area_neighbors) | **red** — в радиусе поиска есть участок под свалку, размещение отходов (ВРИ «Специальная деятельность») | | neighbor_defense (area_neighbors) | **yellow** — земли обороны и безопасности ближе 100 м | | neighbor_industry (area_neighbors) | **yellow** — тяжёлая промышленность или недропользование ближе 300 м | | neighbor_wastewater (area_neighbors) | **yellow** — очистные сооружения ближе 500 м | Пример ответа: ```json { "market_value": { "min": 420000.0, "average": 580000.0, "max": 790000.0, "median": 565000.0, "unit": "RUB_per_sotka", "count_used": 11, "count_total": 13, "dropped": [ { "title": "Участок 20 сот. (ИЖС)", "link_tag": "/sochi/zemelnye_uchastki/...", "value": 20000000.0, "reason": "total_price_as_unit" } ] }, "cadastral_value_per_meter": 8461.38, "interested_plots_in_area": 14, "interested_this_area": 2, "risk": { "overall_level": "red", "red": 3, "yellow": 3, "green": 0, "flags": [ { "level": "red", "code": "forest_fund", "title": "Земли лесного фонда", "detail": "Участок пересекает земли лесного фонда: лесничество «Пригородное», кв. 4", "source": "area_lesfond" }, { "level": "yellow", "code": "zouit", "title": "Зоны с особыми условиями (ЗОУИТ)", "detail": "Найдено зон: 3. охранные зоны (ЛЭП/энергетика/газ) (1); прочие ограничения (2)", "source": "area_zouit" }, { "level": "yellow", "code": "eco_cemetery", "title": "Кладбище рядом", "detail": "320 м", "source": "area_surroundings" }, { "level": "red", "code": "oopt", "title": "Особо охраняемая природная территория (ООПТ)", "detail": "Участок в границах ООПТ: Национальный парк «Лосиный остров» (федеральный)", "source": "area_oopt" }, { "level": "red", "code": "seismic", "title": "Сейсмическая опасность", "detail": "Сейсмичность 8 баллов (MSK-64, карта A ОСР) — требуется антисейсмическое проектирование (СП 14)", "source": "area_building" }, { "level": "yellow", "code": "geohazard", "title": "Геологические опасности", "detail": "В регионе встречаются: оползни, сели — рекомендуются инж.-геол. изыскания", "source": "area_building" } ], "checked": ["area_lesfond", "area_zouit", "area_surroundings", "area_oopt", "area_building"], "not_checked": [] } } ``` ##### `area_avito` — Объявления о продаже участков в квартале (Avito) | Поле | Тип | Описание | |---|---|---| | count | integer | Количество объявлений | | array[].title | string | Заголовок объявления | | array[].price | string | Цена в рублях (числовая строка, например «12500000») | | array[].price_string | string | Цена в форматированном виде, например «12 500 000 ₽» | | array[].hund_price | string | Цена за единицу площади строкой, как её показывает площадка: «762 195 ₽ за сотку», у сельхоза и промки встречается «₽ за га». Значение сырое, к единой единице не приведено — нормализованные цены в ₽ за сотку смотрите в `area_analysis.market_value` | | array[].geo_data | string | Адрес из объявления | | array[].description | string | Полный текст объявления | | array[].photo | string | URL фотографии из объявления | | array[].link_tag | string | Относительная ссылка на объявление Avito | | array[].date | string | Дата публикации объявления | | array[].area_number | string | Кадастровый номер квартала | Пример ответа: ```json { "count": 3, "array": [ { "title": "Земельный участок 16,4 га, Сириус", "price": "12500000", "price_string": "12 500 000 ₽", "hund_price": "762 195 ₽ за сотку", "geo_data": "Краснодарский край, Сириус", "description": "Продаётся участок в федеральной территории...", "photo": "https://...", "link_tag": "/nedvizhimost/zemelnye_uchastki/...", "date": "15 мая" } ] } ``` ##### `area_cian` — Объявления о продаже участков в регионе рядом с проверяемым (ЦИАН) В отличие от `area_avito`, у ЦИАНа нет сетки кадастровых кварталов — поиск идёт по окрестности участка: объявления в радиусе `radius_km` (по умолчанию 3 км) от центра проверяемого участка. | Поле | Тип | Описание | |---|---|---| | count | integer | Количество объявлений, попавших в радиус `radius_km` от участка | | region_id | integer null | Числовой id региона участка в ЦИАНе (по первым двум цифрам кадастрового номера) — справочно: поиск идёт по окрестности участка без привязки к региону, поэтому у границ в выборку попадают и объявления соседнего региона | | radius_km | number | Радиус отбора объявлений от центра участка, км | | total_in_region | integer | Всего объявлений на ЦИАНе в квадрате поиска вокруг участка (до отсева по радиусу) — справочно, в `count` не входит | | center_lat center_lon | number | Координаты центра проверяемого участка — те же, что переданы на вход сбора. Своих координат участка у `area_cian` иначе нет вовсе, а без них нельзя разместить `array[].lat/lon` относительно участка (например, на карте) | | array[].title | string | Заголовок объявления. Если продавец его не заполнил (в каталоге ЦИАНа бывает `null`) — сгенерированное описание вида «Участок · 12 сот. · СНТ» | | array[].price | integer | Цена в рублях | | array[].area_sotka | number | Площадь участка в сотках | | array[].value | number | Цена за сотку, ₽ (`price / area_sotka`) — уже нормализовано числом, в отличие от сырой строки `area_avito[].hund_price` | | array[].distance_km | number | Расстояние от центра проверяемого участка до объявления, км | | array[].link | string | Полная ссылка на объявление cian.ru | | array[].address | string null | Адрес объявления, как его вводит продавец (область → округ/район → нас. пункт), аналог `area_avito[].geo_data` | | array[].description | string null | Полный текст объявления | | array[].photo | string null | URL первой фотографии из объявления (в галерее ЦИАНа их обычно несколько — отдаётся только первая, как заглавная) | | array[].date | string null | Дата публикации объявления, ISO 8601 (`2026-05-15T10:00:00`) — в отличие от произвольной строки `area_avito[].date` («15 мая») | | array[].land_status | string null | Категория земли по классификации ЦИАНа: **ИЖС**, **ДНП**, **Садоводство**, **ЛПХ**, **Фермерское хозяйство** и др. Продавец мог не указать — тогда `null`. Поля с таким смыслом у `area_avito` нет | | array[].lat array[].lon | number | Координаты объявления — вместе с `center_lat`/`center_lon` позволяют самостоятельно построить карту вокруг участка. У `area_avito` координат объявлений нет | Пример ответа: ```json { "count": 2, "region_id": 4610, "radius_km": 3, "total_in_region": 184, "center_lat": 56.109647, "center_lon": 36.655728, "array": [ { "title": "Земельный участок 12 соток, СНТ Ромашка", "price": 4200000, "area_sotka": 12, "value": 350000, "distance_km": 6.4, "link": "https://www.cian.ru/sale/suburban/123456789/", "address": "Московская область, Клин, СНТ Ромашка", "description": "Продаётся ухоженный участок...", "photo": "https://images.cdn-cian.ru/images/....jpg", "date": "2026-05-15T10:00:00", "land_status": "Садоводство", "lat": 56.14, "lon": 36.61 } ] } ``` ##### `area_min_distance` — Ближайшие населённые пункты с расстоянием | Поле | Тип | Описание | |---|---|---| | [].city | string | Название населённого пункта | | [].distance | float | Расстояние до населённого пункта в метрах | | [].region | string | Название региона | | [].region_type | string | Тип региона, например «область», «край» | | [].federal_district | string | Федеральный округ | | [].latitude | float | Широта населённого пункта | | [].longitude | float | Долгота населённого пункта | | [].postal_code | integer | Почтовый индекс | | [].time_zone | string | Часовой пояс, например «Europe/Moscow» | Пример ответа: ```json [ { "city": "Сочи", "distance": 18420.5, "region": "Краснодарский край", "region_type": "край", "federal_district": "Южный", "latitude": 43.5853, "longitude": 39.7232, "postal_code": 354000, "time_zone": "Europe/Moscow" } ] ``` ##### `area_relief` — Рельеф участка (DEM): профиль высот вдоль границы + уклон, экспозиция, перепад Рельеф участка по цифровой модели высот (DEM). **Профиль высот** вдоль границы (массивы) плюс **агрегатные метрики**: средний уклон, экспозиция склона, перепад высот. Поля метрик равны `null`, если DEM недоступен (тогда возвращается только профиль). **Профиль высот** | Поле | Тип | Описание | |---|---|---| | count | integer | Количество точек профиля | | height | float[] | Высота над уровнем моря для каждой точки (м) | | distance | float[] | Расстояние вдоль границы от начала для каждой точки (м) | | latitude | float[] | Широты точек | | longitude | float[] | Долготы точек | **Метрики рельефа** | Поле | Тип | Описание | |---|---|---| | elevation_m | number null | Средняя высота участка над уровнем моря (м) | | min_m / max_m | number null | Минимальная / максимальная высота по участку (м) | | relief_drop_m | number null | Перепад высот (max − min), м | | slope_percent / slope_deg | number null | Средний уклон участка — в процентах и градусах | | aspect | string null | Экспозиция склона: С/СВ/В/ЮВ/Ю/ЮЗ/З/СЗ или `"flat"` (ровный) | Пример ответа: ```json { "count": 57, "height": [181.0, 184.0, 190.0, ...], "distance": [0, 13.4, 26.8, ...], "latitude": [43.410, 43.411, ...], "longitude": [39.982, 39.983, ...], "elevation_m": 210.4, "min_m": 181.0, "max_m": 241.0, "relief_drop_m": 60.0, "slope_percent": 18.5, "slope_deg": 10.5, "aspect": "ЮЗ" } ``` ##### `area_torgi` — Лоты с торгов по участку (torgi.gov.ru) | Поле | Тип | Описание | |---|---|---| | count | integer | Количество лотов | | array[].name | string | Наименование лота | | array[].link | string | Ссылка на страницу лота на torgi.gov.ru | | array[].type_of_torgi | string | Вид торгов: «Продажа» или «Аренда» | | array[].form_of_torgi | string | Форма проведения торгов, например «Аукцион» | | array[].status_lot | string | Текущий статус лота, например «Завершён», «Идут заявки» | | array[].starting_price | string | Начальная цена лота в рублях | | array[].publication_date | string | Дата публикации лота | | array[].change_date | string | Дата последнего изменения лота | | array[].platform | string | Торговая площадка | Пример ответа: ```json { "count": 1, "array": [ { "name": "Земельный участок 23:49:0000000:8273", "link": "https://torgi.gov.ru/new/public/lots/...", "type_of_torgi": "Аренда", "form_of_torgi": "Аукцион", "status_lot": "Завершён", "starting_price": "5200000", "publication_date": "2024-03-11", "change_date": "2024-04-02", "platform": "torgi.gov.ru" } ] } ``` ##### `area_sudact` — Судебные акты по кадастровому номеру (sudact.ru) | Поле | Тип | Описание | |---|---|---| | count | string | Количество найденных судебных актов (в виде строки) | | array[] | string | Судебный акт с реквизитами: суд, дата, номер дела, предмет спора | Пример ответа: ```json { "count": "3", "array": [ "Решение Краснодарского краевого суда от 12.02.2023 по делу №33-1234/2023. Предмет: оспаривание кадастровой стоимости.", // ... ] } ``` ##### `area_garant` — Документы из базы «Гарант» по кадастровому номеру | Поле | Тип | Описание | |---|---|---| | count | string | Количество найденных документов (в виде строки) | | array[] | string | Документ в виде строки с тегами: КЛЮЧ (кадастровый номер), ТРЕБ (требование документа), ВЫВ (вывод о применимости) | Пример ответа: ```json { "count": "2", "array": [ "КЛЮЧ: 23:49:0000000:8273 ТРЕБ: Постановление администрации... ВЫВ: Участок входит в зону...", // ... ] } ``` ##### `area_docs` — Нормативно-правовые акты с pravo.gov.ru, связанные с участком | Поле | Тип | Описание | |---|---|---| | count | integer | Количество документов | | array[].tittle | string | Полное наименование нормативного акта | | array[].eoNumber | string | Номер официального опубликования | | array[].publishDateShort | string | Дата публикации документа | | array[].city | string | Ближайший к участку город, по которому шёл поиск. Может быть `null` — если город определить не удалось (например, при `collect_if_not_found`); акты в этом случае найдены по кадастровому номеру, кварталу или населённому пункту | | array[].pagesCount | integer | Количество страниц документа | | array[].pdfFileLength | integer | Размер PDF-файла в байтах | | array[].id | string | Уникальный идентификатор документа | | array[].match | string | По чему найден документ: `parcel` — кадастровый номер или квартал участка, `settlement` — населённый пункт или муниципальное образование из адреса, `city` — ближайший город. Массив отсортирован от `parcel` к `city`, внутри — новые сверху. В ответах, отданных из кэша (`use_cache`) и собранных до появления поля, ключа может не быть — считайте такой документ найденным по городу | | array[].match_label | string | То же для показа человеку: «кадастровому номеру», «кадастровому кварталу», «д. Бережки», «Щёлковский р-н», «г. Щёлково» | Пример ответа: ```json { "count": 2, "array": [ { "tittle": "Постановление Губернатора Краснодарского края от 13.04.2026 № 169
\"Об утверждении Порядка накопления твердых коммунальных отходов на территории Краснодарского края и федеральной территории \"Сириус\"...", "eoNumber": "2300202604160006", "publishDateShort": "2026-04-16T00:00:00", "city": "Сочи", "pagesCount": 8, "pdfFileLength": 420139, "id": "2696bff8-845d-4479-b152-e0c53ca9776d", "match": "settlement", "match_label": "пгт Сириус" }, { "tittle": "Приказ администрации Краснодарского края от 06.10.2026 № 1081-КН
\"Об установлении зон охраны, утверждении режимов использования земель и требований к градостроительным регламентам...", "eoNumber": "2301202610120004", "publishDateShort": "2026-10-12T00:00:00", "city": "Сочи", "pagesCount": 22, "pdfFileLength": 3122844, "id": "8de325dd-8fe5-437c-99d6-16472a457548", "match": "city", "match_label": "г. Сочи" } ] } ``` ##### `area_saes` — Санитарно-эпидемиологические заключения (СЭЗ) | Поле | Тип | Описание | |---|---|---| | count | integer | Количество найденных заключений | | array[] | object[] | Массив заключений | | array[].number | string | Номер СЭЗ | | array[].date | string | Дата выдачи в формате ДД.ММ.ГГГГ | | array[].form_type | string | Тип бланка заключения | | array[].blank_number | string | Типографский номер бланка | | array[].project | string | Наименование проектной документации | | array[].developer | string | Фирма-разработчик | | array[].appendix | string | Текст приложения к заключению | | array[].appendix_url | string | Ссылка на приложение (если доступна) | Пример ответа: ```json { "count": 1, "array": [ { "number": "50.ПР.03.000.Т.000002.04.24", "date": "17.04.2024", "form_type": "санитарно-эпидем. заключение на проекты, ТУ (терр.орг, 2005)", "blank_number": "1852324", "project": "Проект санитарно-защитной зоны АО \"Серпуховский завод \"Металлист\"", "developer": "ООО \"Экологические Разработки и Аудит\"", "appendix": "Проект санитарно-защитной зоны АО \"Серпуховский завод \"Металлист\"..." } ] } ``` ##### `area_imgs` — Картографические изображения участка base64 (НСПД) | Поле | Тип | Описание | |---|---|---| | terzones | string null | Карта территориальных зон — изображение PNG в base64. `null` если изображение недоступно | | zouit | string null | Карта зон с особыми условиями использования — PNG в base64 | | satellite | string null | Спутниковый снимок участка — PNG в base64 | Пример ответа: ```json { "terzones": "iVBORw0KGgo...", // base64 PNG "zouit": "iVBORw0KGgo...", // base64 PNG "satellite": "iVBORw0KGgo..." // base64 PNG, null если недоступно } ``` ##### `area_google` — Результаты поиска Google по кадастровому номеру | Поле | Тип | Описание | |---|---|---| | count | integer | Количество результатов поиска | | array[].title | string | Заголовок результата поиска | | array[].link | string | URL страницы результата | Пример ответа: ```json { "count": 5, "array": [ { "title": "Сведения об участке 23:49:0000000:8273 — Росреестр", "link": "https://rosreestr.gov.ru/..." } ] } ``` ##### `area_yandex` — Результаты поиска Яндекса по кадастровому номеру | Поле | Тип | Описание | |---|---|---| | count | integer | Количество результатов поиска | | array[].title | string | Заголовок результата поиска | | array[].link | string | URL страницы результата | Пример ответа: ```json { "count": 5, "array": [ { "title": "Сведения об участке 23:49:0000000:8273 — Яндекс", "link": "https://yandex.ru/..." } ] } ``` ##### `area_deals` — Сделки с недвижимостью в кадастровом квартале (реестр сделок) | Поле | Тип | Описание | |---|---|---| | count | integer | Количество найденных сделок | | deals[].quarter | string | Квартал сделки, например «Q1», «Q3» | | deals[].year | integer | Год сделки | | deals[].quarter_cad_number | string | Кадастровый номер квартала, в котором зарегистрирована сделка | | deals[].city | string | Населённый пункт расположения объекта | | deals[].street | string | Улица расположения объекта | | deals[].year_build | string | Год постройки объекта | | deals[].realestate_type_code | string | Тип объекта недвижимости, например «Земельный участок», «Здание» | | deals[].purpose_code | string | Вид разрешённого использования / назначение объекта | | deals[].area | string | Площадь объекта (кв. м) | | deals[].deal_price | string | Цена сделки | | deals[].currency | string | Валюта сделки, например «RUB» | | deals[].doc_type | string | Вид документа сделки, например «Договор купли-продажи» | Пример ответа: ```json { "count": 1, "deals": [ { "quarter": "Q2", "year": 2023, "quarter_cad_number": "23:49:0000000", "city": "Сочи", "street": "ул. Олимпийская", "year_build": "2018", "realestate_type_code": "Земельный участок", "purpose_code": "Для индивидуального жилищного строительства", "area": "850", "deal_price": "7500000", "currency": "RUB", "doc_type": "Договор купли-продажи" } ] } ``` ##### `area_oks` — Объекты капитального строительства на участке (НСПД) Каждый объект в `array[]` отдаётся **в сыром виде из НСПД**, без нормализации. Набор и имена полей зависят от типа объекта (Здание / Сооружение / ОНС / ЕНК / ПИК) — у каждого свой состав. Гарантированно присутствует только `cad_num`. | Поле | Тип | Описание | |---|---|---| | count | integer | Количество объектов в перечне ЕГРН на участке (вкладка «Объекты» НСПД) | | array[] | object | Объект в сыром виде из НСПД. Состав полей зависит от типа ОКС и передаётся без изменений. | | array[].cad_num | string | Кадастровый номер ОКС (добавляется всегда, для единообразной идентификации) | | array[].geometry | object | Контур объекта в формате GeoJSON: `{type, coordinates}`, WGS84, порядок осей `[долгота, широта]`. Здания — обычно `Polygon`/`MultiPolygon`, линейные сооружения (трубопроводы, ЛЭП) — `LineString`/`MultiLineString`. Ключ отсутствует, если у объекта нет геометрии в НСПД | **Частые поля по типам объекта** | Тип ОКС | Поля (сырые имена НСПД) | |---|---| | Здание | `build_record_type_value`, `building_name`, `purpose`, `build_record_area`, `floors`, `underground_floors`, `materials`, `year_built`, `year_commisioning`, `readable_address`, `build_record_registration_date` | | Сооружение | `object_type_value`, `params_name`, `params_purpose`, `params_area`, `params_extension` (протяжённость), `params_volume`, `params_height`, `params_floors`, `address_readable_address`, `object_previously_posted` (статус), `registration_date` | | ОНС | `object_under_construction_record_record_type_value`, `object_under_construction_record_name`, `built_up_area`, `degree_readiness`, `common_data_status` | | Общие | `cost_value`, `cost_index`, `ownership_type`, `quarter_cad_number`, `determination_couse`, `cost_application_date` | Часть объектов из перечня (помещения, машино-места, ранее учтённые без границ) не имеет геопространственной карточки в НСПД — такие возвращаются записью только с `cad_num`. Пример ответа: ```json { "count": 3, "array": [ { // Сооружение — сырые поля НСПД (свои у каждого типа ОКС) "object_type_value": "Сооружение", "params_name": "Телефонная канализация", "params_purpose": "коммунальное", "params_area": 0, "params_extension": 3512, "address_readable_address": "г.Москва, пер.Б.Девятинский", "object_previously_posted": "Ранее учтенный", "cost_value": 4652135.68, "cost_index": 1324.64, "ownership_type": "Частная", "quarter_cad_number": "77:01:0000000", "registration_date": "2013-01-01", "cad_number": "77:01:0004028:3812", "cad_num": "77:01:0004028:3812" }, { // Здание — другой набор полей "build_record_type_value": "Здание", "building_name": "объект индивидуального жилищного строительства", "purpose": "Жилое", "build_record_area": 27.7, "floors": "1", "materials": "Каркасно-засыпные", "year_built": "1958", "readable_address": "Удмуртская Республика, г. Ижевск, ул. Районная, д. 47а", "build_record_registration_date": "2011-11-28", "cad_num": "18:26:020836:508", // Контур объекта (GeoJSON, [долгота, широта]) "geometry": { "type": "Polygon", "coordinates": [[[53.18841, 56.87212], [53.18849, 56.87212], [53.18849, 56.87217], [53.18841, 56.87217], [53.18841, 56.87212]]] } }, { // Объект без геопространственной карточки в НСПД "cad_num": "77:01:0004029:1008" } ] } ``` ##### `area_restrictions` — Права и обременения ЗУ (ЕГРН) Что зарегистрировано на участке в ЕГРН помимо самого права собственности: **ипотека, арест, сервитут, аренда** и другие обременения. Это данные о юридической чистоте объекта — например, участок в ипотеке или под арестом нельзя свободно продать, а сервитут может ограничивать использование части земли. **Единственное поле, где эти сведения вообще есть** — карточка участка НСПД их не показывает ни в каком виде, и никакое другое поле ответа их не дублирует. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | cad_num | string | Кадастровый номер, по которому выполнялся поиск | | found | boolean | `true`, если объект с таким номером найден в Росреестре (даже если прав/обременений на нём не зарегистрировано) | | error | string | Присутствует только при `found: false` и означает не «обременений нет», а «проверить не удалось» по технической причине. Единственное значение — `lookup_failed`; стоит повторить запрос позже | | rights[] | array | Зарегистрированные права (собственность, аренда и т.п.) — сырые объекты Росреестра, только при `found: true`. Пустой массив — права по объекту не зарегистрированы (это не ошибка) | | encumbrances[] | array | Зарегистрированные обременения (ипотека, арест, сервитут и т.п.) — тот же сырой формат, что и `rights[]`, только при `found: true` | | restrictions[] | array | Готовый к отображению список: каждая запись `rights[]`/`encumbrances[]` превращена в короткую строку — удобно выводить без разбора сырых полей Росреестра. Если источник не прислал текст типа (редкий код вне справочника Росреестра), подставляется тип соседней записи того же участка — так же делает сайт ЛК Росреестра | | cadastral_engineer | object | Кадастровый инженер, проводивший межевание участка — `null`, если карточка объекта его не содержит. Публичные лицензионные данные, не персональные данные собственника | | old_numbers[] | array | Прежние кадастровые номера участка (переучёт/реформа нумерации). Обычно пустой массив | | parent_cad_number | string | Номер участка, из которого образован текущий (при разделе) — `null`, если неприменимо | | child_cad_numbers[] | array | Номера участков, на которые расформирован текущий (при объединении/разделе) — `null`, если неприменимо | | cancel_date | string | Дата снятия объекта с кадастрового учёта, формат «дд.мм.гггг» — `null`, если объект активен | **Поля объектов rights[]** | Поле | Тип | Описание | |---|---|---| | rightTypeDesc | string | Вид права текстом (например «Собственность», «Сервитут») | | rightNumber | string | Номер регистрационной записи ЕГРН | | rightRegDate | integer | Дата регистрации, unix-время в миллисекундах | **Поля объектов encumbrances[]** | Поле | Тип | Описание | |---|---|---| | typeDesc | string | Вид обременения текстом (например «Ипотека», «Аренда», «Арест»). Может прийти пустой строкой — см. описание `restrictions[]` выше | | encumbranceNumber | string | Номер регистрационной записи ЕГРН | | startDate | integer | Дата регистрации, unix-время в миллисекундах | **Поля объектов restrictions[]** | Поле | Тип | Описание | |---|---|---| | name | string | `right` или `encumbrance` | | value | string | Готовая строка вида «Вид; № Номер; от Дата» | Три исхода поля: объект найден (`found: true`, права/обременения могут быть пустыми списками — это не ошибка), объект с таким номером не существует (`found: false` без `error`), либо проверить не удалось (`found: false, error: "lookup_failed"` — повторите запрос позже, это не означает отсутствие обременений). Пример ответа: ```json { // Права и обременения найдены (могут быть и пустыми списками) "cad_num": "77:01:0001010:123", "found": true, "rights": [ { "rightTypeDesc": "Собственность", "rightNumber": "77:01:0001010:123-77/001/2021-1", "rightRegDate": 1610000000000 } ], "encumbrances": [ { "typeDesc": "Ипотека", "encumbranceNumber": "77:01:0001010:123-77/001/2023-2", "startDate": 1680307200000 } ], "restrictions": [ { "name": "right", "value": "Собственность; № 77:01:0001010:123-77/001/2021-1; от 07.01.2021" }, { "name": "encumbrance", "value": "Ипотека; № 77:01:0001010:123-77/001/2023-2; от 01.04.2023" } ], "cadastral_engineer": { "fio": "Иванов Иван Иванович", "cert_number": "77-10-42", "phone": "+7 (495) 000-00-00" }, "old_numbers": [], "parent_cad_number": null, "child_cad_numbers": null, "cancel_date": null } ``` Другие исходы: `{"cad_num": "...", "found": false}` — объекта с таким номером нет; `{"cad_num": "...", "found": false, "error": "lookup_failed"}` — проверить не удалось, а не «обременений нет». ##### `area_lesfond` — Земли лесного фонда (ФГИС ЛК) · все регионы РФ Проверка наложения участка на **земли лесного фонда** по данным ФГИС ЛК (публичная лесная карта Рослесинфорга, `pub.fgislk.gov.ru`). Помогает выявить риск «лесной амнистии» — пересечение границ участка с лесничеством, что может означать ограничение строительства или спор об изъятии. **Федеральное поле** — собирается для любого региона РФ, в отличие от региональных `area_gis_ogd_*`. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | in_forest_fund | boolean | `true`, если участок пересекает земли лесного фонда (найден объект слоёв квартал / выдел / лесной участок / лесничество) | | count | integer | Количество уникальных объектов лесного фонда, пересекающих участок | | layers | array | Список объектов ФГИС ЛК, пересекающих участок. Дедупликация по слою и коду объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | typeName слоя GeoServer ФГИС ЛК, например `FOREST_LAYERS:QUARTER`, `FOREST_LAYERS:FORESTRY` | | desc | string | Человекочитаемое название слоя: «Лесной квартал», «Лесничество», «Лесотаксационный выдел», «ОЗУ» | | key | string | Стабильный идентификатор объекта (слой + `externalid`) для дедупликации | | title | string | Название / номер объекта — `label_name` или `externalid` (например, «Пригородное», «4») | | geometry | object null | Геометрия GeoJSON (Polygon / MultiPolygon) в WGS 84. Сохраняется только у объектовых слоёв (квартал, выдел, лесной участок, ОЗУ); у границ лесничеств отбрасывается как справочная (`null`) | | fields | object | Непустые свойства объекта. `externalid` — код вида `регион:лесничество:уч.лесничество:квартал` (напр. `16:28:3:4`); `label_name` — название/номер | **Запрашиваемые слои (ФГИС ЛК · GeoServer, воркспейс FOREST_LAYERS)** Слои опрашиваются через WMS GetFeatureInfo на точки участка. Делятся на две группы по объёму геометрии. | Группа | Слои · охват | |---|---| | Объектовые (на каждой точке) | Лесной квартал, Лесной участок (ГЛР) / часть лесного участка, Лесотаксационный выдел, Особо защитный участок леса (ОЗУ), Категория защитных лесов, Зона с особыми условиями (лес), Ограничение пребывания в лесах. Геометрия сохраняется. | | Границы (один запрос по центроиду) | Лесничество, Участковое лесничество — нужны только названия. Геометрия (граница всего лесничества) отбрасывается. | **Охват** Федеральный слой — вся Россия. Заполняется для любого кадастрового номера. Если участок вне земель лесного фонда — `in_forest_fund: false`, `layers: []`. Пример ответа: ```json { "in_forest_fund": true, "count": 3, "layers": [ { "layer": "FOREST_LAYERS:FORESTRY", "desc": "Лесничество", "key": "FOREST_LAYERS:FORESTRY:16:28", "title": "Пригородное", "geometry": null, "fields": { "label_name": "Пригородное", "externalid": "16:28" } }, { "layer": "FOREST_LAYERS:DISTRICT_FORESTRY", "desc": "Участковое лесничество", "key": "FOREST_LAYERS:DISTRICT_FORESTRY:16:28:3", "title": "Матюшинское", "geometry": null, "fields": { "label_name": "Матюшинское", "externalid": "16:28:3" } }, { "layer": "FOREST_LAYERS:QUARTER", "desc": "Лесной квартал", "key": "FOREST_LAYERS:QUARTER:16:28:3:4", "title": "4", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "label_name": "4", "externalid": "16:28:3:4" } } ] } ``` ##### `area_surroundings` — Окружение участка (OpenStreetMap) · все регионы РФ «Паспорт окружения» участка по данным OpenStreetMap: ближайшие объекты по категориям и расстояние до них. Транспортная доступность, социальная инфраструктура, инженерные коммуникации и — наоборот — экологические минусы (свалки, кладбища, промзоны). **Федеральное поле** — считается по центру участка для любого региона РФ. Расстояние — честное, от центра участка до геометрии объекта (м); для площадных объектов (промзона/свалка/кладбище), внутрь которых попадает участок, `distance_m: 0`. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | center | array | Центр участка `[lon, lat]` (WGS 84), от которого считаются расстояния | | count | integer | Количество найденных категорий | | items | array | По одному ближайшему объекту на категорию, отсортировано по группе и расстоянию. Не найденные категории отсутствуют. | **Поля каждого объекта в items[]** | Поле | Тип | Описание | |---|---|---| | category | string | Ключ категории: `road`, `school`, `landfill` и т.д. | | group | string | Группа: `transport` / `social` / `water` / `utilities` / `eco` | | label | string | Человекочитаемая подпись категории («Автодорога», «Школа», «Свалка / полигон ТКО») | | title | string | Название объекта из OSM (`name` и т.п.); может быть пустым, если у объекта нет названия | | distance_m | integer | Расстояние от центра участка до объекта в метрах (`0` — участок внутри площадного объекта) | | lat / lon | number | Координаты репрезентативной точки объекта (WGS 84) | | tags | object | Теги объекта OSM как есть (например, `highway`, `surface`, `amenity`) | **Категории и радиус поиска** | Группа | Категории (радиус поиска) | |---|---| | transport | Автодорога (1.5 км), Остановка транспорта (3 км), Железная дорога (6 км) | | social | Школа (6 км), Детский сад (6 км), Магазин (5 км), Медучреждение (10 км) | | water | Водоём / река (3 км) | | utilities | ЛЭП (2 км), Электроподстанция (3 км), Газопровод (3 км), Вышка связи (5 км) | | eco (минусы) | Свалка / полигон ТКО (6 км), Кладбище (3 км), Промзона (3 км), Очистные сооружения (5 км) | Источник — OpenStreetMap (Overpass API). Объект попадает в ответ, только если найден в пределах радиуса своей категории; на категорию возвращается один ближайший объект. Пример ответа: ```json { "center": [37.62, 55.66], "count": 14, "items": [ { "category": "road", "group": "transport", "label": "Автодорога", "title": "Кантемировская улица", "distance_m": 4, "lat": 55.6601, "lon": 37.6203, "tags": { "highway": "primary", "surface": "asphalt" } }, { "category": "school", "group": "social", "label": "Школа", "title": "Школа № 507", "distance_m": 317, "lat": 55.6632, "lon": 37.6188, "tags": { "amenity": "school" } }, { "category": "industrial", "group": "eco", "label": "Промзона", "title": "", "distance_m": 322, "lat": 55.6588, "lon": 37.6241, "tags": { "landuse": "industrial" } } ] } ``` ##### `area_oopt` — Особо охраняемые природные территории (OpenStreetMap) · все регионы РФ Проверка попадания участка в **особо охраняемую природную территорию** (заповедник, национальный парк, заказник, природный парк, памятник природы). Попадание в ООПТ — жёсткое ограничение строительства и оборота, которое часто **не внесено в ЕГРН**, поэтому отсутствует в `area_zouit`. **Федеральное поле** — считается по центру участка для любого региона РФ. Источник — OpenStreetMap (Overpass API, `is_in`): возвращаются площадные ООПТ, внутри которых лежит центр участка. Полнота зависит от покрытия OSM: крупные заповедники и нацпарки размечены хорошо, отдельные региональные/местные памятники природы могут отсутствовать. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | in_oopt | boolean | `true`, если центр участка попадает хотя бы в одну ООПТ | | count | integer | Количество ООПТ, в границы которых попадает участок | | items | array | Список ООПТ. Если участок вне ООПТ — `in_oopt: false`, `items: []` | **Поля каждого объекта в items[]** | Поле | Тип | Описание | |---|---|---| | category | string | Категория ООПТ: «Государственный природный заповедник», «Национальный парк», «Государственный природный заказник», «Природный парк», «Памятник природы» и др. | | level | string null | Уровень значения: `федеральный` / `региональный` / `местный` (из OSM `site_ownership`; `null`, если не задан) | | protect_class | string null | Класс охраны OSM (`protect_class`): 1/1a/1b — заповедник, 2 — нацпарк, 3 — памятник природы, 4 — заказник, 5 — природный парк, 6 — ТТП, 7 — дендропарк | | title | string | Название ООПТ (например, «Национальный парк „Лосиный остров"») | | osm_ref | string null | Ссылка на объект OSM: `relation/` или `way/` | | tags | object | Теги объекта OSM как есть (`boundary`, `protect_class`, `protection_title`, `operator` и др.) | **Категории ООПТ (по OSM protect_class)** | protect_class | Категория | |---|---| | 1 / 1a / 1b | Государственный природный заповедник | | 2 | Национальный парк | | 3 | Памятник природы | | 4 | Государственный природный заказник | | 5 | Природный парк | | 6 | Территория традиционного природопользования | | 7 | Дендрологический парк / ботанический сад | Источник — OpenStreetMap (Overpass API). Заповедник и национальный парк дают красный флаг риск-светофора (`oopt`), прочие категории — жёлтый. Пример ответа: ```json { "in_oopt": true, "count": 1, "items": [ { "category": "Национальный парк", "level": "федеральный", "protect_class": "2", "title": "Национальный парк «Лосиный остров»", "osm_ref": "relation/1380523", "tags": { "boundary": "national_park", "protect_class": "2", "site_ownership": "federal", "name": "Национальный парк «Лосиный остров»" } } ] } ``` ##### `area_neighbors` — Соседние участки в радиусе от границы (НСПД) · все регионы РФ Земельные участки ЕГРН, лежащие в заданном радиусе **от границы** участка (а не от его центра): кадастровый номер, адрес, площадь, категория, ВРИ, форма собственности, кадастровая стоимость и контур каждого соседа, расстояние до него и направление. Радиус задаётся параметром запроса `neighbors_radius` — по умолчанию 50 м, от 0 (только смежные) до 100 м. **Федеральное поле** — работает для любого региона. Источник — НСПД. Если участок не найден (`collect_if_not_found`), поле вернётся пустым. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | radius_m | integer null | Радиус, с которым выполнен поиск, м (`null`, если поиск не выполнялся) | | count | integer | Всего соседних участков в радиусе | | complete | boolean | `false`, если в радиусе слишком много участков и прочитаны не все (бывает в плотной городской застройке при большом радиусе) | | items | array | Соседние участки, ближайшие сначала, не больше 200. Если `count` больше — отданы 200 ближайших | | truncated | boolean | `true`, если в `items` попали не все участки радиуса. В радиусе до 100 м обычно не превышается: обрезка возможна в основном у очень крупных участков (сотни гектаров) с длинной границей | | items_radius_m | number null | До какого расстояния от границы участка список `items` полный, м. Без обрезки равно `radius_m`; при `truncated: true` — расстояние до последнего отданного участка; `null`, если `complete: false` | **Поля каждого объекта в items[]** | Поле | Тип | Описание | |---|---|---| | cad_num | string | Кадастровый номер соседнего участка | | readable_address | string null | Адрес (местоположение) | | area | number null | Площадь, м² (уточнённая, иначе декларированная) | | land_record_category_type | string null | Категория земель | | permitted_use_established_by_document | string null | Вид разрешённого использования по документу | | ownership_type | string null | Форма собственности | | status | string null | Статус записи ЕГРН (учтённый, ранее учтённый и т. п.) | | cost_value | number null | Кадастровая стоимость, ₽ | | cost_index | number null | Удельный показатель кадастровой стоимости, ₽/м² | | distance_m | number null | Расстояние от границы участка до границы соседа, м (`0` — участки касаются) | | adjacent | boolean null | `true` — смежный участок (расстояние до 2 м: границы соседей в ЕГРН часто расходятся на десятки сантиметров) | | rhumb | string null | Направление от участка к соседу: `С`, `СВ`, `В`, `ЮВ`, `Ю`, `ЮЗ`, `З`, `СЗ` | | geometry | object null | Контур соседа в GeoJSON (`Polygon` / `MultiPolygon`, WGS84, порядок осей `[lon, lat]`) | **Сводка summary** | Поле | Тип | Описание | |---|---|---| | count / adjacent_count | integer | Сколько соседей учтено в сводке (те же, что в `items`, то есть до `items_radius_m`) и сколько из них смежных | | ownership | object | Счётчики по форме собственности: `public` (государственная и муниципальная), `private`, `mixed` (несколько форм сразу), `unknown` (не указана) | | by_ownership / by_category | array | `[{"value", "count"}]` — разбивка по точным значениям формы собственности и категории земель, от частых к редким | | top_permitted_use | array | 5 самых частых ВРИ соседей, `[{"value", "count"}]` | | cost_index | object null | Удельная кадастровая стоимость соседей, ₽/м²: `count`, `min`, `max`, `median`; `subject` — стоимость самого участка, `subject_to_median` — во сколько раз она выше медианы соседей (аргумент для оспаривания кадастровой стоимости). `null`, если стоимости нет ни у одного соседа | Пример ответа: ```json { "radius_m": 50, "count": 24, "complete": true, "truncated": false, "items_radius_m": 50, "items": [ { "cad_num": "50:21:0120106:153", "readable_address": "Российская Федерация, г. Москва, …", "area": 1200, "land_record_category_type": "Земли населенных пунктов", "permitted_use_established_by_document": "Для индивидуального жилищного строительства", "ownership_type": "Частная", "status": "Учтенный", "cost_value": 4170480.0, "cost_index": 3475.4, "distance_m": 0.0, "adjacent": true, "rhumb": "СВ", "geometry": { "type": "Polygon", "coordinates": [[[37.2154, 55.5612], …]] } } ] } ``` ##### `area_tp_docs` — Документы градпланирования: редакции ПЗЗ, проекты генпланов · ФГИС ТП · все регионы РФ Документы градостроительного планирования муниципалитета, в котором находится участок, из официального реестра **ФГИС ТП** (fgistp.economy.gov.ru): действующие правила землепользования и застройки (ПЗЗ) — основной документ и последние изменения к нему; проекты ПЗЗ, генеральных планов и схем территориального планирования со стадией согласования; решения о подготовке изменений. Показываются документы, которые касаются участка, его кадастрового квартала, населённого пункта или всего муниципалитета. У каждого — статус, дата и номер, ссылка на карточку во ФГИС ТП и на файлы (карты, регламенты). **Федеральное поле**. Утверждённые генпланы и схемы территориального планирования в открытой части ФГИС ТП не публикуются — по ним доступны только проекты; проект на стадии «Согласован» или «Направлен на утверждение» обычно близок к утверждённой редакции. Это перечень документов из реестра на дату `synced_at`, а не заключение о том, что можно строить: муниципалитеты публикуют документы с задержкой, а часть документов (особенно старые генпланы) в реестр не загружена — это видно в `coverage`. Зона ПЗЗ, в которой лежит участок, — в поле area_pzz. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | source | string | Всегда `"ФГИС ТП"` | | synced_at | string null | Дата и время, на которые данные реестра актуальны (обновляются ежесуточно) | | municipality | object null | `names` — муниципальные образования участка так, как они записаны в реестре (район и поселение); `settlement` — населённый пункт (заполняется, только когда муниципалитет определялся по координатам, иначе `null`); `detected_by` — как определён муниципалитет: `address` — по адресу ЕГРН (основной способ, быстрый), `osm` — по координатам участка (если в адресе муниципалитета нет, например «местоположение относительно ориентира…»; такой запрос может занять до минуты), `city` — Москва, Санкт-Петербург, Севастополь (документы всего города) | | coverage | object | `municipality`: `detected` / `not_detected` (муниципалитет определить не удалось: в адресе ЕГРН его нет, а по координатам сервис не ответил — списки пустые, повторите запрос позже) / `region_not_in_registry` (у региона в реестре нет документов); `pzz`: `found` / `not_in_registry` — действующих ПЗЗ **в реестре** нет (это не значит, что их нет вообще: проверьте сайт муниципалитета) | | pzz | array | Действующие ПЗЗ — по одному элементу на муниципалитет: `municipality`, `base` — основной документ (`null`, если в реестре только изменения), `amendments_count` — сколько изменений принято после него, `amendments_latest` — 5 последних изменений. Текущая редакция — основной документ вместе со всеми изменениями | | changes_in_progress | array | Что меняется: проекты ПЗЗ, генпланов, СТП и изменений к ним (`kind: "project"`, стадия — в `stage`) и решения о подготовке изменений (`kind: "decision"`), не старше 3 и 2 лет, новые сначала, не больше 15. Проекты, касающиеся участка, квартала или населённого пункта, — на любой стадии (сигнал, что назначение земли рядом меняют); проекты генпланов и СТП на весь муниципалитет — только на поздних стадиях: «Согласован», «Согласован по итогам согласительной комиссии», «Направлен на утверждение» | | changes_total | integer | Сколько всего таких проектов и решений (если больше 15) | | maybe_related | array | Документы, по названию которых нельзя понять, касаются ли они участка (например, «изменения в ПЗЗ в отношении земельных участков» без номеров) — стоит открыть и проверить | **Поля документа (base, amendments_latest[], changes_in_progress[], maybe_related[])** | Поле | Тип | Описание | |---|---|---| | uuid | string | Идентификатор документа во ФГИС ТП | | title | string | Название документа, как в реестре | | type / status | string | Вид документа и статус в реестре: «Действующий», «Проект» | | approved / number | string null | Дата (`YYYY-MM-DD`) и номер утверждения | | uin | string null | Уникальный номер документа в реестре | | municipality | string | Муниципальное образование документа | | match | string | Почему документ показан: `parcel` — в названии номер участка или его квартала, `settlement` — документ по населённому пункту участка, `municipality` — по всему муниципалитету, `intersettlement` — межселенная территория (участок вне населённых пунктов), `unknown_scope` — территорию по названию не определить | | url | string | Карточка документа на портале ФГИС ТП | | files | array null | Файлы документа: `name`, `size` (байт), `type`, `url` — прямая ссылка на скачивание (без токена, ограничение 60 скачиваний в час с одного IP). Заполнены у основных документов ПЗЗ, последних изменений и проектов (сначала касающихся участка); `null` — список файлов не запрашивался или ФГИС ТП не ответил (откройте `url`). Карты генпланов бывают по сотни мегабайт | | stage | string null | Только у проектов: стадия согласования — «Направлен на согласование», «Согласован», «Отказ в согласовании», «Направлен на доработку», «Направлен на утверждение» и т. п. | | kind | string | Только в `changes_in_progress`: `project` / `decision` | Пример ответа: ```json { "source": "ФГИС ТП", "synced_at": "2026-10-16T00:27:00+03:00", "municipality": { "names": ["Пермский край, Пермский"], "settlement": null, "detected_by": "address" }, "coverage": { "municipality": "detected", "pzz": "found" }, "pzz": [ { "municipality": "Пермский край, Пермский", "base": { "title": "Решение Пермской городской Думы от 26.06.2007 143 г. «Об утверждении Правил землепользования застройки города Перми»", "type": "Правила землепользования и застройки городского округа", "status": "Действующий", "approved": "2007-06-26", "match": "municipality", "url": "https://fgistp.economy.gov.ru/portal/dtp/docs/…", "files": [ { "name": "Карта градостроительного зонирования.pdf", "size": 1659189, "url": "https://service.zemelyabot.ru/tp_docs/file/…?name=…&sig=…" } ] }, "amendments_count": 22, "amendments_latest": [ { "title": "Постановление Правительства Пермского края от 15.09.2026 N 611-п «О внесении изменений в статью 49 Правил…»", "approved": "2026-09-15", "match": "municipality", … } ] } ], "changes_in_progress": [ { "kind": "project", "title": "Внесение изменений в Генеральный план города Перми…", "status": "Проект", "stage": "Направлен на согласование", "match": "municipality", "files": [ … ], … }, { "kind": "decision", "title": "О подготовке проекта решения Пермской городской Думы «О внесении изменений в Генеральный план города Перми…»", "approved": "2026-10-08", "match": "municipality", … } ], "changes_total": 9, "maybe_related": [] } ``` ##### `area_invest` — Инвестиционный статус: госперечни земли, ОЭЗ, инвестплощадки · все регионы РФ Состоит ли участок в **государственных перечнях** земли для инвесторов — «Земля для стройки», «Земля для туризма», «Земля для фермера», участки Корпорации Туризм.РФ и АПИ Краснодарского края: статус, ВРИ, территориальная зона, коммуникации, расстояния до инфраструктуры и контакты уполномоченного органа. Плюс сколько таких участков в кадастровом квартале, попадает ли участок в **особую экономическую зону** и есть ли на нём **инвестиционная площадка**. **Федеральное поле** — работает для любого региона РФ. Источник — Геопортал СНГ (cisgeo.info, данные НСПД). Перечни и ОЭЗ определяются пересечением с границей участка; соседние участки, касающиеся только по границе, не учитываются. Если участок не найден в ЕГРН (`collect_if_not_found`), поиск идёт по кадастровому номеру. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | in_program | boolean | `true`, если участок состоит хотя бы в одном перечне | | count | integer | Количество перечней, в которых состоит участок | | programs | array | Перечни с карточкой участка. Если участка нет ни в одном — `[]` | | quarter | object null | Сколько участков каждого перечня в том же кадастровом квартале. `null`, если счётчик получить не удалось | | sez | object null | Попадание в особые экономические зоны. `null`, если проверить не по чему (нет геометрии участка) | | invest_sites | object null | Инвестиционные площадки (РФ), лежащие на участке. `null`, если проверить не по чему | | not_checked | array | Что не удалось проверить полностью: `programs` (участок без геометрии и поиск портала вернул неполный список), `quarter`, `sez`, `invest_sites`. Пустой массив — проверено всё | **Поля каждого объекта в programs[]** | Поле | Тип | Описание | |---|---|---| | program | string | Код перечня: `land_construction`, `land_tourism`, `land_farm`, `tourism_rf`, `krasnodar_api` (см. вкладку «Перечни») | | program_name / layer_name | string | Название перечня и слоя на портале | | cad_num | string | Кадастровый номер участка в перечне | | status / public_status | string null | Статус участка в перечне (например, «Новый», «На утверждении») и статус публикации | | address / region | string null | Адрес и регион | | area_sqm | integer null | Площадь, кв. м | | land_category / ter_zone | string null | Категория земель, территориальная зона | | permitted_use | array null | Виды разрешённого использования | | use_potential / recommended_objects | string null | Потенциал использования и рекомендуемые объекты | | complex_development | boolean null | Участок на территории, где возможно (планируется) КРТ. `true` даёт жёлтый флаг `krt` | | for_privileged | string null | Для каких льготных категорий предназначен. Если задано (и не «Нет») — жёлтый флаг `for_privileged` | | ownership | string null | Форма собственности | | cadastral_value | float null | Кадастровая стоимость, руб. | | restrictions / zouit | string null | Ограничения и ЗОУИТ, как указаны в перечне | | communications | object null | Коммуникации: `electricity_supply`, `gas_supply`, `heat_supply`, `sewerage`, `water_supply` и др. | | distances_km | object null | Расстояния, км: `federal_highway`, `paved_road`, `district_center`, `locality`, `railway_station`, `airport`, `public_transport`, `healthcare`, `catering`, `tourist_interest` (+ `tourist_interest_name`) | | authority | object | Уполномоченный орган: `name`, `phone`, `email`, `web`, `invest_portal` | | link | string null | Ссылка на карточку участка у оператора перечня | | attributes | object | Все заполненные поля карточки с подписями, как их показывает портал | **quarter** | Поле | Тип | Описание | |---|---|---| | cad_quarter | string | Кадастровый квартал | | plots_by_program | object | Код перечня → число участков в квартале | | total | integer | Всего участков перечней в квартале | | exact | boolean | `false` — для квартала из 6 цифр счётчик может включать участки соседних кварталов с тем же началом номера (например, `71:09:010701` и `71:09:0107010`) | **sez и invest_sites** | Поле | Тип | Описание | |---|---|---| | sez.in_sez | boolean | `true`, если участок пересекается с ОЭЗ (касание по границе не считается). Зелёный флаг `sez` | | zones[].name / type / status | string null | Название, тип (промышленно-производственная, туристско-рекреационная и т.п.), статус ОЭЗ | | zones[].significance / specialization | string null | Значение (федеральное/региональное) и основная специализация | | zones[].municipality / area_ha / deadline | string null | Местоположение, площадь зоны (га), срок реализации | | invest_sites.count | integer | Количество инвестплощадок на участке | | items[].name / type / format / transaction | string null | Название, тип (гринфилд/браунфилд), формат, форма сделки (аренда, продажа) | | items[].land_area_ha / address / region / link | float null | Свободная площадь (га), адрес, регион, ссылка | | items[].attributes | object | Все заполненные поля карточки площадки с подписями портала | **Перечни** | program | Перечень | |---|---| | land_construction | «Земля для стройки» — участки для жилищного и иного строительства (НСПД) | | land_tourism | «Земля для туризма» — участки для туристских объектов (НСПД) | | land_farm | «Земля для фермера» — участки для сельхозпроизводства (НСПД) | | tourism_rf | Земельные участки АО «Корпорация Туризм.РФ» | | krasnodar_api | Участки Агентства по привлечению инвестиций Краснодарского края. Часть участков «не сформирована» (у них номер квартала вместо номера участка) — такие попадают только в счётчик квартала | Участок в перечне и попадание в ОЭЗ дают зелёные флаги риск-светофора (`invest_program`, `sez`), КРТ и предназначение для льготников — жёлтые (`krt`, `for_privileged`). Пример ответа: ```json { "in_program": true, "count": 2, "programs": [ { "program": "land_tourism", "program_name": "Земля для туризма", "cad_num": "71:09:010701:5", "status": "На утверждении", "address": "Тульская область, р-н. Заокский", "area_sqm": 32999, "land_category": "Земли особо охраняемых территорий и объектов", "ter_zone": "Ж-1 Зона застройки индивидуальными жилыми домами", "permitted_use": ["Для эксплуатации базы отдыха"], "complex_development": null, "for_privileged": null, "ownership": "Федеральная собственность", "cadastral_value": 5937389.89, "communications": { "electricity_supply": "Нет", "gas_supply": "Нет", "water_supply": "Нет" }, "distances_km": { "federal_highway": 12.8, "paved_road": 0.17, "locality": 0.8, "railway_station": 10.7, "airport": 60, "tourist_interest_name": "музей-заповедник В.Д. Поленова" }, "authority": { "name": "МТУ Росимущества", "phone": "+7 487 221-1630", "email": "tu71@rosim.gov.ru", "web": "https://tu71.rosim.gov.ru", "invest_portal": "https://invest-tula.com" }, "link": null, "attributes": { "Статус земельного участка": "На утверждении" } }, { "program": "tourism_rf", "program_name": "Корпорация Туризм.РФ", "cad_num": "71:09:010701:5", "area_sqm": 32989 } ], "quarter": { "cad_quarter": "71:09:010701", "plots_by_program": { "tourism_rf": 1, "land_tourism": 1 }, "total": 2, "exact": true }, "sez": { "in_sez": false, "zones": [] }, "invest_sites": { "count": 0, "items": [] }, "not_checked": [] } ``` ##### `area_building` — Строительная «статика» по локации (СП: сейсмика / снег-ветер / климат / промерзание / геоопасности) · все регионы РФ Нормативная строительная «статика» по местоположению участка: сейсмическая опасность (ОСР-2015/2016, СП 14), снеговой/ветровой/гололёдный район (СП 20), глубина промерзания, климат (расчётная зимняя пятидневка, ГСОП, мерзлота — СП 131), геоопасности (карст/оползни/сели) и требуемое сопротивление теплопередаче по ГСОП (СП 50). **Без обращения к сети** — справочный lookup по адресу и кадастровому номеру (`region_code` = первые 2 цифры кад. номера). **Федеральное поле** — все регионы РФ. Если населённый пункт есть в таблицах — точный матч (`match_level: "locality"`), иначе региональный fallback (агрегаты по субъекту, поля помечены `note: "регион-агрегат"`, `match_level: "region"`). Питает риск-флаги `seismic` / `geohazard` / `permafrost`. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | region_code | string null | Кадастровый код субъекта (первые 2 цифры кад. номера) | | region | string null | Название субъекта РФ | | locality | string null | Населённый пункт из адреса, по которому выполнен точный матч (`null` при региональном fallback) | | match_level | string | `locality` (точный НП) / `region` (агрегат по субъекту) / `none` (регион не определён) | | seismic | object null | Сейсмическая интенсивность (баллы MSK-64) по картам A/B/C (10%/5%/1% вероятности превышения за 50 лет; для ИЖС и обычных зданий — A) по ОСР-2016 (`a/b/c`) и ОСР-2015 (`a_2015/b_2015/c_2015`, СП 14). При fallback — `region_max_a` / `region_max_c` (максимум по субъекту) | | snow_wind | object null | Снеговой/ветровой район (СП 20) + нормативные нагрузки (`sg_kpa/w0_kpa`), гололёдный район ПУЭ | | frost | object null | Нормативная глубина промерзания по типам грунта (м): глина/суглинок, пески мелкие/крупные, крупнообломочные | | climate | object null | Климат-профиль (СП 131): расч. зимняя пятидневка, абс. минимум, ГСОП (`gsop_20`), Mt, зона мерзлоты (`permafrost_zone`) и др. | | geohazard | object null | Региональная предрасположенность к геоопасностям: `karst` / `landslide` / `mudflow` / `coastal_abrasion` | | thermal_req | object null | Требуемое сопротивление теплопередаче стен/окон/кровли по ГСОП (СП 50, жилое) | При точном матче вложенные объекты несут полный набор полей; при региональном fallback — агрегаты по субъекту с пометкой `note` (`seismic.region_max_c`, `climate.gsop_20_median` и т.п.). Пример ответа: ```json { "region_code": "38", "region": "Иркутская область", "locality": "Иркутск", "match_level": "locality", "seismic": { "a": "8", "b": "8", "c": "9", "a_2015": "8", "b_2015": "9", "c_2015": "9" }, "snow_wind": { "snow_district": "II", "sg_kpa": "1,0", "wind_district": "III", "w0_kpa": "0.38", "ice_district_pue": "3" }, "frost": { "frost_clay_m": 1.86, "frost_sandfine_m": 2.26, "frost_sandcoarse_m": 2.42, "frost_coarse_m": 2.75 }, "climate": { "t_cold5_092": -33.0, "t_cold5_098": -38.0, "t_abs_min": -50.0, "t_warm_095": 22.0, "t_warm_098": 26.0, "t_abs_max": 37.0, "heating_days_8": 170.0, "heating_tmean_8": -12.0, "gsop_20": 5440, "wind_dir_winter": "ЮВ", "wind_speed_max": 3.0, "t_annual_mean": 0.7, "mt": 64.1, "permafrost_zone": "none" }, "geohazard": { "karst": false, "landslide": true, "mudflow": true, "coastal_abrasion": false }, "thermal_req": { "R_wall": 3.3, "R_window": 0.7, "R_roof": 4.92, "building_type": "жилое (СП50, по ГСОП)" } } ``` ГИС ОГД Градостроительные данные по регионам — поле заполняется только для соответствующего региона, в остальных случаях отсутствует в ответе ##### `area_gis_ogd_msk` — ГИС ОГД Москвы (gisogd.mos.ru) · регион `77` | Поле | Тип | Описание | |---|---|---| | count | integer | Количество уникальных объектов, пересекающих участок | | array[] | object | Объект в сыром виде из API gisogd.mos.ru. Структура определяется слоем и передаётся без изменений. | **Запрашиваемые слои (gisogd.mos.ru)** | Группа | Слои | |---|---| | Функциональные зоны | Жилая, общественная, производственная, природная и другие функциональные зоны по ГП Москвы | | ПЗЗ | Территориальные зоны и подзоны, план границ территориальных зон | | КРТ | Комплексное развитие территорий, ПП КРТ | | Красные линии | УДС, линейные объекты, зоны транспортных сооружений, ОДМС | | ООПТ | Особо охраняемые природные территории, береговые полосы, природный комплекс, ООЗТ | | ОКН | Объекты культурного наследия (ИКОП), выявленные ОКН, исторически ценные объекты | | Зоны охраны ОКН | Охранные зоны, зоны регулирования застройки, зоны охраняемого ландшафта и культурного слоя | | Инженерные зоны | Технические зоны инженерных коммуникаций, полосы отвода железных дорог | Пример ответа: ```json { "count": 2, "array": [ { // Сырой объект из API gisogd.mos.ru. // Набор полей зависит от слоя (ПЗЗ, КРТ, ОКН, зоны и др.). // Структура передаётся без изменений. } ] } ``` ##### `area_gis_ogd_kzn` — ГИС ОГД Казань (gis.kzn.ru) · регион `16` **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из слоёв ГИС ОГД Казани, пересекающих участок | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Псевдоним слоя, например `GknParcel`, `UrbanTerZone` | | desc | string | Человекочитаемое название слоя | | key | integer | Внутренний идентификатор объекта в gis.kzn.ru | | title | string | Заголовок объекта из карточного API | | geometry | object null | Геометрия объекта GeoJSON (Polygon / MultiPolygon) в WGS 84 | | fields | object | Атрибуты объекта из карточного API gis.kzn.ru. Набор полей зависит от слоя. | **Запрашиваемые слои (gis.kzn.ru)** | Слой (layer) | Название | |---|---| | GknParcel | Земельные участки (существующие) | | Urban10FunctionalZone | Функциональные зоны | | DmdInfoSet | Обеспеченность проектами планировок и межевания | | DocUsRazresh | ЗУ с разрешением на условно разрешённый вид использования | | DocOtclon | ЗУ с разрешением на отклонение от предельных параметров | | ServDocAccept | Решение об установлении сервитута | | PZZSubZone | Подзона территориальной зоны | | UrbanTerZone | Территориальная зона | | SpecialZone | Зоны с особыми условиями использования территорий (ЗОУИТ) | Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZone", "desc": "Территориальная зона", "key": 4821, "title": "Ж1 — Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "Наименование зоны": "Ж1", "Вид зоны": "Жилая" } }, { "layer": "SpecialZone", "desc": "ЗОУИТ", "key": 1103, "title": "Санитарно-защитная зона", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { /* атрибуты зависят от слоя */ } } ] } ``` ##### `area_gis_ogd_nnov` — ГИС ОГД Нижегородская область (gisogdno.ru) · регион `52` **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из слоёв ГИС ОГД Нижегородской области, пересекающих участок. Дедупликация между точками по `feature_uid`. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Идентификатор слоя карты Accent. Машинные id вида `layer_1162_` автогенерируемые и со временем меняются. | | desc | string | Человекочитаемое название слоя из каталога карты, например «ЗОУИТ», «Градостроительное зонирование» | | key | string null | Идентификатор фичи (`feature_uid`) | | title | string | Первое осмысленное строковое значение из вложенных атрибутов ИСОГД | | geometry | object null | Геометрия объекта GeoJSON (Polygon / MultiPolygon) в WGS 84 (исходно EPSG:3857). У слоёв-границ отбрасывается как справочная. | | fields | object | Очищенные поля фичи: служебный мусор (`feature_hash`, `action_*`, `user_role`, `import_uid`) и WKT-дубль геометрии (`geom_init`) вырезаны. | | fields.attributes | object | Содержательные данные ИСОГД (разобранный вложенный JSON). Состав зависит от слоя; имена ключей непрозрачны (`attr_NNNNN_`), значения осмысленны. | **Каталог слоёв (gisogdno.ru · Accent / GeoServer)** Каталог **динамический** — собирается из WMS GetCapabilities карты (**~320 слоёв** с человекочитаемым названием) и опрашивается одним запросом WMS GetFeatureInfo на точку. Кешируется на процесс (6 ч). Жёсткий список слоёв не хардкодится: машинные id меняются со временем. Ниже — представительные группы слоёв. | Группа слоёв | Охват | |---|---| | ЗУ и ППМ по районам | Земельные участки и проекты межевания по районам области | | ПЗЗ | Территориальные зоны и градостроительное зонирование | | Генеральные планы / функциональные зоны | Функциональные зоны поселений (Нижний Новгород, Дзержинск, Бор, Арзамас и др.) | | КРТ | Комплексное развитие территорий | | КПТ | Кадастровый план территории | | ЗОУИТ | Зоны с особыми условиями использования территорий | | ОКН | Объекты культурного наследия | | Проектируемые объекты | Планируемое размещение объектов СТП и иных документов | | АГО | Архитектурно-градостроительный облик | | Прочие зоны и документы | Иные градостроительные документы и зоны из актуального каталога карты | Пример ответа: ```json { "layers": [ { "layer": "layer_1162_", "desc": "Градостроительное зонирование", "key": "3f1a9c0e-…", "title": "Ж-1", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "attributes": { // Содержательные данные ИСОГД (ключи attr_NNNNN_). // Состав зависит от слоя и передаётся без изменений. } } }, { "layer": "layer_874_", "desc": "ЗОУИТ", "key": "a72b51d4-…", "title": "Охранная зона ЛЭП", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "attributes": { /* зависят от слоя */ } } } ] } ``` ##### `area_gis_ogd_krsk` — ГИС ОГД Красноярского края (agate.gisogd24.ru) · регион `24` · 39 муниципалитетов **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Красноярского края, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа, например «Зона жилой многоэтажной застройки (Ж-7)» | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные атрибуты. Для ГП/ПЗЗ: `document`, `section`, `layerDisplayName`. Для ВРИ: `primary`, `secondary`, `conditional`. | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны, границы АТД, зоны затопления и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Весь Красноярский край — 39 муниципальных округов, включая Красноярск, Норильск, Железногорск, Зеленогорск, Дивногорск и все районы края. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 100241, "title": "Зона делового и коммерческого назначения (О-1)", "geometry": null, "fields": { "primary": ["Деловое управление", "Торговые центры"], "secondary": ["Общественное питание"], "conditional": ["Гостиничное обслуживание"] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 100135, "title": "Зона смешанной и общественно-деловой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Красноярска", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 100872, "title": "Зоны делового, общественного и коммерческого назначения", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Красноярска", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_tymn` — ГИС ОГД Тюменской области (gradportal.72to.ru) · регион `72` · 27 муниципалитетов **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Тюменской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа, например «Зона жилой застройки (Ж-2)» | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные атрибуты. Для ГП/ПЗЗ: `document`, `section`, `layerDisplayName`. Для ВРИ: `primary`, `secondary`, `conditional`. | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны, границы АТД, зоны затопления и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Тюменская область — 26 муниципальных районов и городских округов, включая Тюмень, Тобольск, Ишим, Ялуторовск, Заводоуковск и все районы области. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 200341, "title": "Зона жилой застройки средней этажности (Ж-2)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": ["Магазины"] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 200412, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Тюмени", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 200587, "title": "Ж-2 Зона среднеэтажной жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Тюмени", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_orb` — ГИС ОГД Оренбургской области (gisogd.orb.ru) · регион `56` · 43 муниципалитета **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Оренбургской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа, например «Зона жилой застройки (Ж-2)» | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны, границы АТД, зоны затопления и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Оренбургская область — 35 муниципальных районов и 8 городских округов, включая Оренбург, Орск, Новотроицк, Медногорск, Бузулук, Бугуруслан, Гай, Кувандык, Соль-Илецк, Ясный, Абдулино, Сорочинск и все районы области. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 300241, "title": "Зона жилой застройки средней этажности (Ж-2)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": ["Магазины"] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 300412, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Оренбурга", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 300587, "title": "Ж-2 Зона среднеэтажной жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Оренбурга", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_svrd` — ГИС ОГД Свердловской области (gisogd66.midural.ru) · регион `66` · 69 муниципалитетов **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Свердловской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны, границы АТД, зоны затопления и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Свердловская область — 69 муниципальных образований, включая Екатеринбург, Нижний Тагил, Первоуральск, Серов, Каменск-Уральский, Ирбит, Красноуфимск и все округа области. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 400241, "title": "Зона жилой застройки (Ж-3)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": ["Магазины"] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 400412, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Екатеринбурга", "section": "razdel3", "layerDisplayName": "Функциональная зона" } } ] } ``` ##### `area_gis_ogd_tver` — ГИС ОГД Тверской области (map-gisogd.tverreg.ru) · регион `69` **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Тверской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны, границы АТД, зоны затопления и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Тверская область — единый инстанс покрывает все 50 кадастровых районов региона, включая Тверь и все муниципальные образования области. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 500241, "title": "Зона жилой застройки (Ж-1)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": [] } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 500587, "title": "Ж-1 Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Твери", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_prim` — ГИС ОГД Приморского края (isogd.primorsky.ru) · регион `25` · 17 муниципалитетов **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Приморского края, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны, границы АТД, зоны затопления и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Приморский край — 17 муниципальных образований: Владивосток, Находка, Уссурийск, Артём, Большой Камень, Дальнегорск, Дальнереченск, ЗАТО Фокино, Михайловский, Надеждинский, Октябрьский, Спасск-Дальний, Ханкайский, Хасанский, Хорольский, Шкотовский районы. Районы без выделенного инстанса обрабатываются региональным покрытием. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 600241, "title": "Зона смешанной жилой застройки (Ж-4)", "geometry": null, "fields": { "primary": ["Многоквартирные дома"], "secondary": ["Объекты бытового обслуживания"], "conditional": ["Магазины"] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 600412, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Владивостока", "section": "razdel3", "layerDisplayName": "Функциональная зона" } } ] } ``` ##### `area_gis_ogd_saratov` — ГИС ОГД Саратовской области (geo.mcrssar.ru) · регион `64` · 42 муниципалитета **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Саратовской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны, границы АТД, зоны затопления и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Саратовская область — 42 муниципальных образования, включая Саратов, Энгельс, Балаково, Вольск, Балашов, Пугачёв, Маркс, Аткарск и все районы области. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 700241, "title": "Зона жилой застройки средней этажности (Ж-3)", "geometry": null, "fields": { "primary": ["Многоквартирные среднеэтажные дома"], "secondary": ["Объекты бытового обслуживания"], "conditional": ["Магазины"] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 700412, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Саратова", "section": "razdel3", "layerDisplayName": "Функциональная зона" } } ] } ``` ##### `area_gis_ogd_murm` — ГИС ОГД Мурманской области (gisogd.gov-murman.ru) · регион `51` · 17 муниципалитетов **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Мурманской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны, границы АТД, зоны затопления и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Мурманская область — 17 кадастровых районов (51:01–51:17), 17 муниципальных образований и региональный инстанс `agate_reg` для участков без выделенного МО. Включает Мурманск, Апатиты, Кировск, Мончегорск, Североморск, Кандалакшу, Полярные Зори и все районы области. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 800241, "title": "Зона жилой застройки (Ж-1)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": [] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 800412, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Мурманска", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 800587, "title": "Ж-1 Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Мурманска", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_adyg` — ГИС ОГД Республики Адыгея (portal-gisogd.adygheya.gov.ru) · регион `01` · 9 муниципалитетов **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Республики Адыгея, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Республика Адыгея — 9 кадастровых районов (01:01–01:09), 9 муниципальных образований и региональный инстанс `agate_region`. Включает Майкоп, Адыгейск и все районы республики. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 500241, "title": "Зона жилой застройки (Ж-1)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": [] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 500412, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Майкопа", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 500587, "title": "Ж-1 Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Майкопа", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_hmao` — ГИС ОГД ХМАО-Югры (gisogd.admhmao.ru) · регион `86` · 22 муниципалитета **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД ХМАО-Югры, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Весь ХМАО-Югра — 22 кадастровых района (86:01–86:22), 22 муниципальных образования и региональный инстанс `agate_hmaoregion`. Включает Сургут, Нижневартовск, Ханты-Мансийск, Нягань, Урай, Пыть-Ях, Когалым, Радужный, Мегион, Нефтеюганск, Покачи, Лангепас, Югорск и все районы округа. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 900241, "title": "Зона жилой застройки (Ж-1)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": [] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 900412, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Сургута", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 900587, "title": "Ж-1 Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Сургута", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_altai` — ГИС ОГД Алтайского края (portal-ias-gisogd.alregn.ru) · регион `22` · 18 МО + региональный инстанс **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Алтайского края, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Весь Алтайский край — 73 кадастровых района (22:01–22:73), 18 МО и региональный инстанс `agate_altairegion`. Включает Барнаул, Бийск, Рубцовск, Алейск, Белокуриху, Заринск и все муниципальные районы края. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 112381, "title": "Зона жилой застройки (Ж-2)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": [] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 112504, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Барнаула", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 112619, "title": "Ж-2 Зона смешанной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Барнаула", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_pnz` — ГИС ОГД Пензенской области (portal-gisogd.pnzreg.ru) · регион `58` · 30 МО + региональный инстанс **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Пензенской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Пензенская область — 33 кадастровых района (58:01–58:34), 30 МО и региональный инстанс `agate_penzregion`. Включает Пензу, Кузнецк, ЗАТО Заречный и все муниципальные районы области. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 205147, "title": "Зона жилой застройки (Ж-1)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": [] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 205312, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Пензы", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 205489, "title": "Ж-1 Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Пензы", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_khak` — ГИС ОГД Республики Хакасия (portal-gisogd.r-19.ru) · регион `19` · 9 МО + региональный инстанс **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Республики Хакасия, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Республика Хакасия — 11 кадастровых районов (19:01–19:11), 9 МО + региональный инстанс `agate_hakasiaregion`. Аскизский, Бейский, Боградский и Таштыпский районы используют региональный инстанс; г. Абаза и г. Сорск выбираются по координатам. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 112345, "title": "Зона жилой застройки (Ж-1)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": [] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 112567, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Абакана", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 112789, "title": "Ж-1 Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Абакана", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_amur` — ГИС ОГД Амурской области (gisogd.amurobl.ru) · регион `28` · 28 МО + региональный инстанс **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Амурской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Амурская область — 28 кадастровых районов (28:01–28:28), 28 МО + региональный инстанс `agate_amurregion`. Все кадастровые районы имеют прямое соответствие муниципалитету; пгт. Прогресс (`agate_progressgo`) выбирается по координатам. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 198201, "title": "Зона жилой застройки (Ж-1)", "geometry": null, "fields": { "primary": ["Для индивидуального жилищного строительства"], "secondary": ["Объекты гаражного назначения"], "conditional": [] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 198456, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Благовещенска", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 198712, "title": "Ж-1 Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Благовещенска", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_kaluga` — ГИС ОГД Калужской области (public-gisogd.giskaluga.ru) · регион `40` · 26 инстансов (24 МР + г. Калуга + г. Обнинск + региональный) **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Калужской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Калужская область — 29 кадастровых районов (40:01–40:29), 26 инстансов: 24 МР, г. Калуга (`agate_kalugago`), г. Обнинск (`agate_obninskgo`) и региональный `agate_kalugaregion`. Малоярославецкий район (40:13) не имеет отдельного инстанса и направляется на региональный. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 210401, "title": "Зона жилой застройки (Ж-2)", "geometry": null, "fields": { "primary": ["Для малоэтажного многоквартирного жилищного строительства"], "secondary": ["Объекты торговли"], "conditional": [] } }, { "layer": "Urban10FunctionalZone", "desc": "Генеральный план", "key": 210456, "title": "Зона жилой застройки", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { "document": "Генеральный план г. Калуги", "section": "razdel3", "layerDisplayName": "Функциональная зона" } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 210712, "title": "Ж-2 Зона малоэтажной жилой застройки", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Калуги", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_omsk` — ГИС ОГД Омской области (gisogd55.omskportal.ru) · регион `55` · 32 инстанса (30 МР + г. Омск + региональный) **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из документов ГИС ОГД Омской области, пересекающих участок. Дедупликация по ключу объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта из системы Агат, например `Urban10FunctionalZone`, `UrbanTerZoneRegulation` | | desc | string | Название раздела: «Генеральный план», «ПЗЗ», «Градостроительный регламент» и др. | | key | integer null | Внутренний идентификатор объекта в системе Агат | | title | string | Наименование зоны или документа | | geometry | object null | Геометрия зоны GeoJSON (Polygon / MultiPolygon) в WGS 84. Отсутствует у объектов градостроительного регламента. | | fields | object | Дополнительные поля: для зон — `document`, `section`, `layerDisplayName`; для регламента — `primary`, `secondary`, `conditional` | **Разделы документов (gisogdSection)** | desc | Описание | Геометрия | |---|---|---| | Генеральный план | Функциональные зоны и прочие объекты ГП | ✓ | | СТП | Схема территориального планирования | ✓ | | ПЗЗ | Территориальные зоны правил землепользования и застройки | ✓ | | Документы планировки территории | ДПТ — красные линии, границы элементов планировочной структуры | ✓ | | Иные документы | Прочие градостроительные документы | ✓ | | Разрешения на строительство | Объекты разрешений на строительство | ✓ | | Градостроительный регламент | Основные, вспомогательные и условно разрешённые виды использования (ВРИ) территориальной зоны | — | **Охват** Вся Омская область — 38 кадастровых районов (55:01–55:38), 32 инстанса: 30 МР, г. Омск (`agate_omsk`) и региональный `agate_omskreg`. Районы без отдельного инстанса (Исилькульский 55:06, Тарский 55:27, г. Исилькуль 55:33, г. Тара 55:37) направляются на региональный. Муниципалитет определяется автоматически по кадастровому номеру участка. Пример ответа: ```json { "layers": [ { "layer": "UrbanTerZoneRegulation", "desc": "Градостроительный регламент", "key": 701010, "title": "Зона городской рекреации (Р-1)", "geometry": null, "fields": { "primary": ["Парки, скверы, бульвары"], "secondary": [], "conditional": [] } }, { "layer": "Urban5TerritorialZone", "desc": "ПЗЗ", "key": 701456, "title": "Зона городской рекреации (Р-1)", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "document": "ПЗЗ г. Омска", "section": "razdel5", "layerDisplayName": "Территориальная зона" } } ] } ``` ##### `area_gis_ogd_lenobl` — ГИС ОГД Ленинградской области (gisogd.lenobl.ru) · регион `47` · GeoServer, 143 слоя ИСОГД **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из слоёв ИСОГД Ленинградской области, пересекающих участок. Дедупликация по идентификатору фичи GeoServer. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | typeName слоя GeoServer, например `isogd_pzz:ter_zone` | | desc | string | Человекочитаемое название слоя, например «Территориальные зоны ПЗЗ», «ЗОУИТ» | | key | string null | Идентификатор фичи GeoServer (`.fid-…`) | | title | string | Название объекта — выбирается из `name` / `zone_code` / `docgd_docname` и т.п. | | geometry | object null | Геометрия объекта GeoJSON (Polygon / MultiPolygon) в WGS 84 | | fields | object | Все непустые свойства фичи. Набор зависит от слоя: для терзон/ЗОУИТ — `zone_code`, `cad_num`, `docgd_docname`; для ЗУ из КПТ — `cadastral_number`, `category_name`, `area` | **Запрашиваемые слои (gisogd.lenobl.ru · GeoServer)** Опрашивается весь каталог ИСОГД — **143 слоя** (workspaces `isogd` / `isogd_10pr` / `isogd_pzz` / `isogd_ppt` / `fpd` / `rosreestr`) одним запросом WMS GetFeatureInfo на точку. | Группа слоёв | Охват | |---|---| | ПЗЗ | Территориальные зоны и градостроительные регламенты правил землепользования и застройки | | Генеральные планы | Функциональные зоны и планируемые объекты ГП поселений | | Документы планировки территории | Красные линии, границы элементов планировочной структуры (ППТ / ПМТ) | | ЗОУИТ | Зоны с особыми условиями использования территорий | | Сведения ЕГРН (КПТ) | Земельные участки и кадастровые кварталы из кадастрового плана территории | | ОКН | Объекты культурного наследия и их зоны охраны | | Прочие документы ИСОГД | Иные градостроительные документы и слои регионального уровня | **Охват** Вся Ленинградская область — один регион без разбивки на инстансы и кадастровые районы. Геометрия слоёв-границ отбрасывается как справочная. Пример ответа: ```json { "layers": [ { "layer": "isogd_pzz:ter_zone", "desc": "Территориальные зоны ПЗЗ", "key": "ter_zone.fid-1a2b3c", "title": "Ж-1", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "zone_code": "Ж-1", "cad_num": "47:07:0000000:0", "docgd_docname": "ПЗЗ Всеволожского городского поселения" } }, { "layer": "rosreestr:land_plots", "desc": "Земельные участки (КПТ)", "key": "land_plots.fid-9f8e7d", "title": "47:07:0612001:1234", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "cadastral_number": "47:07:0612001:1234", "category_name": "Земли населённых пунктов", "area": 1200 } } ] } ``` ##### `area_gis_ogd_perm` — ГИС ОГД Пермского края (isogd.permkrai.ru) · регион `59` · GeoServer, 71 слой **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из слоёв ГИС ОГД Пермского края, пересекающих участок. Дедупликация по содержимому объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | typeName слоя GeoServer, например `portal:permkrai_geo_terzone` | | desc | string | Человекочитаемое название слоя, например «Территориальные зоны», «Функциональные зоны» | | key | string null | Идентификатор объекта в GeoServer | | title | string | Название объекта из атрибутов фичи | | geometry | object null | Геометрия объекта GeoJSON (Polygon / MultiPolygon) в WGS 84. У слоёв адм./адресного покрытия отбрасывается. | | fields | object | Все непустые свойства фичи. Набор зависит от слоя и передаётся без изменений (без WKT-дубля геометрии). | **Запрашиваемые слои (isogd.permkrai.ru · GeoServer)** Опрашивается статический каталог — **71 слой** (`portal:permkrai_geo_*` / `portal:rso_*`) одним запросом WMS GetFeatureInfo на точку. | Группа слоёв | Охват | |---|---| | Сведения ГКН | Земельные участки, кадастровые кварталы, ОКС | | ПЗЗ | Территориальные зоны правил землепользования и застройки | | Функциональные зоны | Функциональные зоны генеральных планов | | ЗОУИТ | Зоны с особыми условиями использования (10пр + реестр zor) | | ОКН | Объекты культурного наследия | | Зоны ответственности РСО | Зоны обслуживания ресурсоснабжающих организаций | | Адресные объекты | Адресное покрытие — район, город, регион, кварталы (геометрия отбрасывается) | **Охват** Весь Пермский край — один регион без разбивки на инстансы и кадастровые районы. Пример ответа: ```json { "layers": [ { "layer": "portal:permkrai_geo_terzone", "desc": "Территориальные зоны", "key": "permkrai_geo_terzone.512", "title": "Ж-1", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { // Атрибуты фичи GeoServer, набор зависит от слоя. } }, { "layer": "portal:permkrai_geo_func_zone", "desc": "Функциональные зоны", "key": "permkrai_geo_func_zone.318", "title": "Зона застройки индивидуальными жилыми домами", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { /* атрибуты зависят от слоя */ } } ] } ``` ##### `area_gis_ogd_nsk` — ГИС ОГД Новосибирской области (gisogd.nso.ru) · регион `54` · Geocad GEE, 110 слоёв **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов из слоёв ГИС ОГД Новосибирской области, пересекающих bbox участка. Дедупликация по идентификатору объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | workset | string | Набор слоёв GEE: «ГИСОГД НСО», «Разделы ГИСОГД» или «СТП НСО» | | layer | string | Идентификатор слоя GEE (realLayerId), например `203` | | desc | string | Человекочитаемое название слоя, например «Проекты планировки», «Зоны охраны ОКН» | | key | string | Идентификатор объекта (`layerId:GraphID`) | | title | string | Название объекта из семантики (Name / классификатор зоны) | | geometry | object null | Геометрия объекта GeoJSON (Polygon / MultiPolygon / LineString) в WGS 84 | | fields | object | Семантика объекта (запрашивается с `sem=*`). Набор зависит от слоя; служебные/аудиторские поля вырезаются. | **Запрашиваемые слои (gisogd.nso.ru · Geocad GEE)** Опрашивается статический каталог — **110 слоёв** по трём наборам (workset), банк `24`. По каждому слою — выборка объектов в bbox участка через REST GEE (`ids/filter` → `graph_ids`). | Набор (workset) | Охват | |---|---| | ГИСОГД НСО | Документы ГИСОГД: проекты планировки/межевания, ЗУ, красные линии, инженерные сети и объекты (40 слоёв) | | Разделы ГИСОГД | ЗОУИТ, зоны охраны ОКН, КРТ, ООПТ, транспорт, охранные/санитарные зоны (20 слоёв) | | СТП НСО | Схема терпланирования: водоохранные/прибрежные зоны, СЗЗ, АТД, объекты соц./инж. инфраструктуры (50 слоёв) | **Охват** Вся Новосибирская область — один регион без разбивки на инстансы и кадастровые районы. Пример ответа: ```json { "layers": [ { "workset": "ГИСОГД НСО", "layer": "203", "desc": "Проекты планировки", "key": "203:21830530", "title": "Проект планировки территории центральной части города Новосибирска", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { // Семантика GEE: Name, Docum1_DocNumber, Docum1_DocDate, Square, … (зависит от слоя) } }, { "workset": "ГИСОГД НСО", "layer": "59", "desc": "Земельный участок ГИСОГД", "key": "59:13536947", "title": "54:35:000000:0", "geometry": { "type": "MultiPolygon", "coordinates": [...] }, "fields": { /* CadastralNum, Square, … */ } } ] } ``` ##### `area_gis_ogd_sam` — ГИС ОГД Самарской области (gisogd.samregion.ru) · регион `63` · OGC API Tiles (MVT), ~50 слоёв **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов ИСОГД Самарской области, пересекающих участок. Дедупликация по идентификатору объекта. | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | collection | string | Идентификатор коллекции OGC, например `TerZone`, `LandPlot` | | layer | string | То же, что collection (для единообразия с другими регионами) | | desc | string | Человекочитаемое название слоя, например «Территориальные зоны (ПЗЗ)» | | key | string | Идентификатор объекта (по Uid / CadastralNum / reg_num) | | title | string | Название/идентификатор объекта из атрибутов | | geometry | object null | Геометрия GeoJSON (Polygon / MultiPolygon / LineString) в WGS 84 | | fields | object | Атрибуты объекта из векторного тайла (для ЗУ: CadastralNum, Area, Location, PermittedUseType …). Набор зависит от слоя. | **Запрашиваемые слои (gisogd.samregion.ru · OGC API Tiles)** Опрашивается статический каталог — **~50 коллекций** ИСОГД через OGC API Tiles (Mapbox Vector Tiles) по тайлам, покрывающим участок. | Группа | Охват | |---|---| | Сведения ЕГРН | Земельные участки, ОКС, терзоны (ЕГРН), ЗОУИТ (ЕГРН), зоны затопления | | ПЗЗ | Территориальные зоны, область действия документов ПЗЗ | | ГП / СТП | Векторные объекты генпланов и СТП, область действия документов | | ППТ / ПМТ | Проекты планировки/межевания, красные линии, сервитуты, образуемые ЗУ | | ЗОУИТ / ОКН | ЗОУИТ (векторная модель), объекты культурного наследия и их территории | | Прочее | Лесничества, ООПТ, разрешения на строительство/ввод, объекты социнфраструктуры | **Охват** Вся Самарская область — один регион без разбивки на инстансы и кадастровые районы. Пример ответа: ```json { "layers": [ { "collection": "LandPlot", "layer": "LandPlot", "desc": "Земельные участки", "key": "LandPlot:63:01:0504002:4", "title": "63:01:0504002:4", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "CadastralNum": "63:01:0504002:4", "Area": 839, "PermittedUseType": "..." } }, { "collection": "TerZoneEgrn", "layer": "TerZoneEgrn", "desc": "ЕГРН: Территориальные зоны", "key": "TerZoneEgrn:63:01-7.7", "title": "Ц-1.5", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { /* reg_num, type_zone_code, name, … */ } } ] } ``` ##### `area_gis_ogd_mosobl` — ГИС ОГД Московской области — РГИС Подмосковья (rgis.mosreg.ru) · регион `50` **Корневые поля** | Поле | Тип | Описание | |---|---|---| | layers | array | Список объектов РГИС Подмосковья по кадастровому номеру участка: сведения ЕГРН, попадание в зоны охраны, ЗОУИТ, функциональные/территориальные зоны ПЗЗ | **Поля каждого объекта в layers[]** | Поле | Тип | Описание | |---|---|---| | layer | string | Тип объекта — один из: `rr:info`, `planning:info`, `planning:self_intersection`, `planning:zouit:rosreestr`, `planning:zouit:category`, `planning:usage` — см. вкладку «Разделы» | | desc | string | Человекочитаемое описание раздела | | key | string | Идентификатор объекта: кадастровый номер участка, код зоны или лицевой счёт — зависит от раздела | | title | string | Заголовок объекта (адрес участка, название зоны и т.д.); пусто у `planning:info` | | geometry | object null | Геометрия GeoJSON (Polygon / MultiPolygon) в WGS 84, уже без конвертации из EPSG:3857; отсутствует у `planning:info` | | fields | object | Сырые атрибуты раздела. Набор полей зависит от `layer` — см. вкладку «Разделы» | **Разделы (layer)** | layer | Описание | Геометрия | |---|---|---| | rr:info | Сведения ЕГРН: адрес, площадь, категория земель, вид разрешённого использования (официальный/уточнённый/фактический), статус, дата постановки/снятия, предыдущие кадастровые номера | ✓ | | planning:info | Попадание в зоны охраны ОКН, в зону санитарной охраны водозаборов (ЗСО) 1980 г., перечень муниципальных образований, пересечение с проектами планировки/межевания | — | | planning:self_intersection | Самопересечение границ с другим участком: его кадастровый номер, площадь и % пересечения | ✓ | | planning:zouit:rosreestr | ЗОУИТ, зарегистрированные в ЕГРН, пересекающие участок | ✓ | | planning:zouit:category | ЗОУИТ по слою категорий зон (в т.ч. не внесённые в ЕГРН) | ✓ | | planning:usage | Функциональная/территориальная зона ПЗЗ: код зоны, % пересечения, основные/условные/вспомогательные виды разрешённого использования | ✓ | **Охват** Один регион — Московская область целиком, без разбивки на инстансы и кадастровые районы. Пример ответа: ```json { "layers": [ { "layer": "rr:info", "desc": "Сведения ЕГРН (Росреестр)", "key": "50:23:0020285:312", "title": "Московская область, Раменский район, СНТ «Радуга», уч. 12", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "cadnum": "50:23:0020285:312", "category": "Земли сельскохозяйственного назначения", "permitted_use_official": "Для ведения садоводства", "area": 467, "status": "Актуальный", "date_registered": "07.10.2013" } }, { "layer": "planning:usage", "desc": "Функциональная/территориальная зона (ПЗЗ)", "key": "50.03.1.10", "title": "Зона садоводческих, огороднических объединений граждан", "geometry": { "type": "Polygon", "coordinates": [...] }, "fields": { "zone": "СХ-2", "area": 466.67, "percent": 100, "usages": [ { "code": "1.5", "name": "Садоводство" } ] } } ] } ``` ### Асинхронный режим `POST /cn_data/jobs` Полный сбор данных по участку занимает несколько минут, а на тяжёлых участках — до десяти. Если ваш HTTP-клиент рвёт соединение раньше, синхронный `/cn_data` использовать не получится: ответ теряется, хотя данные уже собраны. Асинхронный режим снимает зависимость от таймаутов — вы ставите задачу, сразу получаете её идентификатор и опрашиваете статус в удобном темпе. Тело запроса — **такое же**, как у `/cn_data` (`cad_num` либо `coords`, `use_cache`, `cache_ttl`, `collect_if_not_found`, `neighbors_radius`), и результат по составу полей тоже не отличается. Меняется только схема получения ответа. > **Проверка запроса — сразу.** Ошибки в запросе (формат номера, оба поля `cad_num` и `coords` одновременно, исчерпанная подписка, превышенный rate limit) возвращаются **синхронно**, теми же кодами, что и на `/cn_data`. В очередь попадает только корректный запрос, поэтому опечатку вы увидите сразу, а не через минуту опроса. *202 Accepted · response.json* ```json { "request_id": "5b1cf0a2-7d3e-4a19-9d0c-2f5b8c1e4a77", "status": "queued", "status_url": "/cn_data/jobs/5b1cf0a2-7d3e-4a19-9d0c-2f5b8c1e4a77", "poll_after_sec": 30, "cad_num": "23:49:0000000:8273", "created_at": "Mon, 03 Aug 2026 10:00:00 GMT" } ``` | Поле ответа | Тип | Описание | |---|---|---| | request_id | string | Идентификатор задачи. По нему забирается результат | | status | string | Состояние задачи в момент ответа — обычно `queued` | | status_url | string | Путь для опроса статуса. Дублируется в заголовке `Location` | | poll_after_sec | integer | Рекомендуемая пауза перед следующим опросом, в секундах | | created_at started_at finished_at | string null | Когда задача создана, взята в работу и завершена (RFC 1123). Приходят и в ответе на постановку, и при опросе статуса; ещё не наступившие — `null`. По ним видно, сколько задача ждала очереди и сколько собиралась | | deduplicated | boolean | Присутствует и равно `true`, если у вас **уже** есть незавершённая задача с **таким же телом запроса** — тогда возвращается её `request_id`, а новая не создаётся. Повторная отправка запроса (например, ваш ретрай по таймауту) не приводит к двойному сбору и двойному списанию. «Таким же» значит совпадение по всем полям, влияющим на ответ: участок, `collect_if_not_found`, `use_cache`, `cache_ttl` и `neighbors_radius`. Запрос без `use_cache` — это просьба о свежем сборе, и склеен с задачей, готовой отдать сохранённые данные, он не будет | #### Опрос статуса `GET /cn_data/jobs/` Пока задача не завершена, возвращается её состояние; когда завершена — результат. HTTP-код при этом всегда `200`: состояние задачи передаётся полем `status`, а не кодом ответа, поэтому любой другой код означает проблему с самим запросом статуса, а не со сбором. *200 OK · сбор идёт* ```json { "request_id": "5b1cf0a2-7d3e-4a19-9d0c-2f5b8c1e4a77", "status": "running", "cad_num": "23:49:0000000:8273", "progress": { "stage": "collecting", "done": 14, "total": 21 }, "poll_after_sec": 30 } ``` *200 OK · результат готов* ```json { "request_id": "5b1cf0a2-7d3e-4a19-9d0c-2f5b8c1e4a77", "status": "done", "cad_num": "23:49:0000000:8273", "result": { "area_number": "23:49:0000000:8273", "request_time": "Thu, 28 May 2026 12:34:56 GMT", "data": { /* то же самое, что вернул бы POST /cn_data */ } } } ``` | Значение status | Что означает | |---|---| | queued | Задача принята и ждёт очереди | | running | Идёт сбор. Поле `progress` показывает стадию и сколько источников из скольких уже опрошено | | done | Готово. Ответ содержит `result` — ровно то тело, которое вернул бы синхронный `/cn_data` | | not_found | Участок не найден (аналог кода `204` синхронного запроса). Поля `result` нет | | failed | Сбор не удался. Причина — в полях `error` (машинный код) и `message` (текст); `http_status` показывает, каким кодом это же вернул бы синхронный запрос | #### Список своих задач `GET /cn_data/jobs` Возвращает задачи вашего токена: `{"count": N, "array": [...]}` с теми же полями, что и опрос статуса, но без `result`. Нужен, если вы потеряли идентификаторы (например, после перезапуска на вашей стороне) — чтобы не ставить те же участки заново. По умолчанию отдаются **и незавершённые, и завершённые за последние 24 часа** — то есть все, результат которых ещё можно забрать по `request_id`. Это важно именно после сбоя на вашей стороне: пока вы перезапускались, задача обычно успевает досчитаться, и без неё в списке вы заказали бы тот же участок заново — с полным сбором и повторным списанием запроса. Только незавершённые — `GET /cn_data/jobs?status=active`; другое значение `status` — `422` с кодом `invalid_status`. Список отдаёт не больше 50 задач (самые свежие); если он обрезан, в ответе появляется `truncated: true`. #### Правила работы очереди | Правило | Как это работает | |---|---| | Списание запроса | Запрос подписки списывается при **завершении** сбора, а не при постановке задачи. Задача, завершившаяся со статусом `not_found` или `failed`, квоту не расходует. Опрос статуса бесплатен | | Повторная постановка | Пока задача не завершена, повторный запрос с тем же телом возвращает **её же** `request_id` с признаком `deduplicated: true`. Ретраи безопасны — в том числе когда вы уже упёрлись в лимит одновременных задач | | Сколько задач сразу | До 4 незавершённых задач на токен. Сверх этого — `429` с кодом `queue_limit_exceeded`: дождитесь завершения хотя бы одной. Лимит считает **новые** задачи: повтор запроса по уже поставленной задаче работает и на пределе — вы всегда можете переспросить её `request_id` | | Срок хранения результата | Результат доступен **24 часа** после завершения задачи, затем удаляется, и опрос отвечает `410` с кодом `job_expired`. Забирайте результат в течение суток | | Темп опроса | Рекомендуемый интервал приходит в `poll_after_sec` (по умолчанию 30 секунд). Лимит на опрос — 10 запросов/мин на токен, отдельно от лимита на постановку задач; статус и список задач (`GET /cn_data/jobs`) считаются вместе. При опросе с рекомендуемым интервалом лимита хватает на все 4 задачи. Если всё же пришёл `429` — задача не потеряна: сбор продолжается, подождите `retry_after` секунд и продолжайте опрос | > **Ускорение повторных участков.** Если участок уже запрашивался, синхронный `/cn_data` с `use_cache: true` отвечает за секунды и не упирается ни в какие таймауты. Асинхронный режим нужен там, где участок собирается впервые. ## Объекты капстроительства Продукт · по подписке, общая квота с «Данными об участке» Здания, сооружения, квартиры и другие помещения, машино-места, объекты незавершённого строительства — по кадастровому номеру: характеристики из ЕГРН, здание помещения, участок под объектом, права и обременения, рыночная оценка по объявлениям, торги, суды, упоминания и окружение дома. Эндпоинты: `POST /oks_data`, `POST /oks_data/jobs`, `GET /oks_data/jobs/` ### POST /oks_data `POST /oks_data` Данные об объекте капитального строительства по кадастровому номеру. Для земельных участков — POST /cn_data: номер здания или помещения там вернёт `422 not_a_land_plot`, а номер участка здесь — `422 not_an_oks`. Состав полей ответа определяется настройками токена. > **Квота общая с «Данными об участке»:** успешный ответ списывает один запрос подписки, «не найдено» и ошибки — не списывают. Rate limit тоже общий, и по одному токену одновременно выполняется один запрос — к `/cn_data` или к `/oks_data`. Ответ без поля `oks_restrictions` приходит за секунды; поиск прав в Росреестре добавляет от нескольких до десятков секунд. #### Request body | Поле | Тип | Описание | |---|---|---| | cad_num | string | Кадастровый номер объекта капитального строительства: здания, сооружения, объекта незавершённого строительства, помещения (квартиры, нежилого помещения) или машино-места. Формат — как у `/cn_data`: `XX:XX:XXXXXXX:XXX`. | | use_cache | boolean | Необязательное, по умолчанию `false`. Согласие получить ранее собранные данные по этому объекту, если они не старше `cache_ttl` и закрывают все поля вашего токена — так же, как в /cn_data. Запрос списывается как обычный. | | cache_ttl | integer | Необязательное, только вместе с `use_cache: true`. Предельный возраст данных в секундах; по умолчанию 30 дней (`2592000`). | Поиск по координатам (`coords`) и `collect_if_not_found` здесь не поддерживаются — запрос с ними вернёт `422 unsupported_parameter`: в одной точке находятся десятки помещений. #### Корневые поля ответа | Поле | Тип | Описание | |---|---|---| | cad_num | string | Кадастровый номер из запроса | | object_type | string | Вид объекта — см. таблицу ниже. Определяет, какие поля заполнены | | request_time | string | Дата и время выполнения запроса (RFC 1123, например `Thu, 28 May 2026 12:34:56 GMT`) | | data | object | Данные по объекту. Состав полей определяется настройками токена | | cached | boolean | Присутствует и равно `true` только в ответах из сохранённых данных (`use_cache`) | | cached_at | string | Когда эти данные были собраны (RFC 1123). Только в ответах из кэша | | cache_age_sec | integer | Возраст данных в секундах на момент ответа. Только в ответах из кэша | #### Значения object_type | Значение | Объект | |---|---| | premise | Помещение — квартира, комната, нежилое помещение | | parking | Машино-место | | building | Здание — многоквартирный или жилой дом, нежилое здание | | structure | Сооружение — в том числе линейное (газопровод, дорога, ЛЭП) | | unfinished | Объект незавершённого строительства | *200 OK · response.json* ```json { "cad_num": "77:01:0001010:1234", "object_type": "premise", "request_time": "Thu, 28 May 2026 12:34:56 GMT", "data": { "oks_info": { /* карточка объекта из ЕГРН */ }, "oks_geometry": { /* GeoJSON */ }, "oks_building": { /* здание, в котором находится помещение */ }, "oks_objects_count": { "premises_count": 123, "parking_count": null }, "oks_land_plots": { /* участок под зданием */ }, "oks_restrictions": { /* права и обременения */ }, "oks_market": { /* рыночная оценка по объявлениям */ }, "oks_torgi": { /* торги по объекту */ }, "oks_sudact": { /* судебная практика */ }, "oks_garant": { /* Гарант */ }, "oks_google": { /* упоминания в Google */ }, "oks_yandex": { /* упоминания в Яндексе */ }, "oks_surroundings": { /* окружение дома */ } } } ``` #### Группы полей `data.*` Каждое поле включается индивидуально по настройкам токена; в ответ попадают только включённые. Нажмите на группу, чтобы раскрыть описание полей и пример. ##### `oks_info` — Карточка объекта из ЕГРН Карточка объекта из ЕГРН (через НСПД) — как есть, без переименования полей. **Набор полей зависит от вида объекта**: у помещения — площадь, этаж, назначение и номер здания, у здания — этажность, материал стен и год ввода. Отсутствующие в ЕГРН сведения приходят как `null`. **Помещение / машино-место (основные поля)** | Поле | Тип | Описание | |---|---|---| | cad_number | string | Кадастровый номер помещения (у помещений поле называется так, у зданий — `cad_num`) | | params_type | string | Вид помещения: «Квартира», «Комната», … (у нежилых часто `null`) | | purpose | string | Назначение: «Жилое» / «Нежилое» | | area | number | Площадь, м² | | floor | array | Этаж(и) расположения, например `["6/Этаж"]` | | cost_value | number | Кадастровая стоимость, ₽ | | cost_index | number | Удельный показатель кадастровой стоимости, ₽/м² | | ownership_type | string | Форма собственности | | registration_date | string | Дата постановки на учёт (ISO 8601) | | readable_address | string | Адрес | | parent_cad_number | string | Кадастровый номер здания, в котором находится помещение | **Здание (основные поля; у сооружений и ОНС — свой похожий набор)** | Поле | Тип | Описание | |---|---|---| | cad_num | string | Кадастровый номер | | purpose | string | Назначение: «Многоквартирный дом», «Жилой дом», «Нежилое» … | | building_name | string | Наименование | | floors | string | Количество этажей; `underground_floors` — подземных | | materials | string | Материал наружных стен | | year_built | string | Год завершения строительства; `year_commisioning` — год ввода в эксплуатацию | | build_record_area | number | Площадь, м² | | cost_value | number | Кадастровая стоимость, ₽ | | readable_address | string | Адрес | Пример ответа: ```json { // Квартира (object_type: "premise") "cad_number": "77:01:0001010:1234", "type": "Помещение", "params_type": "Квартира", "purpose": "Жилое", "area": 65.5, "floor": ["6/Этаж"], "cost_value": 8487865.35, "cost_index": 129585.73, "ownership_type": "Частная", "registration_date": "2010-12-16T00:00:00Z", "readable_address": "г. Москва, ул. Примерная, д. 1, кв. 61", "parent_cad_number": "77:01:0001010:1001" } ``` ##### `oks_geometry` — Геометрия объекта (GeoJSON) Геометрия объекта в GeoJSON (WGS 84, порядок `[lon, lat]`). У зданий и сооружений — контур (`Polygon`/`MultiPolygon`) либо точка, если границы не установлены. **У помещений и машино-мест своего контура нет** — это точка здания. | Поле | Тип | Описание | |---|---|---| | type | string | `Point`, `Polygon`, `MultiPolygon`, реже `LineString` | | coordinates | array | Координаты по стандарту GeoJSON | Пример ответа: ```json { "type": "Point", "coordinates": [37.6173, 55.7558] } ``` ##### `oks_building` — Здание помещения / машино-места Здание, в котором находится помещение или машино-место: его карточка из ЕГРН и геометрия. Для самих зданий, сооружений и ОНС — `null` (их карточка уже в `oks_info`). | Поле | Тип | Описание | |---|---|---| | options | object | Карточка здания — тот же набор полей, что у `oks_info` для зданий | | geometry | object | Геометрия здания (GeoJSON) | Пример ответа: ```json { "options": { "cad_num": "77:01:0001010:1001", "purpose": "Многоквартирный дом", "floors": "10", "materials": "Кирпичные", "year_commisioning": "1998" }, "geometry": { "type": "Polygon", "coordinates": [ /* … */ ] } } ``` ##### `oks_objects_count` — Количество помещений и машино-мест в здании Сколько помещений и машино-мест числится в здании по ЕГРН. Для помещения — в здании, где оно находится; для здания — в нём самом. У сооружений и ОНС обычно `null`. | Поле | Тип | Описание | |---|---|---| | premises_count | integer | Количество помещений (квартир и нежилых) либо `null` | | parking_count | integer | Количество машино-мест либо `null` | Пример ответа: ```json { "premises_count": 123, "parking_count": null } ``` ##### `oks_land_plots` — Участок под объектом Земельные участки под объектом (для помещения — под его зданием). **Участок под многоквартирным домом часто не сформирован**: по контуру дома находятся соседние участки — пристройки, магазины, благоустройство. Поэтому ответ разделяет «участок объекта» (`land_plot`) и всех кандидатов. Данные самого участка — POST /cn_data по `land_plot`. **Корневые поля** | Поле | Тип | Описание | |---|---|---| | land_plot | string | Кадастровый номер участка, на котором лежит не меньше половины объекта (`coverage ≥ 0.5`), иначе `null`. У индивидуальных жилых домов обычно это единственный участок с `coverage: 1.0` | | match | string | `contour` — участки найдены по контуру объекта; `point` — у объекта нет контура, участки найдены в его точке (неточно: `land_plot` в этом случае не выбирается); `null` — участков нет | | candidates[] | array | Все найденные участки по убыванию `coverage`, не больше 50 | | total | integer | Сколько участков найдено всего (у линейных сооружений их бывают сотни) | **Поля объектов candidates[]** | Поле | Тип | Описание | |---|---|---| | cad_num | string | Кадастровый номер участка | | coverage | number | Доля объекта, лежащая на участке: 0…1 по площади (у линейных сооружений — по длине). `null` при `match: "point"` | | area | number | Площадь участка, м² | | land_record_category_type | string | Категория земель | | permitted_use_established_by_document | string | Вид разрешённого использования | | readable_address | string | Адрес / местоположение | Пример ответа: ```json { // Индивидуальный жилой дом: дом целиком на своём участке "land_plot": "50:01:0002003:45", "match": "contour", "candidates": [ { "cad_num": "50:01:0002003:45", "coverage": 1.0, "area": 1200, "land_record_category_type": "Земли населенных пунктов", "permitted_use_established_by_document": "Для индивидуального жилищного строительства", "readable_address": "Московская обл., д. Примерное, ул. Лесная, 5" } ], "total": 1 } ``` Многоквартирный дом без сформированного участка: `land_plot: null`, в `candidates` — соседние участки с малым `coverage` (например, участок пристройки с `coverage: 0.18`). ##### `oks_restrictions` — Права и обременения (ЕГРН) Зарегистрированные права и обременения объекта по ЕГРН (ипотека, арест, аренда и т.п.) — **формат и три исхода такие же, как у area_restrictions** в данных об участке. Поиск в Росреестре занимает от нескольких до десятков секунд. | Поле | Тип | Описание | |---|---|---| | found | boolean | `true`, если объект найден в Росреестре | | error | string | Только `lookup_failed`: проверить не удалось — повторите позже, это не «обременений нет» | | rights[] | array | Зарегистрированные права | | encumbrances[] | array | Зарегистрированные обременения | | restrictions[] | array | Готовые к отображению строки «Вид; № Номер; от Дата» | Пример ответа: ```json { "cad_num": "77:01:0001010:1234", "found": true, "rights": [ { "rightTypeDesc": "Собственность", /* … */ } ], "encumbrances": [ { "typeDesc": "Ипотека", /* … */ } ], "restrictions": [ { "name": "right", "value": "Собственность; № 77:01:0001010:1234-77/001/2021-1; от 07.01.2021" }, { "name": "encumbrance", "value": "Ипотека; № 77:01:0001010:1234-77/001/2023-2; от 01.04.2023" } ] } ``` ##### `oks_market` — Рыночная оценка по объявлениям Ориентир рыночной стоимости по **ценам предложения** похожих объектов рядом (ЦИАН) — не оценка по 135-ФЗ. Аналоги подбираются по виду объекта: для квартиры — вторичные квартиры похожей площади в радиусе 1 км от дома, для нежилого помещения — офисы, торговые и помещения свободного назначения в радиусе 2 км, для машино-места и гаража — такие же объекты в радиусе 1 км (сравнение по цене за объект), для жилого дома — дома в радиусе 3 км, для нежилого здания — здания в радиусе 3 км. Многоквартирный дом целиком, сооружения и объекты незавершённого строительства не оцениваются — тогда `"supported": false` и причина. Сбор идёт параллельно с правами и обычно занимает несколько секунд. | Поле | Тип | Описание | |---|---|---| | supported | boolean | `false` — объект этого вида не оценивается, причина в `reason` | | segment | string | Вид аналогов: `flat` — квартиры, `commercial` — нежилые помещения, `parking` — машино-места, `garage` — гаражи, `house` — жилые дома, `commercial_building` — нежилые здания. Подпись по-русски — в `segment_label` | | reason | string | Почему оценки нет: многоквартирный дом целиком, сооружение, объект незавершённого строительства | | price_per_m2 | object | Цена предложения за м² по выборке: `median`, `average`, `min`, `max`, квартили `p25` и `p75`. `null`, если аналогов рядом нет | | estimate | object | Оценка объекта: `value` — медиана цены за м² × площадь, вилка `low`–`high` — по квартилям. У машино-мест и гаражей (`basis: "object"`) — медиана и квартили цены объявления | | ratio_to_cadastral | number | Во сколько раз медиана выше удельного показателя кадастровой стоимости | | area_range | object | Диапазон площади аналогов: ±25% для квартир, ±40% для домов | | radius_km | number | Радиус поиска: 1 км от дома для квартир, 3 км для домов | | count_used count_total | integer | Объявлений в расчёте / найдено рядом (выбросы и неправдоподобные цены отбрасываются) | | offers[] | array | До 30 ближайших объявлений: цена, площадь, цена за м², расстояние, адрес, ссылка; у квартир — комнаты, этаж и `same_building` (объявление в том же доме) | | error | string | Только `lookup_failed`: объявления сейчас недоступны — повторите позже, это не «аналогов нет» | Пример ответа: ```json { "supported": true, "segment": "flat", "source": "cian", "radius_km": 1.0, "area_range": { "min": 49.1, "max": 81.9 }, "price_per_m2": { "median": 231240.41, "p25": 192686.52, "p75": 272246.09, /* min, max, average */ }, "estimate": { "value": 15146247, "low": 12620967, "high": 17832119 }, "ratio_to_cadastral": 1.78, "count_used": 49, "count_total": 49, "offers": [ { "title": "2-комн.кв. · 54,9 м² · 5/9 этаж", "price": 10700000, "area": 54.9, "price_per_m2": 194899.82, "distance_km": 0.16, "rooms": 2, "floor": 5, "same_building": false, "link": "https://kazan.cian.ru/sale/flat/…/", /* … */ } ] } ``` ##### `oks_torgi · oks_sudact · oks_garant · oks_google · oks_yandex · oks_surroundings` — Торги, суды, упоминания, окружение Те же источники, что в «Данных об участке», но по кадастровому номеру объекта (окружение — по точке здания). Формат значений совпадает с одноимёнными полями участка. Поиск в Google и Яндексе идёт через браузер и занимает десятки секунд — для таких запросов удобнее асинхронный режим. | Поле | Тип | Описание | |---|---|---| | oks_torgi | object | Торги ГИС Торги, где продаётся или сдаётся **этот** объект: поиск по полному кадастровому номеру. Формат — как у area_torgi | | oks_sudact | object | Судебные акты, где упоминается номер объекта. Формат — как у area_sudact | | oks_garant | object | Документы правовой базы Гарант с номером объекта. Формат — как у area_garant | | oks_google | object | Упоминания номера в выдаче Google. Формат — как у area_google | | oks_yandex | object | Упоминания номера в выдаче Яндекса. Формат — как у area_yandex | | oks_surroundings | object | Окружение дома: расстояния до остановок, школ, садов, больниц, магазинов и вредных объектов. Считается от здания, в котором находится помещение. Формат — как у area_surroundings | #### Ответы, кроме 200 Общие ошибки авторизации, формата номера, кэша и лимитов — те же, что у `/cn_data` (см. Коды ошибок). Специфичные для `/oks_data`: | Код | Описание | |---|---| | 204 | Объект с таким кадастровым номером не найден. Без тела, запрос не списывается | | 403 | `oks_not_enabled` — для токена не подключено ни одно поле данных об объектах капстроительства | | 422 | `not_an_oks` — номер принадлежит не объекту капстроительства (в ответе `category`, `category_name`). Для земельного участка используйте POST /cn_data | | 422 | `unsupported_parameter` — в запросе `coords` или `collect_if_not_found`: эти параметры есть только у `/cn_data` | | 502 / 504 | Кадастровый сервис недоступен или не ответил вовремя (`upstream_*`) — повторите запрос позже | ### Асинхронный режим для объектов `POST /oks_data/jobs` Ответ `/oks_data` обычно приходит за секунды, но поиск прав и обременений в Росреестре (`oks_restrictions`) может занять до пары минут. Если ваш HTTP-клиент рвёт соединение раньше, поставьте объект в очередь и заберите результат опросом — так же, как в асинхронном режиме «Данных об участке». *Схема* ``` POST /oks_data/jobs # тело — как у POST /oks_data → 202 + request_id GET /oks_data/jobs/{id} # статус задачи либо готовый результат GET /oks_data/jobs # ваши задачи: активные и завершённые за сутки ``` Всё остальное устроено так же, как у `/cn_data/jobs`: поля ответа на постановку, статусы `queued` → `running` → `done` / `not_found` / `failed`, рекомендуемая пауза `poll_after_sec`, повторная отправка того же запроса возвращает уже поставленную задачу (`deduplicated`), результат хранится сутки. В `result` готовой задачи лежит то же тело, что вернул бы `/oks_data` с кодом 200. > **Очередь и лимиты общие с «Данными об участке».** Ограничение на число незавершённых задач по токену (`queue_limit_exceeded`) считает задачи обоих продуктов вместе, квота подписки тоже общая. Ошибки в запросе (`unsupported_parameter`, формат номера, `oks_not_enabled`, исчерпанная подписка) возвращаются сразу, при постановке. Что номер принадлежит не объекту капстроительства, выясняется уже при сборе: задача завершится со статусом `failed`, `"error": "not_an_oks"` и `"http_status": 422`. Объект не найден — статус `not_found`. Задачи двух продуктов не смешиваются: идентификатор задачи `/oks_data/jobs` по адресу `/cn_data/jobs/{id}` не найдётся (`404 job_not_found`), и наоборот. Список `GET /oks_data/jobs` показывает только задачи по объектам. ## Торги Продукт · подключается отдельно Торги по земельным участкам с torgi.gov.ru с 2024 года: аукционы по ЗК РФ, извещения о предоставлении участков без аукциона (ст. 39.18 ЗК) с отслеживанием, ушёл ли участок на торги, итоги и история торгов по участку. Поиск по региону, номеру, кварталу, статусу и датам; синхронизация своей копии по изменениям. Эндпоинты: `GET /torgi/lots`, `GET /torgi/lots/`, `GET /torgi/changes` ### GET /torgi/lots `GET /torgi/lots` Лоты torgi.gov.ru по земельным участкам в едином, уже разобранном JSON: аукционы по Земельному кодексу, сообщения о предоставлении участков по ст. 39.18 ЗК, продажа имущества должников, лесные аукционы. Фильтры передаются параметрами строки запроса, ответ — постраничный. > **Торги в интерфейсе:** те же данные на карте с ценой за сотку, аналитикой и карточками лотов — [service.zemelyabot.ru/deals](https://service.zemelyabot.ru/deals). С токеном, у которого подключены торги, там открывается кабинет с фильтрами, как у `/torgi/lots`. > **Вся база торгов за раз — платно.** Для тех, кому нужна не выборка, а полная копия: вся база торгов по земельным участкам одним файлом (JSON Lines, сжатый gzip) плюс ежедневные файлы изменений, чтобы держать копию актуальной. Файлы обновляются каждую ночь. Подключается отдельно от доступа к `/torgi/*` и оплачивается отдельно — напишите на sales@zemelyabot.ru или оставьте [заявку](https://zemelyabot.ru/zemelya-api/#form); инструкцию по скачиванию пришлём вместе с доступом. > **Что такое сообщения по ст. 39.18.** Это извещения о предоставлении участка без аукциона. Гражданин или фермер просит участок для ИЖС, ЛПХ, садоводства или фермерского хозяйства, и администрация публикует извещение: кто ещё хочет этот участок — подавайте заявление. Если других заявлений нет, участок предоставляют заявителю без торгов; если есть — администрация обязана провести аукцион. Поэтому у таких лотов нет начальной цены и площадки, а исход мы отслеживаем сами: `auction_announced` — по участку назначен аукцион (он попадёт в `history.related`), `probably_granted` — аукциона нет через полгода, участок, вероятно, предоставлен заявителю. В выдаче такие лоты — `procedure.type = zk_notice_39_18`. > **Доступ подключается отдельно.** Данные торгов доступны токенам, для которых включён этот раздел; иначе вернётся `403 torgi_not_allowed`. Запросы к торгам **не списываются** с лимита подписки `/cn_data`; ограничения — rate limit на запросы в минуту и **суточный лимит лотов** (по умолчанию 20 000 **разных** лотов в сутки по Москве; повторно полученный за сутки лот лимит не тратит): считаются лоты в ответах `/torgi/lots`, `/torgi/changes`, карточки `/torgi/lots/{id}` и точки `/torgi/stats?points=1`; аналитика без точек лимит не тратит. Сверх лимита — `429 torgi_daily_limit_exceeded`. Нужно больше — напишите нам, лимит меняется на токен. **Свежесть данных.** База обновляется раз в сутки, цикл стартует в 01:00 МСК — отставание от torgi.gov.ru до одних суток. Для «живой» проверки конкретного лота в ответе есть ссылка `url` на его страницу. История лотов догружается с октября 2025 года; пока загрузка не завершена, части старых лотов в выдаче может не быть. *Примеры запросов · cURL* ``` # Активные торги в Смоленской области, ближайшее окончание приёма заявок — первым curl -G "https://service.zemelyabot.ru/torgi/lots" \ -H "Authorization: Bearer <ваш_токен>" \ -d region=67 \ -d status=active \ -d sort=application_end # Все торги по участку (раньше и сейчас), только статус, цены и история curl -G "https://service.zemelyabot.ru/torgi/lots" \ -H "Authorization: Bearer <ваш_токен>" \ -d cad_num=67:15:0020401:2978 \ -d fields=status,prices,history # Аренда участков до 2500 м², опубликованных в марте 2025 curl -G "https://service.zemelyabot.ru/torgi/lots" \ -H "Authorization: Bearer <ваш_токен>" \ -d region=67 \ -d deal_type=rent \ -d object_kind=land_plot \ -d area_max=2500 \ -d published_from=2025-03-01 \ -d published_to=2025-03-31 # Карточка одного лота с полной историей торгов по участку curl -G "https://service.zemelyabot.ru/torgi/lots/25000005060000000035_3" \ -H "Authorization: Bearer <ваш_токен>" ``` Параметры можно передавать прямо в адресе (`/torgi/lots?region=67&status=active`) — в примерах они вынесены в `-d` только для читаемости; с ключом `-G` curl сам добавит их в строку запроса. #### Параметры запроса Обязателен хотя бы один из сужающих фильтров — `region`, `cad_num`, `cad_quarter` или `lot_ids`, иначе `400 missing_filter`. Списки — через запятую. Неизвестный параметр отклоняется (`400 unknown_parameter`), а не игнорируется: опечатка в имени фильтра не превратится молча в выдачу без фильтра. | Параметр | Пример | Описание | |---|---|---| | region | 67,50 | Коды субъектов РФ, до 10 | | cad_num | 67:15:0020401:2978 | Лоты по участку, в том числе лоты из нескольких участков. Запись квартала с нулём и без равнозначна: `67:15:0020401:2978` = `67:15:020401:2978` | | cad_quarter | 67:15:0020401 | Лоты в кадастровом квартале — и с номером, и ещё не образованные участки (квартал из описания лота). Ведущие нули не важны, как и у `cad_num` | | lot_ids | A_1,B_2 | Конкретные лоты, до 100 | | status | active | `active` — опубликован, приём заявок, определение победителя (кроме лотов, где итоги давно не опубликованы); `final` — состоялся, не состоялся, отменён; `result_overdue` — итоги не опубликованы больше 60 дней (см. `result.result_overdue`); либо коды статусов: `PUBLISHED`, `APPLICATIONS_SUBMISSION`, `DETERMINING_WINNER`, `SUCCEED`, `FAILED`, `CANCELED` | | object_kind | land_plot | Что продаётся: `land_plot` — участок, `land_share` — доля в праве, `forest_plot` — лесной участок, `forest_stands` — лесные насаждения, `nto_placement` — право разместить нестационарный торговый объект. Два последних — не земля. По умолчанию — все | | procedure | zk_auction | `zk_auction` — аукцион по ЗК РФ, `zk_notice_39_18` — сообщение о предоставлении по ст. 39.18 ЗК, `debtor_property_229fz` — имущество должников, `forest_auction` — лесной аукцион, `other` | | deal_type | rent | `sale` — продажа или `rent` — аренда | | published_from published_to | 2025-03-01 | Дата первой публикации, включительно, по московскому времени | | application_end_from application_end_to | 2026-11-01 | Дата окончания приёма заявок, включительно, по московскому времени — для подборок «скоро торги» | | price_min price_max | 100000 | Начальная цена, ₽ | | area_min area_max | 2500 | Площадь, м² | | outcome | auction_announced | Исход сообщения по ст. 39.18 (см. `result.outcome` ниже) | | failure_reason | no_bids | Причина, по которой торги не состоялись: `no_applications`, `single_application`, `fewer_than_two`, `none_admitted`, `single_admitted`, `no_participants`, `no_bids`, `other` (расшифровка — в блоке result) | | permitted_use | izhs,lph | Назначение по коду ВРИ, через запятую: `izhs` (ИЖС), `lph` (ЛПХ), `garden` (садоводство, огородничество), `agro` (сельхоз), `housing` (любая жилая), `commerce`, `industry`, `garage`, `recreation`. Лоты, у которых ВРИ указан только текстом, без кода, этим фильтром не находятся | | sort | -published_at | `published_at`, `application_end`, `price_start`, `area_m2`; минус впереди — по убыванию. По умолчанию `-published_at` (новые первыми) | | page page_size | 1, 50 | Номер страницы с 1 и её размер — до 100, по умолчанию 50. Глубина листания — первые 10 000 лотов выборки; для больших объёмов сузьте фильтр | | fields | status,prices | Вернуть только эти блоки объекта лота (`id` приходит всегда). Без параметра — лот целиком | #### Ответ *200 OK · response.json (сокращено)* ```json { "meta": { "filters": { "region": ["67"], "sort": "-published_at" }, "total": 3079, "total_exact": true, "page": 1, "page_size": 50, "generated_at": "2026-10-12T13:47:46+03:00", "data_as_of": "2026-10-12T00:29:00+00:00" }, "items": [ { "id": "25000005060000000035_3", "url": "https://torgi.gov.ru/new/public/lots/lot/25000005060000000035_3", "notice_number": "25000005060000000035", "lot_number": 3, "name": "земельный участок", "object_kind": "land_plot", "region": { "code": "67", "name": "Смоленская область" }, "status": { "code": "PUBLISHED", "name": "Опубликован" }, "procedure": { "type": "zk_auction", "deal_type": "sale", "bidd_type": { "code": "ZK", "name": "Аренда и продажа земельных участков" }, "bidd_form": { "code": "EA", "name": "Электронный аукцион" }, "lease_term": null, "price_period": "once", ... }, "land": { "cadastral_number": "67:20:0890101:156", "cadastral_numbers": ["67:20:0890101:156"], "address": "обл. Смоленская, м.о. Темкинский, д. Нижнее Болваново", "area_m2": 616.0, "permitted_use": [{ "code": null, "name": "Ведение огородничества" }], "land_category": "Земли населенных пунктов", ... }, "organizer": { "name": "АДМИНИСТРАЦИЯ МО \"ТЕМКИНСКИЙ МУНИЦИПАЛЬНЫЙ ОКРУГ\"", "inn": "6700027457", ... }, "dates": { "published_at": "2026-10-09T13:54:11.144Z", "application_start": "2026-10-12T06:00:00Z", "application_end": "2026-11-09T14:00:00Z", "auction_at": "2026-11-12T07:00:00Z", "updated_at": "2026-10-09T13:55:05.641Z" }, "prices": { "currency": "RUB", "start": 43700.0, "final": null, "growth_pct": null, ... }, "result": { "applications_count": null, "failure_reason": null, "outcome": null, ... }, "documents": [ { "scope": "notice", "type": "Draft_Contract", "type_name": "Проект договора", "name": "Проект Договора купли-продажи.docx", "url": "https://torgi.gov.ru/new/file-store/v1/...", "size": 43414, "uploaded_at": "2026-10-09T13:48:34.137+00:00" } ], "history": { "is_repeat": false, "previous_notices": [{ "id": "25000005060000000034_3", "method": "cadastral", "status": "CANCELED" }], "next_lots": [], ... }, "data_warnings": [], "see_documents": ["restrictions"], "changed_at": "2026-10-09T18:45:19.817706+00:00" } ] } ``` | Поле meta | Тип | Описание | |---|---|---| | filters | object | Применённые фильтры в том виде, как их понял сервер (коды регионов дополнены нулём, сортировка — с умолчанием) | | total | integer | Сколько лотов подходит под фильтр. Считается до 10 000: если больше — `10000` и `total_exact: false` | | total_exact | boolean | `true` — `total` точный | | page page_size | integer | Текущая страница и её размер | | generated_at | string | Время формирования ответа, ISO 8601 | | data_as_of | string null | Когда закончилось последнее суточное обновление базы, ISO 8601. Данные в ответе не новее этого момента. `null` — время сейчас недоступно | #### Карточка лота `GET /torgi/lots/` Тот же объект лота, что и в списке, плюс `history.related` — все торги по этому участку, раньше и позже: повторный аукцион после несостоявшегося, аукцион после сообщения по ст. 39.18. Принимает только параметр `fields`. Лота нет — `404 lot_not_found`. *history.related* ```json [ { "id": "25000005060000000034_3", "direction": "previous", "method": "cadastral", "in_database": true, "url": "https://torgi.gov.ru/new/public/lots/lot/25000005060000000034_3", "status": { "code": "CANCELED", "name": "Отменён" }, "procedure_type": "zk_auction", "published_at": "2026-10-09T12:31:07.900000+00:00", "prices": { "start": 43700.0, "final": null, "growth_pct": null } } ] ``` | Поле | Тип | Описание | |---|---|---| | direction | string | `previous` — более ранние торги, `next` — более поздние | | method | string | Как найдена связь: `torgi` — указал организатор; `cadastral` — тот же кадастровый номер; `quarter_area` — тот же кадастровый квартал, площадь (±5 %) и организатор у участка без номера. Последний способ **менее надёжен** | | in_database | boolean | `false` — связанные торги старше истории базы: известны только идентификатор, способ связи и ссылка, остальные поля — `null` | #### Объект лота Объект лота одинаков в списке и в карточке. Раскройте блок, чтобы увидеть все его поля и пример. Пустое значение — `null`. Даты — ISO 8601 в UTC, цены — в рублях, площадь — в м². ##### `id, url, name, …` — Идентификация лота | Поле | Тип | Описание | |---|---|---| | id | string | Идентификатор лота на torgi.gov.ru: `<номер извещения>_<номер лота>`. По нему запрашивается карточка `/torgi/lots/` | | url | string | Страница лота на torgi.gov.ru — для «живой» проверки и перехода пользователя | | notice_number | string | Номер извещения. В одном извещении бывает несколько лотов — у них общий номер | | lot_number | integer | Номер лота внутри извещения | | name | string | Наименование лота, как его написал организатор. Часто короткое («земельный участок») — характеристики участка смотрите в `land` | | object_kind | string | Что продаётся: `land_plot` — земельный участок; `land_share` — доля в праве на участок; `forest_plot` — лесной участок (аренда); `forest_stands` — лесные насаждения (древесина на корню, **не земля**); `nto_placement` — право разместить нестационарный торговый объект: киоск, павильон (**не аренда участка**) | | changed_at | string | Когда запись о лоте последний раз изменилась у нас, ISO 8601. Учитывает и смену исхода ст. 39.18. Удобно для сверки своей копии: если не изменилось — лот можно не обновлять | Пример ответа: ```json { "id": "25000005060000000035_3", "url": "https://torgi.gov.ru/new/public/lots/lot/25000005060000000035_3", "notice_number": "25000005060000000035", "lot_number": 3, "name": "земельный участок", "object_kind": "land_plot", "changed_at": "2026-10-09T18:45:19.817706+00:00" } ``` ##### `region` — Субъект РФ | Поле | Тип | Описание | |---|---|---| | region.code | string | Код субъекта РФ — две цифры, как в начале кадастрового номера: `67` — Смоленская область, `50` — Московская | | region.name | string | Название субъекта | Пример ответа: ```json { "region": { "code": "67", "name": "Смоленская область" } } ``` ##### `status` — Статус торгов | Поле | Тип | Описание | |---|---|---| | status.code | string | Код статуса — см. таблицу ниже | | status.name | string | Статус по-русски, для показа пользователю | **Коды статусов** | Код | Название | Что значит | |---|---|---| | PUBLISHED | Опубликован | Извещение опубликовано, приём заявок ещё не начался | | APPLICATIONS_SUBMISSION | Приём заявок | Идёт приём заявок | | DETERMINING_WINNER | Определение победителя | Заявки приняты, идут торги или подведение итогов | | SUCCEED | Состоялся | Торги завершены, есть победитель. У сообщения по ст. 39.18 — только истёк срок приёма заявлений, см. `result.outcome` | | FAILED | Не состоялся | Торги признаны несостоявшимися — причина в `result.failure_reason` | | CANCELED | Отменён | Извещение отменено организатором — подробности в `history.cancellation` | Первые три статуса — активные (фильтр `status=active`), последние три — итоговые (`status=final`). Тысячи лотов стоят в `DETERMINING_WINNER` месяцами: организатор не публикует протокол итогов, и на torgi.gov.ru статус тот же. Статус мы не меняем — это данные источника, — но такие лоты помечены `result.result_overdue = true` и **не** попадают в `status=active`. Найти их — `status=result_overdue`; явный код `status=DETERMINING_WINNER` отдаёт все лоты статуса. Пример ответа: ```json { "status": { "code": "SUCCEED", "name": "Состоялся" } } ``` ##### `procedure` — Вид торгов и условия договора | Поле | Тип | Описание | |---|---|---| | procedure.type | string | Укрупнённый тип процедуры: `zk_auction` — аукцион по Земельному кодексу; `zk_notice_39_18` — сообщение о предоставлении участка по ст. 39.18 ЗК (без аукциона, если не поступят заявления других лиц); `debtor_property_229fz` — продажа имущества должника (229-ФЗ); `forest_auction` — лесной аукцион; `other` — прочее | | procedure.deal_type | string null | `sale` — продажа в собственность, `rent` — аренда | | procedure.bidd_type.code | string | Код вида торгов по справочнику torgi.gov.ru: `ZK` — земельный кодекс, `229FZ`, `200FZ` и т. д. | | procedure.bidd_type.name | string | Название вида торгов | | procedure.bidd_form.code | string | Код формы проведения: `EA` — электронный аукцион, `PA` — аукцион, `IPS` — сообщение о предоставлении (ст. 39.18) | | procedure.bidd_form.name | string | Название формы проведения | | procedure.contract_type | string null | Вид договора, как его указал организатор: «Договор аренды земельного участка», «Договор купли-продажи» | | procedure.lease_term | object null | Срок аренды. `null` — у продажи и когда срок не указан | | procedure.lease_term.years | integer null | Лет | | procedure.lease_term.months | integer null | Месяцев | | procedure.lease_term.days | integer null | Дней | | procedure.lease_term.text | string null | Срок, как его написал организатор, если он указан текстом («10 лет», «до 31.12.2030») | | procedure.price_period | string null | За что указана цена: `once` — разово (продажа), `year` — в год (аренда по ЗК), `month` — в месяц, `total` — за весь срок аренды. `null` — цены нет (ст. 39.18) | | procedure.price_period_source | string null | `text` — указано организатором в лоте или извещении; `rule` — выведено по виду торгов | | procedure.only_for | array null | Кто может участвовать — коды в таблице ниже; `[]` — без ограничений | | procedure.electronic_platform | object null | Электронная площадка, на которой проходят торги. `null` — у сообщений по ст. 39.18 и бумажных аукционов | | procedure.electronic_platform.code | string | Код площадки на torgi.gov.ru: `ETP_SBAST` — Сбербанк-АСТ, `ETP_RTS` — РТС-тендер и т. д. | | procedure.electronic_platform.url | string null | Карточка процедуры на площадке — туда подаётся заявка | **Значения only_for** | Код | Кто может участвовать | |---|---| | citizens | Граждане | | farms | Крестьянские (фермерские) хозяйства | | agricultural_orgs | Сельскохозяйственные организации | | small_business | Субъекты малого и среднего предпринимательства | Пустой список `[]` — ограничений нет. Пример ответа: ```json { "procedure": { "type": "zk_auction", "deal_type": "rent", "bidd_type": { "code": "ZK", "name": "Аренда и продажа земельных участков" }, "bidd_form": { "code": "EA", "name": "Электронный аукцион" }, "contract_type": "Договор аренды земельного участка", "lease_term": { "years": 20, "months": null, "days": null, "text": null }, "price_period": "year", "price_period_source": "rule", "only_for": [], "electronic_platform": { "code": "ETP_SBAST", "url": "https://utp.sberbank-ast.ru/AP/NBT/PurchaseView/21/0/0/2881875" } } } ``` ##### `land` — Земельный участок | Поле | Тип | Описание | |---|---|---| | land | object null | `null` у лесных насаждений и НТО (`object_kind` = `forest_stands` / `nto_placement`) — там продаётся не земля | | land.cadastral_number | string null | Кадастровый номер, как указан в лоте. Если участков несколько — через «; ». `null` — участок ещё не образован | | land.cadastral_numbers | array | Те же номера списком — удобнее для сопоставления с вашими данными | | land.cadastral_quarter | string null | Кадастровый квартал из описания — только у участков без номера (ещё не поставлены на учёт) | | land.address | string null | Адрес или местоположение участка | | land.area_m2 | number null | Площадь, м² | | land.permitted_use[] | array | Виды разрешённого использования (ВРИ) | | land.permitted_use[].code | string null | Код ВРИ по классификатору: `2.1` — ИЖС, `2.2` — ЛПХ, `13.2` — садоводство и т. д. `null` — организатор указал вид только текстом | | land.permitted_use[].name | string | Название вида | | land.land_category | string null | Категория земель: земли населённых пунктов, сельхозназначения и т. д. | | land.ownership_form | string null | Форма собственности: государственная неразграниченная, муниципальная, собственность субъекта РФ и т. д. | | land.restrictions | string null | Ограничения прав на участок. `null` — не указаны или организатор отослал к документам (тогда `restrictions` есть в `see_documents`) | | land.location | object null | Точка участка на карте torgi.gov.ru: `{lat, lon}`, WGS84. `null` — организатор её не поставил | Пример ответа: ```json { "land": { "cadastral_number": "67:15:0020401:2978", "cadastral_numbers": [ "67:15:0020401:2978" ], "cadastral_quarter": null, "address": "обл Смоленская, м.о. Рославльский, с Екимовичи, ул Дачная", "area_m2": 2500.0, "permitted_use": [ { "code": "2.1", "name": "Для индивидуального жилищного строительства" } ], "land_category": "Земли населенных пунктов", "ownership_form": "Государственная собственность (неразграниченная)", "restrictions": "Согласно извещения", "location": { "lat": 54.122278, "lon": 33.28383 } } } ``` ##### `organizer` — Организатор торгов | Поле | Тип | Описание | |---|---|---| | organizer.name | string null | Наименование организатора — обычно администрация муниципалитета или региональное ведомство | | organizer.inn | string null | ИНН организатора | | organizer.phone | string null | Контактный телефон, как указан в извещении | | organizer.email | string null | Контактный e-mail | Пример ответа: ```json { "organizer": { "name": "АДМИНИСТРАЦИЯ МУНИЦИПАЛЬНОГО ОБРАЗОВАНИЯ \"РОСЛАВЛЬСКИЙ МУНИЦИПАЛЬНЫЙ ОКРУГ\" СМОЛЕНСКОЙ ОБЛАСТИ", "inn": "6700027263", "phone": "74813441150", "email": "administrator@roslavl.ru" } } ``` ##### `dates` — Ключевые даты Все даты — строки ISO 8601 в UTC (окончание `Z`). Чтобы показать московское время, прибавьте 3 часа. | Поле | Тип | Описание | |---|---|---| | dates.published_at | string null | Первая публикация лота | | dates.application_start | string null | Начало приёма заявок | | dates.application_end | string null | Окончание приёма заявок — главная дата для участника | | dates.auction_at | string null | Дата и время проведения торгов | | dates.updated_at | string null | Последнее событие по лоту на torgi.gov.ru: правка извещения, протокол, отмена | Пример ответа: ```json { "dates": { "published_at": "2026-10-09T13:54:11.144Z", "application_start": "2026-10-12T06:00:00Z", "application_end": "2026-11-09T14:00:00Z", "auction_at": "2026-11-12T07:00:00Z", "updated_at": "2026-10-09T13:55:05.641Z" } } ``` ##### `prices` — Цены | Поле | Тип | Описание | |---|---|---| | prices.currency | string | Валюта, всегда `RUB` | | prices.start | number null | Начальная цена. За что именно — продажа, год аренды, весь срок — см. `procedure.price_period`. У сообщений по ст. 39.18 цены нет | | prices.final | number null | Итоговая цена по результатам торгов | | prices.growth_pct | number null | Рост цены на торгах, % (`final / start − 1`). Есть, только когда известны обе цены | | prices.step | number null | Шаг аукциона, ₽ | | prices.deposit | number null | Размер задатка, ₽ | Пример ответа: ```json { "prices": { "currency": "RUB", "start": 144516.9, "final": 890224.62, "growth_pct": 516.0, "step": 4335.51, "deposit": 72258.45 } } ``` ##### `result` — Итоги торгов В примере — аукцион, на который подали четыре заявки, но торговаться пришёл один участник: торги не состоялись, договор заключается с ним по его цене. | Поле | Тип | Описание | |---|---|---| | result.applications_count | integer null | Число поданных заявок | | result.admitted_count | integer null | Допущено к торгам — по протоколам. `null` — протоколов с участниками нет | | result.rejected_count | integer null | Не допущено | | result.failure_reason | object null | Почему торги не состоялись. `null` — состоялись, ещё идут или отменены | | result.failure_reason.code | string null | Код причины — см. таблицу ниже. `null` — причину не удалось распознать по тексту | | result.failure_reason.text | string | Причина, как её записал организатор в протоколе | | result.winner | object null | Победитель — участник с первым местом (`participants[].place = 1`) | | result.winner.type | string null | Тип участника — как `participants[].type` | | result.winner.name | string null | Наименование. `null` у физических лиц | | result.winner.inn | string null | ИНН. `null` у физических лиц | | result.winner.price | number null | Предложение победителя, ₽ | | result.second_price | number null | Предложение участника, занявшего второе место, ₽ | | result.outcome | object null | Чем закончилось сообщение по ст. 39.18. Есть только у `procedure.type = zk_notice_39_18`, у остальных — `null` | | result.outcome.code | string | `auction_announced` — поступили заявления других лиц, по участку назначен аукцион; `probably_granted` — аукциона нет через полгода после окончания приёма заявлений: вероятно, участок предоставлен заявителю (это **вывод**, решение о предоставлении в открытых данных не публикуется); `pending` — приём заявлений идёт или полгода не прошло; `cancelled` — сообщение отменено | | result.outcome.auction_lot_id | string null | Найденный аукцион по участку — его можно запросить через `/torgi/lots/` | | result.outcome.confidence | string null | `high` — уверенно; `low` — аукцион найден по кварталу и площади, а не по номеру, или у участка нет номера и аукцион могли не найти | | result.result_overdue | boolean | Итоги не опубликованы: статус `DETERMINING_WINNER`, а с даты аукциона (если её нет — с окончания приёма заявок) прошло больше 60 дней. Торги, скорее всего, давно прошли, но протокол организатор не выложил. Считается на момент запроса, поэтому лот может стать `true` без изменения `revised_at` — в `/torgi/changes` такой переход не попадает. У остальных статусов — `false` | **Коды причин неудачи — result.failure_reason.code и фильтр failure_reason** | Код | Что значит | |---|---| | no_applications | Заявок не было | | single_application | Подана одна заявка или к торгам вышел один участник | | fewer_than_two | Заявок «менее двух» — 0 или 1, точнее организатор не указал | | none_admitted | Ни одного участника не допустили | | single_admitted | Допущен только один участник | | no_participants | На аукцион никто не явился | | no_bids | Предложений о цене не было | | other | Другая причина — смотрите `text` | Код определяется по тексту протокола. У отменённых торгов причины неудачи нет — `failure_reason` = `null`, причина отмены в `history.cancellation`. Пример ответа: ```json { "result": { "applications_count": 4, "admitted_count": 4, "rejected_count": 0, "failure_reason": { "code": "single_application", "text": "В аукционе участвовал только один участник." }, "winner": { "type": "individual", "name": null, "inn": null, "price": 12286.05 }, "second_price": null, "outcome": null, "result_overdue": false } } ``` ##### `participants` — Участники торгов В примере имя и ИНН индивидуального предпринимателя заменены на вымышленные. | Поле | Тип | Описание | |---|---|---| | participants | array null | Заявки участников по протоколам. `null` — протоколов с участниками нет (торги ещё идут, заявок не было или протокол не опубликован) | | [].application_number | string null | Номер заявки | | [].type | string null | `individual` — физическое лицо (в том числе иностранный гражданин); `individual_entrepreneur` — ИП; `legal_entity` — организация; `null` — тип не указан | | [].name | string null | Наименование участника. **У физических лиц и участников без типа всегда `null`** — персональные данные не передаются | | [].inn | string null | ИНН — по тому же правилу, что и `name` | | [].admission | string null | `admitted` — допущен, `rejected` — не допущен, `null` — не указано. По последнему протоколу | | [].rejection_reason | string null | Почему не допущен — только у `rejected` | | [].deposit_paid | boolean null | Внесён ли задаток | | [].price | number null | Предложение участника на торгах, ₽ | | [].place | integer null | `1` — победитель, `2` — второе место, `null` — без места | Пример ответа: ```json { "participants": [ { "application_number": "6983", "type": "individual_entrepreneur", "name": "ИП Иванова Мария Петровна", "inn": "670000000000", "admission": "admitted", "rejection_reason": null, "deposit_paid": null, "price": 890224.62, "place": 1 }, { "application_number": "5068", "type": "individual", "name": null, "inn": null, "admission": "admitted", "rejection_reason": null, "deposit_paid": null, "price": 885889.11, "place": 2 } ] } ``` ##### `documents` — Документы лота и извещения Протоколы торгов torgi.gov.ru в открытом доступе не отдаёт — их в списке нет; итоги из протоколов — в `result` и `participants`. | Поле | Тип | Описание | |---|---|---| | documents[].scope | string | `lot` — файл лота, `notice` — файл извещения (общий для всех лотов извещения) | | documents[].type | string null | Тип файла: `Scheme_location_ZU` — схема расположения участка; `Auction_Document` — документация аукциона; `Draft_Contract` — проект договора; `Application_Form` — форма заявки; `Lot_Document` — документация лота; `Other` — прочее. У фотографий — `null` | | documents[].type_name | string null | Тип файла по-русски | | documents[].name | string | Имя файла, как его загрузил организатор | | documents[].url | string | Ссылка на скачивание с torgi.gov.ru | | documents[].size | integer null | Размер, байт | | documents[].uploaded_at | string null | Когда файл загружен | Пример ответа: ```json { "documents": [ { "url": "https://torgi.gov.ru/new/file-store/v1/6ac8f0b3f0ae127e197353c1", "name": "Проект Договора купли-продажи земельного участка.docx", "size": 43414, "type": "Draft_Contract", "scope": "notice", "type_name": "Проект договора", "uploaded_at": "2026-10-09T13:48:34.137+00:00" } ] } ``` ##### `history` — Торги по тому же участку Пример — извещение, которое отменили и через полтора часа опубликовали заново: связь есть, но повторными торгами это не считается. | Поле | Тип | Описание | |---|---|---| | history.is_repeat | boolean | **Повторные торги**: участок уже выставлялся, и те торги завершились — не состоялись (`FAILED`) или состоялись (`SUCCEED`), а участок снова на торгах. Отменённое извещение (`CANCELED`) повтором не считается: организатор часто снимает извещение и перевыпускает его в тот же день | | history.previous_notices[] | array | Более ранние торги по участку | | history.next_lots[] | array | Более поздние торги по участку | | …[].id | string | Идентификатор связанного лота | | …[].method | string | Как найдена связь: `torgi` — указал организатор; `cadastral` — тот же кадастровый номер; `quarter_area` — тот же квартал, площадь (±5 %) и организатор у участка без номера — **менее надёжно** | | …[].status | string null | Код статуса связанных торгов; `null` — они старше истории базы | | history.related[] | array | Только в карточке `/torgi/lots/`: все торги по участку с подробностями — `direction` (`previous` / `next`), `method`, `in_database`, `url`, `status` `{code, name}`, `procedure_type`, `published_at`, `prices` `{start, final, growth_pct}`. Подробнее — в разделе «Карточка лота» | | history.suspended | boolean null | `true` — торги приостановлены (например, по предписанию антимонопольной службы) | | history.cancellation | object null | Сведения об отмене. `null` — торги не отменялись | | history.cancellation.date | string null | Когда отмена опубликована | | history.cancellation.decision_date | string null | Дата решения об отмене | | history.cancellation.reason | string null | Причина отмены | | history.cancellation.details | string null | Подробности, как их написал организатор | Пример ответа: ```json { "history": { "is_repeat": false, "previous_notices": [ { "id": "25000005060000000034_3", "method": "cadastral", "status": "CANCELED" } ], "next_lots": [], "suspended": false, "cancellation": null } } ``` ##### `data_warnings, see_documents` — Пометки о качестве данных | Поле | Тип | Описание | |---|---|---| | data_warnings | array null | Противоречия в данных организатора; данные не исправляются, только помечаются. `permitted_use_not_for_39_18` — сообщение по ст. 39.18 с ВРИ, для которого такая процедура не предусмотрена | | see_documents | array null | Поля, вместо значения которых организатор написал «согласно извещению»: `restrictions`, `lease_term`. Их значение ищите в `documents` | Пример ответа: ```json { "data_warnings": [], "see_documents": [ "restrictions" ] } ``` ### GET /torgi/stats `GET /torgi/stats` Аналитика по той же выборке, что вернул бы `GET /torgi/lots` с теми же фильтрами (без `page`, `page_size`, `sort`, `fields`): сколько лотов в каждом статусе, цена за сотку, рост цены на аукционе, конкуренция, причины несостоявшихся торгов, помесячная динамика и чаще всего побеждающие юрлица. С `points=1` — ещё и лёгкие точки для карты (до 3000 самых свежих лотов, `points_truncated` = `true`, если обрезано). Лимит — 20 запросов в минуту на токен. > **Продажа и аренда — отдельно.** У аренды цена — годовая плата, поэтому `prices.sale` и `prices.rent` считаются раздельно. В ценовую статистику не входят сообщения по ст. 39.18 (цены у них нет), лесные насаждения и НТО, аренда с платой не за год и лоты без цены или площади — сравните `prices.*.count` с `meta.total`. *Пример · cURL* ``` curl -G "https://service.zemelyabot.ru/torgi/stats" \ -H "Authorization: Bearer <ваш_токен>" \ -d region=50 -d status=final -d permitted_use=izhs { "meta": { "total": 1842, "data_as_of": "2026-10-12T00:29:00+00:00", ... }, "status": { "active": 0, "succeed": 1210, "failed": 590, "canceled": 42, "result_overdue": 0, ... }, "prices": { "sale": { "count": 640, "price_period": "once", "start_per_sotka": { "p10": 9800, "p25": 21000, "median": 48000, "p75": 96000, "p90": 180000 }, "final_count": 410, "final_per_sotka": { "median": 115000, ... }, "growth_pct_median": 86.0, "growth_pct_avg": 240.5 }, "rent": { ... то же, ₽/сотка в год } }, "competition": { "finished": 1800, "applications_avg": 2.7, "single_application_pct": 31.4, "no_applications_pct": 18.2, ... }, "procedures": { "zk_auction": 1500, "zk_notice_39_18": 342 }, "failure_reasons": { "single_application": 310, "no_applications": 220, ... }, "monthly": [{ "month": "2026-09", "count": 160, "succeed": 104, "sale_median_per_sotka": 51000, "rent_median_per_sotka": 2900 }, ...], "top_winners": [{ "name": "ООО …", "inn": "50…", "type": "legal_entity", "wins": 14, "total_price": 38200000 }], "points": [{ "id": "…_1", "lat": 55.91, "lon": 37.41, "status": "SUCCEED", "deal_type": "sale", "price_start": 640000, "price_final": 1210000, "area_m2": 1200, "price_per_sotka": 53333, "address": "…" }], "points_truncated": false } ``` Ошибки — те же, что у `/torgi/lots`: `missing_filter`, `unknown_parameter`, `invalid_parameter`, `torgi_not_allowed`, `torgi_unavailable`, `rate_limit_exceeded`, `torgi_daily_limit_exceeded` (только с `points=1`). Физлица в `top_winners` не попадают никогда. ### GET /torgi/changes `GET /torgi/changes` Для тех, кто держит копию базы торгов у себя: отдаёт лоты, изменившиеся после вашей отметки, — новые, с новым статусом, протоколом, исходом ст. 39.18 или новой связью с другими торгами. Лоты никогда не удаляются, поэтому удалений в выдаче нет: меняется только статус. > **Курсор вместо страниц.** Первый запрос — с `since`, дальше — с `cursor` из `meta.next_cursor` прошлого ответа. Курсор приходит **всегда**, даже когда изменений нет: сохраните его и завтра продолжите с него — ничего не потеряется и не повторится. Пока `has_more` = `true`, сразу запрашивайте следующую страницу. *Пример · cURL* ``` # Первый запрос: всё, что изменилось после отметки (часовой пояс обязателен) curl -G "https://service.zemelyabot.ru/torgi/changes" \ -H "Authorization: Bearer <ваш_токен>" \ --data-urlencode "since=2026-10-12T00:00:00+03:00" \ -d region=67 # Продолжение: курсор из meta.next_cursor прошлого ответа curl -G "https://service.zemelyabot.ru/torgi/changes" \ -H "Authorization: Bearer <ваш_токен>" \ -d cursor=eyJ0IjoiMjAyNi0xMC0xMlQy… \ -d region=67 ``` #### Параметры Нужен ровно один из `since` и `cursor`: оба сразу — `422 ambiguous_query`, ни одного — `400 missing_filter`. Другие параметры, кроме перечисленных, отклоняются (`400 unknown_parameter`). | Параметр | Пример | Описание | |---|---|---| | since | 2026-10-12T00:00:00+03:00 | Отметка времени ISO 8601 **с часовым поясом**: `2026-10-12T00:00:00+03:00` или `…Z`. Без пояса — `422 invalid_parameter`. В адресе «+» кодируйте как `%2B` (или используйте `--data-urlencode`) | | cursor | eyJ0Ijoi… | Строка из `meta.next_cursor` прошлого ответа, передаётся как есть. Повреждённая — `422 invalid_cursor` | | page_size | 500 | Лотов на странице, до 500, по умолчанию 100 | | region | 67,50 | Коды субъектов РФ через запятую — как в `/torgi/lots` | | object_kind | land_plot | Что продаётся — как в `/torgi/lots` | | procedure | zk_auction | Тип процедуры — как в `/torgi/lots` | | fields | status,prices | Только эти блоки лота; `id` и `revised_at` приходят всегда | > **Глубина — 35 дней.** Отметка или курсор старше — `422 since_too_old`: загрузите нужные лоты заново через `/torgi/lots` и продолжайте с момента начала загрузки (или возьмите полную выгрузку базы). **Задержка — 10 минут:** лот, изменившийся только что, появится в выдаче через 10 минут — так изменение, которое записывалось в момент вашего запроса, гарантированно не окажется позади курсора. #### Ответ *200 OK · response.json (сокращено)* ```json { "meta": { "filters": { "region": [ "67" ] }, "page_size": 100, "has_more": true, "next_cursor": "eyJ0IjoiMjAyNi0xMC0xMlQyMTo0Mjo1OC4xMjM0NTYrMDA6MDAiLCJpZCI6IjI1MDAwMDA1MDYwMDAwMDAwMDM1XzMifQ", "generated_at": "2026-10-13T06:05:12+03:00", "data_as_of": "2026-10-12T00:29:00+00:00" }, "items": [ { "id": "25000005060000000035_3", "status": { "code": "PUBLISHED", "name": "Опубликован" }, "…": "… все блоки объекта лота …", "revised_at": "2026-10-12T21:42:58.123456+00:00" } ] } ``` | Поле | Тип | Описание | |---|---|---| | items[] | array | Те же объекты лота, что в `/torgi/lots` (см. «Объект лота»), по возрастанию `revised_at` | | items[].revised_at | string | Когда лот последний раз изменился для API, ISO 8601. Обновляйте свою копию целиком по `id` | | meta.has_more | boolean | `true` — есть ещё изменения, запросите следующую страницу с `next_cursor` | | meta.next_cursor | string | Позиция после последнего лота страницы. При пустой странице — та же, что пришла. Сохраните — с неё продолжите в следующий раз | | meta.filters | object | Применённые фильтры | | meta.page_size | integer | Размер страницы | | meta.data_as_of | string null | Когда закончилось последнее суточное обновление базы | | meta.generated_at | string | Время формирования ответа | #### Как синхронизироваться Раз в сутки, после 06:00 МСК (к этому времени база обновлена): *Алгоритм* ``` # 1. Первый раз — запомнить время начала T и загрузить нужные лоты # через GET /torgi/lots (по регионам, кварталам, датам). # 2. Дальше каждый день: cursor = сохранённый курсор # в первый раз — since= повторять: ответ = GET /torgi/changes?cursor=… для каждого лота: заменить у себя запись с тем же id сохранить ответ.meta.next_cursor пока ответ.meta.has_more ``` Лот может прийти повторно (например, сразу после первой загрузки) — замена по `id` делает это безопасным. ### GET /statistics `GET /statistics` Возвращает статистику использования API по текущей подписке: лимит, потребление и сроки. *200 OK · response.json* ```json { "limit_requests": 1000, "current_requests": 247, "limit_end_time": "Tue, 30 Jun 2026 23:59:59 GMT", "last_used_at": "Thu, 28 May 2026 14:02:11 GMT" } ``` | Поле | Тип | Описание | |---|---|---| | limit_requests | integer | Общий лимит запросов по подписке | | current_requests | integer | Количество использованных запросов | | limit_end_time | string | Дата и время окончания подписки (RFC 1123, например `Thu, 28 May 2026 12:34:56 GMT`) | | last_used_at | string | Дата и время последнего запроса (RFC 1123, например `Thu, 28 May 2026 12:34:56 GMT`) | ### HTTP-статусы Все эндпоинты используют стандартные HTTP-коды. Тело ошибки — JSON с полем `error` (стабильный машинный код) и `message` (текст для пользователя); у ошибок параметров `/torgi/*` — ещё `details` с разбором, какой параметр и почему не принят. | Код | Описание | |---|---| | 200 | Успешный ответ с данными | | 202 | Задача на асинхронный сбор принята (`POST /cn_data/jobs`); результат забирается по `request_id` | | 204 | Участок не найден — по кадастровому номеру либо в указанной точке; для `/oks_data` — объект не найден | | 400 | Отсутствуют JSON-данные или обязательные поля запроса (нужен cad_num либо coords). Для `/torgi/lots` — не указан ни один сужающий фильтр (`missing_filter`) или передан неизвестный параметр (`unknown_parameter`) | | 401 | Требуется Bearer Token или токен невалидный / неактивный | | 403 | Для токена не подключён доступ к данным торгов (`torgi_not_allowed`) или к данным объектов капстроительства (`oks_not_enabled`) | | 415 | Запрос должен быть в формате JSON (Content-Type: application/json) | | 422 | Неверный формат кадастрового номера или координат; в запросе переданы сразу и cad_num, и coords; номер в `/cn_data` принадлежит зданию, помещению или сооружению (`not_a_land_plot`, используйте `/oks_data`), а в `/oks_data` — не объекту капстроительства (`not_an_oks`); параметр, который `/oks_data` не принимает (`unsupported_parameter`); неверный `use_cache` / `cache_ttl` / `neighbors_radius` (`invalid_neighbors_radius`) (в том числе `cache_ttl` без `use_cache: true`); неизвестное значение `status` в `GET /cn_data/jobs`; неверное значение параметра `/torgi/*` (`invalid_parameter`, подробности — в `details`); повреждённый курсор (`invalid_cursor`) или отметка старше 35 дней (`since_too_old`) в `/torgi/changes` | | 404 | Задача с таким `request_id` не найдена (в том числе если идентификатор принадлежит другому токену); лот торгов не найден (`lot_not_found`) | | 410 | Результат задачи хранился 24 часа и уже удалён — запрос нужно повторить | | 429 | Превышен rate limit, исчерпан лимит запросов подписки либо в очереди уже максимум незавершённых задач по токену; исчерпан суточный лимит данных торгов (`torgi_daily_limit_exceeded`: в ответе `limit`, `used` и `retry_after` — секунд до полуночи по Москве) | | 503 | Не удалось получить статус задачи (повторите запрос — код `job_status_unavailable`) либо асинхронный режим временно недоступен целиком — тогда используйте синхронный `POST /cn_data`; база торгов временно недоступна (`torgi_unavailable`, повторите запрос через `retry_after` секунд) |