Документация по API 3.0 сервиса APIROSREESTR.RU

для работы с Росреестром


Что такое API?

АPI - это интерфейс, который позволяет с помощью специального набора команд (функций) удаленно управлять каким-либо программным обеспечением (сервисом). Иначе говоря, API - это интерфейс прикладного программирования для интеграции одного программного обеспечения с другим (более подробно можно прочитать о том, что такое API здесь).


Для чего используют API?

API обычно используют для интеграции одной системы с другой, чтобы они взаимодействовали синхронно и обменивались данными.


О руководстве по использованию API.

Руководство содержит описание API сервиса APIROSREESTR.RU, а также информацию о том, как подключить и использовать сервис.

Руководство предназначено для веб-разработчиков, которые хотят добавить на страницы своих сайтов возможность получения сведений из Росреестра , а так же для разработчиков которые хотят встроить сервис в свои системы (CRM, CMS, и т.д.) .


Демо доступ, Демо аккаунт, Тестовые запросы.

Поскольку само API является бесплатным, то при интеграции API разработчику нет необходимости использовать какие либо демо или тестовые доступы, а так же тестовые запросы. При интеграции, разработчик в реальном времени может производить запросы и получать от Росреестра ответы с реальными данными. Оплата производится только при использовании методов Cadaster/Save_order и Reestr/Rightholders. В случае возникновения ошибок в процессе интеграции, в описании API имеется перечень возможных ошибок, их описание и методы устранения.


Принципы взаимодействия с сервисом ApiRosreestr.

Для обработки данных через API вашему приложению или веб-сайту необходимо отсылать нашему сервису соответствующие HTTP-запросы. В ответ на эти запросы сервис возвращает HTTP-сообщения, в теле которых содержится сам результат обработки. Запросы нужно отсылать методом POST.

Наш сервис работает с использованием SSL сертификата, что дает возможность быть уверенным в целостности полученных от нас данных.


Авторизация запросов.

Процесс авторизации запросов возможен при наличии персонального ключа (токена), которым в дальнейшем должен быть подписан каждый запрос к API.


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

Cadaster/Search — Поиск объектов

Возвращает список найденных объектов по ключевому запросу

HTTP запрос
POST   https://apirosreestr.ru/api/cadaster/search требуется авторизация по токену

Параметры запроса Значение Описание
query Кадастровый номер
46:29:101001:10

Адрес в произвольной форме
Курск, Косухина 38, кв 19

Адрес в разбитом виде
{
      "region_code": "46",    // номер региона, обязательно
      "raion": "Курск",    // название города или района
      "settlement": "",    // населенный пункт, без типа
      "street": "Косухина",    // улица, без указания типа
      "house": "38",    // номер дома
      "building": "",    // строение
      "block": "",    // корпус
      "flat": "19"    // квартира или помещение
}
Kадастровый номер или адрес
limit 0 — без ограничении (по умолчанию) Максимальное количество записей в списке.
grouped 0 — нет
1 — да
Группировать найденные объекты по типу. По умолчанию - 0
Пример HTTP запроса
POST /api/cadaster/search HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "query": "46:29:101001:10", "grouped": 0 }
POST /api/cadaster/search HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "query": "Курск, Косухина 38, кв 19", "grouped": 0 }
POST /api/cadaster/search HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "query": { "region_code": "46", "raion": "Курск", "settlement": "", "street": "Косухина", "house": "38", "building": "", "block": "", "flat": "19" }, "grouped": 0 }
POST /api/cadaster/search HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "query": "Москва, Зеленоград, Московский пр-кт, д.1 стр 9", "grouped": 1 }
POST /api/cadaster/search HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "query": { "region_code": "77", "raion": "Зеленоград", "settlement": "", "street": "Московский", "house": "1", "building": "9", "block": "", "flat": "" }, "grouped": 1 }
POST /api/cadaster/search HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "query": "Курская обл, Льговский р-н, село Речица, ул Пчельный", "grouped": 1 }
POST /api/cadaster/search HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "query": { "region_code": "46", "raion": "Льговский", "settlement": "Речица", "street": "Пчельный", "house": "", "building": "", "block": "", "flat": "" }, "grouped": 1 }

Ответ сервера
{
    "objects": [
        {
            "CADNOMER": "46:29:101001:10",
            "ADDRESS": "Курская область, г Курск, ул Ильича, д 48",
            "TYPE": "Земельный участок",
            "AREA": "1427.0 (квадратный метр)",
            "CATEGORY": "Земли населенных пунктов"
        }
    ],
    "found": 1,
    "region": "Курская область",
    "error": []
}
  Название   Тип   Описание
objects array Список найденных объектов
objects[n].CADNOMER string Кадастровый номер
objects[n].ADDRESS string Адрес
objects[n].TYPE string Тип объекта
objects[n].AREA string Площадь
objects[n].CATEGORY string Категория ЗУ
found int Количество найденных объектов
region string Регион где находится объект

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки

Cadaster/ObjectInfoFull — Информация об объекте

Возвращает сведения об объекте из ЕГРН, также список доступных документов для заказа

HTTP запрос
POST   https://apirosreestr.ru/api/cadaster/objectInfoFull требуется авторизация по токену

Параметры запроса Значение Описание
query Например:
46:29:101001:10
Только кадастровый номер

									
Ответ сервера
{
    "EGRN": {
        "object": {
            "CADNOMER": "46:29:101001:10",
            "ADDRESS": "Курская область, г Курск, ул Ильича, д 48",
            "TYPE": "Земельный участок",
            "AREA": "1427.0 (квадратный метр)",
            "CATEGORY": "Земли населенных пунктов"
        },
        "details": {
            "Тип объекта": "Земельный участок",
            "Кадастровый номер": "46:29:101001:10",
            "Статус объекта": "Ранее учтенный",
            "Дата постановки на кадастровый учет": "20.12.2001",
            "Категория земель": "Земли населенных пунктов",
            "Разрешенное использование": "Для индивидуальной жилой застройки",
            "Площадь": "1427",
            "Единица измерения (код)": "Квадратный метр",
            "Кадастровая стоимость": "1167214,65",
            "Дата определения стоимости": "19.02.2016",
            "Дата внесения стоимости": "10.12.2016",
            "Дата утверждения стоимости": "10.12.2016",
            "Адрес (местоположение)": "обл. Курская, г. Курск, ул. Ильича, дом 48",
            "Дата обновления информации": "10.12.2016",
            "Форма собственности": "Частная",
            "Количество правообладателей": "2",
            "Кадастровый инженер": "Краснобородько Кирилл Александрович (аттестат 46-14-207)"
        }
    },
    "region": "Курская область",
    "documents": {
        "XZP": {
            "label": "Выписка из ЕГРН об объекте недвижимости",
            "available": true,
            "price": 0
        },
        "SOPP": {
            "label": "Выписка о переходе прав на объект недвижимости",
            "available": true,
            "price": 0
        },
        "KPT": {
            "label": "Кадастровый план территории",
            "available": false,
            "price": 200
        }
    },
    "encoded_object": "f9JiNxAjMuITMuATMiojI4CNuQbY0wCNvQDY0+CNhR3L04CNIPGNuQ3L01C9uQLL0+C...",
    "error": []
}
  Название   Тип   Описание
EGRN object Информация из ЕГРН
EGRN.object object Результат поиска
EGRN.object.CADNOMER string Кадастровый номер
EGRN.object.ADDRESS string Адрес
EGRN.object.TYPE string Тип объекта
EGRN.object.AREA string Площадь
EGRN.object.CATEGORY string Категория ЗУ
EGRN.details object Характеристика объекта из ЕГРН, (произволное количество полей!)
EGRN.found int Найдена ли информация в ЕГРН
0 — нет
1 — да
documents object Виды документов
XZP — Выписка из ЕГРН об объекте недвижимости
SOPP — Выписка о переходе прав на объект недвижимости
KPT — Кадастровый план территории
documents.вид.available bool Доступен ли данный документ для заказа на этот объект
documents.вид.price float Стоимость документа для данного объекта (в рублях)
region string Регион где находится объект
encoded_object string Это пригодится при оформление заказа

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
400 Bad parameter `query`, not a cadastral number Переданное значение для "query" не соответствует формату кадастрового номера.
OBJECT_NOT_FOUND Cadastral object not found Объект по указанному кадастровому номеру не найден.
1. Проверьте кадастровый номер.
2. Возможно в ЕГРН отсутствуют сведения по этому объекту.

Cadaster/Reestr — Реестр объектов недвижимости

Возвращает реестр объектов невижимости относящиеся к дому по кадастровому номеру этого дома

Данный метод создания реестров не гарантирует, что в реестр войдут все помещения имеющиеся в доме. Это связано с тем, что Росреестр не всегда корректно предоставляет сведения о количестве помещений в том или ином доме. Как правило ошибки в количестве помещений в доме могут возникать в том случае, если общее количество помещений в доме более 200.
Метод создания гарантированно полного реестра будет запущен через некоторое время после окончания проведения тестовых испытаний.



HTTP запрос
POST   https://apirosreestr.ru/api/cadaster/reestr требуется авторизация по токену

Параметры запроса Значение Описание
query Например:
46:29:101001:80
Кадастровый номер многоквартирного дома

									
Ответ сервера
{
    "reestr": {
    	"apartments_residential": {
    	    "objects": [
    	        {
    	            "CADNOMER": "46:29:102219:407",
    	            "ADDRESS": "г Курск, ул Косухина, д. 38, 1",
    	            "APARTMENT": "1",
    	            "TYPE": "Помещение",
    	            "AREA": "60.8 кв.м"
    	        },
    	        {
    	            "CADNOMER": "46:29:102219:406",
    	            "ADDRESS": "г Курск, ул Косухина, д. 38, 2",
    	            "APARTMENT": "2",
    	            "TYPE": "Помещение",
    	            "AREA": "46.4 кв.м"
    	        },
    	        //............. и т.д. ............
    	    ],
    	    "found": 107
    	},
    	"apartments_nonresidential": {
    	    "objects": [
    	        {
    	            "CADNOMER": "46:29:102219:399",
    	            "ADDRESS": "г Курск, ул Косухина, д. 38, I",
    	            "APARTMENT": "I",
    	            "TYPE": "Помещение",
    	            "AREA": "42.5 кв.м"
    	        }
    	    ],
    	    "found": 1
    	},
        "lands": {
            "objects": [
                {
                    "CADNOMER": "46:29:102219:41",
                    "ADDRESS": "обл. Курская, г. Курск, ул. Косухина, дом 38",
                    "APARTMENT": null,
                    "TYPE": "Земельный участок",
                    "AREA": "25 кв.м"
                },
                {
                    "CADNOMER": "46:29:102219:58",
                    "ADDRESS": "обл. Курская, г. Курск, ул. Косухина, дом 38",
                    "APARTMENT": null,
                    "TYPE": "Земельный участок",
                    "AREA": "4578 кв.м"
                },
                {
                    "CADNOMER": "46:29:102219:30",
                    "ADDRESS": "обл. Курская, г. Курск, ул. Косухина, дом 38",
                    "APARTMENT": null,
                    "TYPE": "Земельный участок",
                    "AREA": "11 кв.м"
                },
                {
                    "CADNOMER": "46:29:102219:39",
                    "ADDRESS": "обл. Курская, г. Курск, ул. Косухина, дом 38",
                    "APARTMENT": null,
                    "TYPE": "Земельный участок",
                    "AREA": "9 кв.м"
                }
            ],
            "found": 4
        },
        "buildings": {
            "objects": [
                {
                    "CADNOMER": "46:29:102219:80",
                    "ADDRESS": "г Курск, ул Косухина, д. 38",
                    "APARTMENT": null,
                    "TYPE": "Здание",
                    "AREA": "5634.3 кв.м"
                }
            ],
            "found": 1
        },
        "constructions": {
            "objects": [],
            "found": 0
        },
        "others": {
            "objects": [],
            "found": 0
        }
    },
    "found": 113,
    "rsn_price_conds": {
        "<=10": 90,
        "<=50": 70,
        "<=100": 50,
        "<=300": 30,
        ">300": 20
    },
    "error": []
}
  Название   Тип   Описание
reestr object Реестр объектов невижимости
reestr.apartments_residential object Жилые помещения
reestr.apartments_nonresidential object Нежилые помещения
reestr.lands object Земельные участки
reestr.buildings object Здания
reestr.constructions object Сооружения
reestr.others object Прочее
reestr.категория.objects array Список объектов данной категории, содержат:
---
CADNOMER — Кадастровый номер
ADDRESS — Адрес объекта
APARTMENT — Номер помещения
TYPE — Тип объекта
AREA — Площадь объекта
reestr.категория.found int Количество объектов в данной категории
reestr.found int Общее количество объектов в реестре
rsn_price_conds object Услувия расчета стоимости для составления (Реестр собственников дома)
---
Например:
если (n <=10) то цена (n * 90) руб.
если (n <=50) то цена (n * 70) руб.
если (n <=100) то цена (n * 50) руб.
если (n <=300) то цена (n * 30) руб.
если (n > 300) то цена (n * 20) руб.

где (n) это количество обектов которые будут учитыватся при составление реестра собственников

n может ровнятся как reestr.found
также (reestr.apartments_residential.found + reestr.apartments_nonresidential.found)

для составления реестра собственников смотрите ObjectInfoFull и Save_order

  Коды ошибок   Описание   Причины и решения

Cadaster/Save_order — Оформление заказа

Оформляет заказ для указанных документов со статусом "Ожидает оплаты", возвращает номер заказа/транзакции

HTTP запрос
POST   https://apirosreestr.ru/api/cadaster/save_order требуется авторизация по токену

Параметры запроса Значение Описание
encoded_object Значение берём из запроса ObjectInfoFull Необходим для оформления
documents[]  (array) Например:
documents[]=XZP
documents[]=SOPP
documents[]=KPT
Перечень заказываемых документов
comment Не обязательно Комментарий к заказу
Пример HTTP запроса
POST /api/cadaster/save_order HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "encoded_object": "f9JiNxAjMuITMuATMiojI4CNuQbY0wCNvQDY0+CNhR3L04CNIPGNuQ3L01C9uQLL0+C...", "documents": ["XZP", "SOPP"] }

Ответ сервера
{
    "transaction_id": 80140,
    "documents_id": {
        "XZP": 540
    },
    "paid": false,
    "error": []
}
  Название   Тип   Описание
transaction_id int Номер заказа/транзакции
сейчас он нужен для выполнения оплаты
documents_id object Номер каждого оформленного документа в заказе
documents_id.вид_документа int Номер документа
paid bool Оплачен ли заказ
true — Да
false — Нет

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
400 Invalid encoding object "encoded_object" имеет некорректное значение. Рекомендуем экранировать значение, используя аналогичную функцию (urlencode для PHP).
BAD_DOC_TYPE Unsupported type of document Передан неподдерживаемый тип документа.
TARIFFS_NOT_MATCH Tariffs do not match Значение "encoded_object" было взято из запроса Cadaster/ObjectInfoFull который был сделан при другом тарифе.
INSUFFICIENT_FUNDS Insufficient funds on the account Исчерпан лимит запросов по тарифу. Продлите тариф или перейдите на другой.
NOT_KEY_FOUND FGIS-EGRN access key is not installed Вы не указали свой ключ от ФГИС в своем личном кабинете.

Transaction/info — Информация о транзакции

Возвращает полную информацию о транзакции, в том числе способы оплаты для данного заказа

HTTP запрос
GET | POST   https://apirosreestr.ru/api/transaction/info требуется авторизация по токену

Параметры запроса Значение Описание
id Номер заказа "транзакции"

									
Ответ сервера
{
    "id": 80140,
    "service": "API_ROSREESTR",
    "caption": "API Росреестр",
    "description": "Кадастровый номер: 46:29:101001:10",
    "cost": 0,
    "paid": false,
    "paid_from": "",
    "date_create": "2017-03-05 20:34:26",
    "date_paid": "0000-00-00 00:00:00",
    "pay_methods": {
        "free": {
            "name": "Бесплатно",
            "allowed": true,
            "confirm_code": "c4600d6b40038ce66bcc4fd90fff63704600216e2bcc50160883ac229b0572aa",
            "confirm_link": "https:\/\/apirosreestr.ru\/api\/transaction\/pay\/80140\/?confirm=c4600d6b40038ce66bcc4fd90fff63704600216e2bcc50160883ac229b0572aa"
        },
        "PA": {
            "name": "Лицевой счет",
            "allowed": false,
            "balance": 0,
            "sufficient_funds": false,
            "confirm_code": null,
            "confirm_link": null
        },
        "other": {
            "name": "Другие способы оплаты",
            "allowed": false,
            "methods": []
        }
    },
    "error": []
}
  Название   Тип   Описание
id int Номер заказа/транзакции
cost float Стоимость заказа
paid bool Оплачен ли заказ
true — Да
false — Нет
paid_from string Оплачен через:
PA — Лицевой счет
FREE — Бесплатно
ROBOKASSA — Платёжный агрегатор "Робокасса"
date_create string Дата время оформления заказа, в формате гггг.мм.дд ч:м:с
date_paid string Дата время оплаты заказа, в формате гггг.мм.дд ч:м:с
pay_methods object Способы оплаты
pay_methods.free object Бесплатно
pay_methods.PA object Лицевой счет
pay_methods.other object Другие способы оплаты
pay_methods.PA.balance int Баланс лицевого счета
pay_methods.PA.sufficient_funds bool Достаточно ли средств на счете чтобы выполнить оплату
true — Да
false — Нет
pay_methods.free.allowed
pay_methods.PA.allowed
pay_methods.other.allowed
bool Разрешен ли данный способ оплаты
true — Да
false — Нет
pay_methods.free.confirm_code
pay_methods.PA.confirm_code
string Код для подтверждения оплаты по данному способу, см. Transaction/pay
pay_methods.free.confirm_link
pay_methods.PA.confirm_link
string Ссылка с кодом для подтверждения оплаты по данному способу,
вызывается Transaction/pay
pay_methods.other.methods object Способы оплаты через Веб-интерфейс платёжного агрегатора,
произвольное количество вариантов!
pay_methods.other.methods.вариант.name string Название способа оплаты
pay_methods.other.methods.вариант.img string Ссылка на значок способа оплаты, форматы файлов могут быть разные
pay_methods.other.methods.вариант.link string Ссылка на Веб-интерфейс платёжного агрегатора, для совершения оплаты

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
404 Transaction Not Found Транзакция/заявка по данному номеру не найдена.
403 Not own transaction Запрошенная транзакция принадлежит другому пользователю.

Transaction/pay — Подтверждения оплаты

Подтверждения оплаты для способов "Лицевой счет" и "Бесплатно". Передает заказ в обработку, возвращает состояние заказа

HTTP запрос
GET | POST   https://apirosreestr.ru/api/transaction/pay требуется авторизация по токену

Параметры запроса Значение Описание
id Номер заказа/транзакции
confirm Сгенерированный код Данный код берётся из запроса Transaction/info
pay_methods.free.confirm_code или
pay_methods.PA.confirm_code

									
Ответ сервера
{
    "paid": true,
    "cost": 0,
    "error": []
}
  Название   Тип   Описание
paid bool Оплата прошла успешно
true — Да
false — Нет
cost float Сумма которая была оплачена

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
ALREADY_PAID Transaction paid already Данная транзакция уже была оплачена.
INVALID_CONFIRM_CODE Invalid confirmation code Неверный код подтверждения.
NOT_ALLOWED Payment from the Personal Account is not allowed for this transaction Оплата с ЛС невозможно для данной транзакции.

Transaction/history — История транзакций

Возвращает информацию о транзакциях.

HTTP запрос
POST   https://apirosreestr.ru/api/transaction/history требуется авторизация по токену

Параметры запроса Значение Описание
filters  (array) (Не обязателно)
Ниже приведен пример.
Вы можете запрашивать историю по заданным критериям.
------------------------------------------
filters[n].column — Назване поле
filters[n].condition — Оператор сравнения
filters[n].value — Значение
filters[n].after — Логический оператор по отношению
к след. фильтру

Поля Операторы сравнения

id |   =   |   !=   |   <   |   >   |   <=   |   >=   |

service |   =   |   !=   |

description |   =   |   !=   |   LIKE   |

cost |   =   |   !=   |   <   |   >   |   <=   |   >=   |

date_create |   =   |   !=   |   <   |   >   |   <=   |   >=   |

date_paid |   =   |   !=   |   <   |   >   |   <=   |   >=   |

paid_from |   =   |   !=   |

isPaid |   =   |   !=   |

P.S. При LIKE, в значение можете использовать знак %
ascending 1 — Да
0 — Нет (по умолчанию)
Сортировка по возрастанию.
Производится по дате создания.
offest минимум — 0,  максимум — Смещение относительно начала получаемого списка.
(По умолчанию - 0)
limit минимум — 1,  максимум — 500 Количество записей в списке, который должны получить.
(По умолчанию - 500)
Пример HTTP запроса
POST /api/transaction/history HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "filters": [ { "column": "date_create", "condition": ">=", "value": "2017-10-23 00:00:00", "after": "AND" }, { "column": "date_create", "condition": "<=", "value": "2017-10-24 23:59:59", "after": "AND" }, { "column": "isPaid", "condition": "=", "value": 1 } ], "ascending": 0, "offset": 0, "limit": 100 }

Ответ сервера
{
    "transactions": [
    	{
            "id": 129830,
            "service": "API_ROSREESTR",
            "caption": "API Росреестр",
            "description": "Кадастровый номер: 46:29:101001:25",
            "cost": 0,
            "date_create": "2017-10-24 16:10:11",
            "date_paid": "2017-10-24 16:10:11",
            "isPaid": 1,
            "paid_from": "PREPAID"
    	},
        {
            "id": 129826,
            "service": "TARIFF",
            "caption": "API Росреестр",
            "description": "Покупка тарифа: 1",
            "cost": 5000,
            "date_create": "2017-10-24 15:55:08",
            "date_paid": "2017-10-24 15:55:08",
            "isPaid": 1,
            "paid_from": "PA"
        },
        {
            "id": 128950,
            "service": "API_ROSREESTR",
            "caption": "API Росреестр",
            "description": "Кадастровый номер: 46:29:101001:10",
            "cost": 90,
            "date_create": "2017-10-23 17:48:50",
            "date_paid": "2017-10-23 17:52:58",
            "isPaid": 1,
            "paid_from": "ROBOKASSA"
        }
    ],
    "shown": 3,
    "total": 3,
    "error": []
}
  Название   Тип   Описание
transactions array Список транзакций по заданному фильтру
transactions.id int Номер заказа/транзакции
transactions.service string Транзакция для:
BALANCE — Пополнение баланса
TARIFF — Покупка тарифа
API_ROSREESTR — Получение выписки из ЕГРН
API_RIGHTHOLDERS — Формирование реестра правообладателей
transactions.description string Описание транзакции
transactions.cost float Стоимость
transactions.date_create string Дата время заказа/транзакции, в формате гггг.мм.дд ч:м:с
transactions.date_paid string Дата время оплаты, в формате гггг.мм.дд ч:м:с
transactions.isPaid bool Оплачен ли заказ
1 — Да
0 — Нет
transactions.paid_from string Оплачен через:
PA — Лицевой счет
FREE — Бесплатно
ROBOKASSA — Платёжный агрегатор "Робокасса"
PREPAID — Предоплата
shown int Количество показанных записей
total int Количество записей, найденных указанным фильтром

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
400 Invalid parameter value/structure for `filters` Некорректный фильтр.
Возможно, что в указанных фильтрах  отсутствует обязательный параметр или указано недопустимое  значение для "column", "condition" или "after"

Cadaster/Orders — Информация о заказе

Возвращает характеристика объекта, документы, цены и состояние заказа

HTTP запрос
POST   https://apirosreestr.ru/api/cadaster/orders требуется авторизация по токену

Параметры запроса Значение Описание
id Номер заказа/транзакции

									
Ответ сервера
{
    "id": 80140,
    "cadnomer": "46:29:101001:10",
    "details": {
        "Тип объекта": "Земельный участок",
        "Кадастровый номер": "46:29:101001:10",
        "Статус объекта": "Ранее учтенный",
        "Дата постановки на кадастровый учет": "20.12.2001",
        "Категория земель": "Земли населенных пунктов",
        "Разрешенное использование": "Для индивидуальной жилой застройки",
        "Площадь": "1427",
        "Единица измерения (код)": "Квадратный метр",
        "Кадастровая стоимость": "1167214,65",
        "Дата определения стоимости": "19.02.2016",
        "Дата внесения стоимости": "10.12.2016",
        "Дата утверждения стоимости": "10.12.2016",
        "Адрес (местоположение)": "обл. Курская, г. Курск, ул. Ильича, дом 48",
        "Дата обновления информации": "10.12.2016",
        "Форма собственности": "Частная",
        "Количество правообладателей": "2"
    },
    "comment": "",
    "date_create": "2017-03-05 20:34:26",
    "price": 0,
    "documents": [
        {
            "id": 540,
            "type": "XZP",
            "status": 4,
            "date_complete": "2017-03-05 20:35:07",
            "price": 0
        }
    ],
    "error": []
}
  Название   Тип   Описание
id int Номер заказа/транзакции
cadnomer string Кадастровый номер объекта
details object Характеристика объекта из ЕГРН, (произволное количество полей!)
comment string Комментарий к заказу
date_create string Дата время оформления заказа, в формате гггг.мм.дд ч:м:с
price float Стоимость заказа
documents array Заказанные документы
documents[n].id int Номер документа
documents[n].type string Вид документа
XZP — Выписка из ЕГРН об объекте недвижимости
SOPP — Выписка о переходе прав на объект недвижимости
KPT — Кадастровый план территории
documents[n].status int Статус документа в заказе
2 — Ожидает оплаты
3 — В работе
4 — Выполнен
5 — Ошибка при обработке
6 — Отменен
documents[n].date_complete string Дата время выполнения заказа, в формате гггг.мм.дд ч:м:с
documents[n].price float Стоимость данного документа в данном заказе

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки

Cadaster/Download — Скачать документ

Возвращает скачиваемый файл в указанном формате

HTTP запрос
GET | POST   https://apirosreestr.ru/api/cadaster/download требуется авторизация по токену

Параметры запроса Значение Описание
document_id Номер документа в заказе
format Скачать документ в формате

Для документов XZP, SOPP, KPT:
ZIP — Оригинальный файл с ЭЦП Росреестра
PDF — Человеко-читаемый формат
HTML — Как веб страница
XML — из распакованного ZIP файла

									
Ответ сервера
Бинарный файл
  Название   Тип   Описание
нет параметров

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
400 Unsupported file format Некорректное значение для параметра "format".
403 Forbidden. Not own order Заказ принадлежит другому пользователю.
204 Order not completed Заказ находится в обработке, Попробуйте позже.

Account/info — Информация об аккаунте

Возвращает общую информацию об аккаунте, балансе и тарифе

HTTP запрос
GET | POST   https://apirosreestr.ru/api/account/info требуется авторизация по токену

Параметры запроса Значение Описание
нет

									
Ответ сервера
{
    "id": 720,
    "balance": 15000,
    "token": "JHSD-ZXBN-UBSD-MVDE",
    "egrn_key": null,
    "tariff": {
        "user_id": 720,
        "tariff": "1",
        "date_install": "2018-01-16 12:28",
        "date_burn": "2018-02-15 12:28",
        "period_queries_max": 100,
        "key_required": false,
        "tariff_queries_max": 100,
        "tariff_queries_done": 5,
        "tariff_queries_available": 95,
        "tariff_days": 30,
        "tariff_days_available": 16,
        "tariff_days_gone": 14,
        "period_count": 1,
        "period_current": 1,
        "period_date_start": "2018-01-16 12:28",
        "period_date_end": "2018-02-15 12:28",
        "period_days": 30,
        "period_days_available": 16,
        "period_days_gone": 14,
        "period_queries_done": 5,
        "period_queries_available": 95,
        "tariff_ended": false,
        "effective": true
    },
    "error": []
}
  Название   Тип   Описание
id int ID аккаунта
balance float Баланс лицевого счета
token string Токен
egrn_key string Ключ от ФГИС-ЕГРН (если есть)
tariff object Детали установленного тарифа
tariff.tariff string Название тарифа
tariff.date_install string Дата время начала действия тарифа
tariff.date_burn string Дата время окончания действия тарифа
tariff.period_queries_max int Количество запросов за текущий период
tariff.key_required bool Требуется ли ключ от ФГИС для данного тарифа
tariff.tariff_queries_max int Количество запросов в период действия тарифа
tariff.tariff_queries_done int Количество сделанных запросов в период действия тарифа
tariff.tariff_queries_available int Остаток запросов до окончания действия тарифа
tariff.tariff_days int Количество дней по тарифу
tariff.tariff_days_available int Количество дней до окончания тарифа
tariff.tariff_days_gone int Количество дней, прошедших с момента начала действия тарифа
tariff.period_count int Количество период в тарифе
tariff.period_current int Текущий период
tariff.period_date_start string Дата время начала периода
tariff.period_date_end string Дата время окончания периода
tariff.period_days int Период в днях
tariff.period_days_available int Количество дней до окончания периода
tariff.period_days_gone int Количество дней, прошедших с момента начала периода
tariff.period_queries_done int Количество сделанных запросов за текущий период
tariff.period_queries_available int Остаток запросов до окончания периода
tariff.tariff_ended bool Закончился ли срок действия тарифа
tariff.effective bool Действует ли тариф и возможно ли сделать запрос

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки

Reestr/Scan — Сканирование МКД

Сканирует и возвращает количество помещений входящих в состав многоквартирного дома.

HTTP запрос
POST   https://apirosreestr.ru/api/reestr/scan требуется авторизация по токену

Параметры запроса Значение Описание
query Например:
46:29:102219:80
Кадастровый номер МКД
scan_if_no_cache 1 — Да (по умолчанию)
0 — Нет
Начать сканирование при отсутствии в кэш данных об указанном МКД.
Информация в кэш хранится 3 дня.

									
Ответ сервера
// Сканируется...
{
    "scan": "processing",
    "note": "The scan began on 25.10.2017 15:42",
    "reestr": null,
    "error": []
}

// Сканирование завершено.
{
    "scan": "completed",
    "note": "The information is current as of 25.10.2017",
    "reestr": {
        "id": 89203,
        "categories": {
            "apartments_residential": {
                "count": 107
            },
            "apartments_nonresidential": {
                "count": 1
            },
            "others": {
                "count": 0
            }
        },
        "count": 108
    },
    "error": []
}
  Название   Тип   Описание
scan string Состояние
processing — Идет сканирование
completed — Сканирование завершено
impossible — Сканирование невозможно
-----------------
no_result — В кэш отсутствуют данные об МКД
(только при параметре "scan_if_no_cache = 0")
note string Примечание зависит от состояния сканирования
reestr object Информация о реестре
reestr.id int ID отсканированного реестра
reestr.categories object Категория объектов
apartments_residential — Жилые помещения
apartments_nonresidential — Нежилые помещения
others — Прочее
reestr.categories.категория.count int Количество объектов недвижимости данного типа
reestr.count int Общее количество помещений в МКД

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
UNSUPPORTED_OBJECT_TYPE Unsupported type of cadastral object Неподдерживаемый тип кадастрового объекта. Укажите кадастровый номер МКД.

Reestr/Rightholders — Составление реестра правообладателей

Оформляет заказ со статусом "Ожидает оплаты", возвращает номер заказа/транзакции

Образцы документов:
Реестр правообладателей многоквартирного дома
Реестр правообладателей земельного участка


HTTP запрос
POST   https://apirosreestr.ru/api/reestr/rightholders требуется авторизация по токену

Параметры запроса Значение Описание
of LAND — Земельный участок
MKD — Многоквартирный дом
Составить (Реестр правообладателей) для объекта недвижимости указанного типа
cadnomer
(в случае земельного участка)
Например:
46:29:101001:10
Кадастровый номер только земельного участка
reestr_id
(в случае МКД)
Значение берём из запроса Reestr/Scan Идентификатор сканированного реестра
categories
(в случае МКД)
Например:
categories[]=apartments_residential
categories[]=apartments_nonresidential
categories[]=others
Составить (Реестр собственников) учитывая только указанные категория объектов.
comment Не обязательно Комментарий к заказу
Пример HTTP запроса
POST /api/reestr/rightholders HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "of": "LAND", "cadnomer": "46:29:101001:10" }
POST /api/reestr/rightholders HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "of": "MKD", "reestr_id": "89684", "categories": [ "apartments_residential", "apartments_nonresidential" ] }

Ответ сервера
{
    "transaction_id": 179649,
    "paid": true,
    "error": []
}
  Название   Тип   Описание
transaction_id int Номер заказа/транзакции
paid bool Оплачен ли заказ
true — Да (если у вас предоплаченный тариф)
false — Нет (если у вас  тариф "Базовой",  для оплаты см. Transaction/info)

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
400 Bad parameter `cadnomer`, not a cadastral number Переданное значение для "cadnomer" не соответствует формату кадастрового номера.
Может возникнуть, если of = LAND
OBJECT_NOT_FOUND Cadastral object not found Объект по указанному кадастровому номеру не найден.
Может возникнуть, если of = LAND.
1. Проверьте кадастровый номер.
2. Возможно в ЕГРН отсутствуют сведения по этому объекту.
BAD_CATEGORY_TYPE Bad category type given Переданный массив "categories" содержит неподдерживаемое значение.
Может возникнуть, если of = MKD
NULL_REESTR Requested reestr does not contain a cadastral object Запрошенный реестр по указанным категориям не содержит ни одного объекта недвижимости.
Может возникнуть, если of = MKD
IS_NOT_LAND Cadastral object is not land Кадастровый объект по указанному кадастровому номеру не является земельным участком.
Может возникнуть, если of = LAND
NO_RIGHTS Cadastral object has no right holders Кадастровый объект не имеет правообладателей.
Может возникнуть, если of = LAND
INSUFFICIENT_FUNDS Insufficient funds on the account Недостаточно количество запросов на остатке по тарифу. Продлите тариф или перейдите на другой.

Reestr/Orders — Информация о заказе

Возвращает информацию о заказе и состояние заказа.

HTTP запрос
POST   https://apirosreestr.ru/api/reestr/orders требуется авторизация по токену

Параметры запроса Значение Описание
id Номер заказа/транзакции

									
Ответ сервера
{
    "id": 179649,
    "comment": "",
    "date_create": "2017-10-25 16:10:58",
    "date_complete": "2017-10-25 18:32:47",
    "price": 0,
    "status": 4,
    "completed": "108/108",
    "categories": [
        "apartments_residential",
        "apartments_nonresidential"
    ],
    "error": []
}
  Название   Тип   Описание
id int Номер заказа/транзакции
comment string Комментарий к заказу
date_create string Дата время оформления заказа, в формате гггг.мм.дд ч:м:с
date_complete string Дата время выполнения заказа, в формате гггг.мм.дд ч:м:с
price float Стоимость заказа
status int Статус заказа
2 — Ожидает оплаты
3 — В работе
4 — Выполнен
5 — Ошибка при обработке
6 — Отменен
completed string Объектов в реестре "обработано/из_всего"
categories string В реестр собственников учтены только указанные категория объектов

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
403 Forbidden. Not own order Заказ принадлежит другому пользователю.

Reestr/GetResult — Получить реестр правообладателей

Возвращает скачиваемый файл в указанном формате.

HTTP запрос
POST   https://apirosreestr.ru/api/reestr/getresult требуется авторизация по токену

Параметры запроса Значение Описание
transaction_id Номер заказа/транзакции
format Получить результат в формате:
XLSX — Файл (Excel)
HTML — Как веб страница
PDF — Человеко-читаемый формат
custom_header
(не обязательно)
Например:
<center>
     <h1>Заголовок реестра</h1>
</center>
HTML-код для заголовка реестра.
По умолчанию:
<center>
     <h1>
          Реестр<br>
          правообладателей объекта недвижимости
     </h1>
</center>
sort_objects (object) sort_objects[поле] = направление
Например:
{
      "apartment": "ASC",
      "cadcost": "DESC"
}
Поля по которым можно сортировать объекты в списке:
apartment — Номер помещения
floor — Этаж
cadnomer — Кадастровый номер
area — Площадь
cadcost — Кадастровый стоимость

Направления сортировки:
ASC — По возрастанию
DESC — По убыванию
sort_rights (object) sort_rights[поле] = направление
Например:
{
      "hasEncumbrance": "DESC"
}
Поля по которым можно сортировать
правообладателей объекта недвижимости:
name — ФИО собственника
hasEncumbrance — Наличие обременений

Направления сортировки:
ASC — По возрастанию
DESC — По убыванию
Пример HTTP запроса
POST /api/reestr/getresult HTTP/1.1 Host: apirosreestr.ru Token: XXXX-XXXX-XXXX-XXXX Content-Type: application/json { "transaction_id": 202623, "format": "XLSX", "custom_header": "<center><h1>Реестр собственников МКД</h1><p>Заказ №202623</p></center>", "sort_objects": { "apartment": "ASC" } }

Ответ сервера
// Файл
  Название   Тип   Описание
нет параметров

  Коды ошибок   Описание   Причины и решения
Универсальные ошибки
204 Order not paid or canceled Заказ ожидает оплаты или был отменен. Проверьте состояние заказа с помощью метода Reestr/Orders
400 Unsupported file format Некорректное значение для параметра "format".
403 Forbidden. Not own order Заказ принадлежит другому пользователю.

Web Hooks

Механизм оповещения системы о событиях

WebHooks – это уведомление сторонних приложений посредством отправки уведомлений о событиях, произошедших в ApiRosreestr.
Вы можете настроить HTTP адреса ваших приложений в настройках своего аккаунта, в разделе «Техническая информация»



События: status_change — когда меняется статус заказанного документа

POST   Отправляется уведомление по URL адресу указанным вами в личном кабинете

Параметры запроса
Параметр Значение Описание
event status_change Тип события
data[transaction_id] 80140 Номер заказа/транзакции
data[document_id] 540 Номер документа в заказе
data[document_type] XZP Вид документа
XZP — Выписка из ЕГРН об объекте недвижимости
SOPP — Выписка о переходе прав на объект недвижимости
KPT — Кадастровый план территории
data[document_status] 4 Статус документа
2 — Заявка сохранена
3 — В работе
4 — Выполнен
5 — Ошибка при обработке
6 — Отменен





События: reestr_status_change — когда меняется статус заказанного реестра

POST   Отправляется уведомление по URL адресу указанным вами в личном кабинете

Параметры запроса
Параметр Значение Описание
event reestr_status_change Тип события
data[transaction_id] 212309 Номер заказа/транзакции
data[status] 4 Статус документа
2 — Заявка сохранена
3 — В работе
4 — Выполнен
5 — Ошибка при обработке
6 — Отменен




Коды универсальных ошибок

  Коды ошибок   Описание   Причины и решения
400 Missing required parameter Отсутствует обязательный параметр.
400 Invalid parameter value Передано некорректное значение для какого-либо параметра.
401 Unauthorized В запросе не указан HTTP заголовок - Token, либо токен неверный.
Свой токен можете посмотреть в своем личном кабинете.
429 Too Many Parallel Requests Делается много параллельных  запросов с одного IP
500 Internal Server Error Произошла непредвиденная ошибка. Пожалуйста, обратитесь в службу поддержки!
503 Service is temporarily unavailable Сервис временно недоступен. Попробуйте позже.

Пример ответа API при возникновении ошибки:
{
    "error": {
        "code": 401,
        "mess": "Unauthorized"
    }
}
Ответ API при отсутствии ошибки:
{
    "error": []
}

Инструкция и примеры

Как авторизоваться по токену

Для авторизации, необходимо в запросах указать HTTP заголовок - Token: ВАШ_ТОКЕН, например  Token: OIMG-PPSH-XYMX-G9WG 
Свой Токен-ключ, который является уникальным и секретним, можете найти в своем личном кабинете.

Формирования заявки на получение выписки из ЕГРН Росреестра (состоит из 5 шагов)

Чтобы сформировать заявку на получение выписки, вам необходимо указать кадастровый номер объекта недвижимости. Если вам не известен кадастровый номер объекта, то узнать его можно по адресу объекта, используя метод Cadaster/Search.
1.Передаем кадастровый номер в Cadaster/ObjectInfoFull, получаем характеристики объекта, цены на документы и параметр "encoded_object", который понадобится на следующем шаге.
2.Для оформления заказа, вызываем Cadaster/SaveOrder передовая значение "encoded_object", которое мы получили на предыдущем шаге, a также передаем список необходимых для заказа документов. В ответ мы получаем номер заказа/транзакции и номера документов в заказе, которые сохраняем для следующих шагов.
3.Если вы не используете тариф "Базовой" то пропустите этот шаг, в противном случае, совершите оплату используя метод Transaction/info для получения всех возможных способов оплаты.
4.Заказ передан в обработку, ожидаем исполнения заказа.
5.Скачиваем документ с помощью Cadaster/Download передовая номер заказа, номер документа и один из следующих форматов (PDF, HTML, ZIP или XML).

Как отслеживать исполнениe заказа?
Сушествуют два способа:

1.  Вы можете периодически проверить статус  заказа, используя метод Cadaster/Orders.

2.  В своем личном кабинете вы можете настроить (Web Hook для события "status_change") указав URL вашего сервера,
      на который будут отправляться HTTP-уведомления, в случае, если у заказов изменятся статус.

Пример PHP кода:
<?php
/*
   Пример простого PHP скрипта для оформления заявок на получение выписок из ЕГРН Росреестра.
   Работает с сервисом (ApiRosreestr.ru)
   Тестирован на PHP v5.6
   Источник - https://apirosreestr.ru/api/#examples
   Автор - Hayk Marukyan (Haikson)
*/

# Кадастровый номер нашего объекта недвижимости.
$cadnomer = '46:29:101001:10';

# Заказываемый документ
# XZP  - Выписка из ЕГРН об объекте недвижимости
# SOPP - Выписка о переходе прав на объект недвижимости
# KPT  - Кадастровый план территории
$mydoc = 'XZP';

# Функция для вызова методов ApiRosreestr
function api($class, $params = [], $token = 'XXXX-XXXX-XXXX-XXXX') {
   $class = strtolower($class);
   $ch    = curl_init();
   curl_setopt_array($ch, [ 
      CURLOPT_POST => 1,
      CURLOPT_HTTPHEADER => ["Token: $token"],
      CURLOPT_RETURNTRANSFER => 1,
      CURLOPT_FORBID_REUSE => 1, 
      CURLOPT_VERBOSE => 1,
      CURLOPT_SSL_VERIFYPEER => 0,
   ]);

   curl_setopt($ch, CURLOPT_URL, "http://apirosreestr.ru/api/$class");
   curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));

   $exec = curl_exec($ch);
   $data = json_decode($exec, 1);
   if ($data && $data['error']) {
      die("Произошла ошибка - [<a href='https://apirosreestr.ru/api/#$class'>$class</a>] {$data['error']['code']}, {$data['error']['mess']}");
   }
   curl_close($ch);
   return $data ?: $exec;
}

# Шаг 1/3 - Получаем характеристики объекта, цены на документы...
$info = api('Cadaster/ObjectInfoFull', ['query' => $cadnomer]);

# Проверяем доступность документа для заказа
if ($info['documents'][$mydoc]['available'] == false) {
   die('На данный объект недвижимости невозможно заказать документ - '.$mydoc);
}

# Шаг 2/3 - Оформляем заказ
$save = api('Cadaster/Save_order', ['encoded_object' => $info['encoded_object'], 'documents' => [$mydoc], 'comment' => 'тестовый заказ']);

// Если заказ оплачен, т.е. у нас тариф не "Базовой"
if ($save['paid'] == true) {
   die("Заказ оформлен и передан в обработку. Номер заказа ".$save['transaction_id'].", номер документа в заказе ".$save['documents_id'][$mydoc]);
} 
// Если заказ ожидает оплаты, т.е. если тариф у нас "Базовой"
else {
   # Пытаемся оплатить с лицевого счета
   # Шаг 3/3 - Получаем перечень всех возможных способов оплаты
   $trans = api('Transaction/info', ['id' => $save['transaction_id']]);

   // Если оплата с лицевого счета разрешена
   if ($trans['pay_methods']['PA']['allowed'] == true) {
      // Если достаточно средств на счете
      if ($trans['pay_methods']['PA']['sufficient_funds'] == true) {
         # Подтверждаем оплату
         $pay = api('Transaction/pay', ['id' => $save['transaction_id'], 'confirm' => $trans['pay_methods']['PA']['confirm_code']]);
         
         // Если оплата прошла успешно
         if ($pay['paid'] == true) {
            die("Заказ оплачен и передан в обработку. Номер заказа ".$save['transaction_id'].", номер документа в заказе ".$save['documents_id'][$mydoc]);
         } else {
            die('Не удалось оплатить заказ.');
         }
      } else {
         die('Недостаточно средств на лицевом счете. Воспользуйтесь другими способами оплаты.');
      }
   } else {
      die('Оплата с лицевого счета не допускается для этого заказа.');
   }
}
?>