API для доступа к базе объявлений

Общая информация

При помощи API Вы можете легко и быстро интегрировать функционал нашего сервиса в свою систему. Информация отдается в двух форматах (json и xml), в зависимости от установленного заголовка (Accept) в запросе или при указании в GET параметре (_format). Для того чтобы начать работать с API, Вам необходимо зарегистрироваться, оплатить любой из тарифов, где указано API, скопировать токен (специальный код для доступа к API, найти его можно на странице профиля вашего аккуанта, вкладка API) и использовать его во всех запросах к сервису.

Запросы и ограничения

Внимание: частота запросов к нашему сервису ограничена (10 запросов в минуту), в тестовом режиме разрешено делать 1 запрос в секунду. Если Вы превысите это ограничение - сервер вернет в ответ HTTP-заголовок со статусом 429 Too Many Requests, немного подождав, Вы сможете возобновить работу.

С каждым ответом сервер отправляет HTTP-заголовки, а так же в самом теле ответа содержатся дополнительные информационные поля.

HTTP-заголовки

  • X-Rate-Limit-Limit максимальное количество запросов
  • X-Rate-Limit-Remaining оставшееся количество запросов
  • X-Rate-Limit-Reset количество секунд до полного восстановления лимита

Поле meta

  • limit присутствует только в запросе получения списка объявлений, равен значению параметра limit;
  • totalCount общее количество элементов
  • rateLimit максимальное количество запросов (аналог X-Rate-Limit-Limit)
  • rateRemaining оставшееся количество запросов (аналог X-Rate-Limit-Remaining)
  • rateReset количество секунд до полного восстановления лимита (аналог X-Rate-Limit-Reset)

Пример ответа с ошибкой:

HTTP/1.1 429 Too Many Requests
Date: Mon, 29 Jun 2020 07:50:54 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 0
X-Rate-Limit-Reset: 60
Content-Type: application/json; charset=UTF-8

{
	"name": "Too Many Requests",
	"message": "Rate limit exceeded.",
	"code": 0,
	"status": 429
}

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

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

  • HTTP Basic Auth

    Для использования данного метода необходимо отправлять с запросами HTTP-заголовок Authorization: Basic с base64-кодированным значением username:password. В качестве имени пользователя (username) используется токен доступа к API, пароль оставьте пустым, но символ : так же должен быть закодирован.

    curl -X GET -H "Accept: application/json" -H "Authorization: Basic YUVjUzlVZkFhZ0lucGFyU2l2MjNhMGFfdlB6eHFXdm06" "https://inpars.ru/api/v2/estate"
  • Параметр запроса

    Все запросы дополняются GET параметром access-token, значение которого равно токену для доступа к API.

    curl -X GET -H "Accept: application/json" "https://inpars.ru/api/v2/estate?access-token=aEcS9UfAagInparSiv23a0a_vPzxqWvm"

Список объявлений

Возвращает список последних объявлений, отсортированных по дате изменения в порядке убывания, включая все оплаченные по тарифу регионы, с возможностью фильтрации по указанным ниже параметрам. Количество объявлений в одном запросе по умолчанию равно 500.

Примечание: каждый день в 00:00 GMT +03:00 происходит смещение объявлений (минус год от начала текущего дня), т.е. Вы можете получить список объявлений только за год.

Методы: GET | POST

URL запроса: https://inpars.ru/api/v2/estate

ПараметрТипОписание
sortBystringСортировка объектов. Возможные значения:
updated_desc - по убыванию даты изменения (задано по умолчанию),
updated_asc - по возрастанию даты изменения,
created_desc - по убыванию даты создания,
created_asc - по возрастанию даты создания,
id_desc - по убыванию идентификатора объявления,
id_asc - по возрастанию идентификатора объявления.
lastIdintegerБудут возвращены объекты с идентификатором большим, чем указанный. При использовании параметра, параметр sortBy доступен в двух значениях: id_desc (задано по умолчанию) и id_asc, остальные значения сортировки игнорируются.
timeStartintegerДата начала выборки в формате UNIX-time, используется поле updated (по умолчанию равно минус год от начала текущего дня).
timeEndintegerДата конца выборки в формате UNIX-time, используется поле updated, не может быть меньше timeStart.
regionIdinteger/stringИдентификатор региона. Можно запрашивать несколько регионов через запятую, например: regionId=1,2.
cityIdinteger/stringИдентификатор города. Можно запрашивать несколько городов через запятую, например: cityId=1,2.
metroIdinteger/stringИдентификатор метро. Можно запрашивать несколько метро через запятую, например: metroId=1,2.
typeAdinteger/stringИдентификатор типа недвижимости. Возможные значения:
1 - сдам
2 - продам
3 - сниму
4 - куплю.
Можно запрашивать несколько типов через запятую, например: typeAd=1,3.
sectionIdinteger/stringИдентификатор раздела недвижимости. Можно запрашивать несколько разделов через запятую, например: sectionId=1,4
categoryIdinteger/stringИдентификатор категории недвижимости. Можно запрашивать несколько категорий через запятую, например: categoryId=1,2.
withAgentinteger0 - отображать только собственников (задано по умолчанию), 1 - добавить в выдачу агентов.
withPhotointegerОтображать объявления 0 - только без фото, 1 - только с фото. Если параметр не указан, отображаются все объявления.
isNewintegerОтображать 0 - вторичное жилье, 1 - новостройки. Если параметр не указан, отображаются все объявления.
costMinintegerЦена от.
costMaxintegerЦена до.
floorMinintegerЭтаж от.
floorMaxintegerЭтаж до.
sqMinfloatПлощадь от (десятичный разделитель - точка или запятая).
sqMaxfloatПлощадь до (десятичный разделитель - точка или запятая).
sqLandMinfloatПлощадь земли от (десятичный разделитель - точка или запятая).
sqLandMaxfloatПлощадь земли до (десятичный разделитель - точка или запятая).
sourceIdinteger/stringИдентификатор источника объявления. Возможные значения:
1 - avito.ru
2 - cian.ru
3 - irr.ru
4 - n1.ru
5 - youla.io
7 - sob.ru
9 - bazarpnz.ru
10 - kupiprodai.ru
11 - move.ru
13 - realty.yandex.ru.
Можно запрашивать несколько источников через запятую, например: sourceId=1,2.
fieldsstringПоля объявления, которые необходимо вернуть. Через запятую, без лишних символов. По умолчанию возвращаются все поля. Возможные значения: id, regionId, cityId, metroId, typeAd, sectionId, categoryId, title, address, floor, floors, sq, sqLand, cost, text, images, lat, lng, name, phones, url, agent, source, created, updated.
expandstringДополнительные поля, не включенные по умолчанию. Через запятую, без лишних символов. Возможные значения: region, city, type, section, category, metro, material, rentTime, isNew, rooms, history, phoneProtected.
limitintegerОграничение на количество получаемых объектов (по умолчанию 500). Пример: limit=100, т.е. получить 100 объектов в одном запросе. Максимальное значение равно 1000, в тестовом режиме 50. Если в вашем регионе мало объектов, рекомендуем оставить значение по умолчанию, для максимальной сторости выборки.
_formatstringФормат возвращаемых данных. Возможные значения: xml, json. По умолчанию необходимый формат будет определен на основе HTTP заголовка "Accept".

Обход коллекции объектов

Для обхода коллекции объектов используйте параметры timeStart, timeEnd и sortBy. Если в запросе объектов больше установленного лимита (поле totalCount больше поля limit), то используйте дату объекта с максимальным или минимальным значением поля updated (зависит от сортировки).

Предположим у Вас сортировка по возрастанию даты изменения sortBy=updated_asc, в таком случае нужно взять поле updated объекта с максимальным значением из списка (это последний объект) и подставить ее в следующий запрос в параметр timeStart (предварительно преобразовав время в формат UNIX-time), параметр timeEnd можно не указывать или указать значение текущей временной метки UNIX.

Предположим у Вас сортировка заданная по умолчанию, т.е. по убыванию даты изменения sortBy=updated_desc, в таком случае нужно взять поле updated объекта с минимальным значением из списка (это последний объект) и подставить ее в следующий запрос в параметр timeEnd (предварительно преобразовав время в формат UNIX-time), параметр timeStart указывать не нужно.

Рекомендуем использовать сортировку sortBy=updated_asc, так как она более привычна для обхода коллекции и временные интервалы в Вашей обработке будут последовательны.

Обратите внимание, что используя дату последнего полученного объекта и подставляя ее в новый запрос, Вы так же получите объекты с этой датой из предыдущего запроса, поэтому используйте фильтрацию на своей стороне.

Универсальный пример скрипта на языке PHP смотрите в конце документации.

Пример запроса на получение списка объявлений на языке PHP:

<?php
								
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inpars.ru/api/v2/estate', // URL запроса
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 3,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => array(
        'Accept: application/json',
        'Authorization: Basic YUVjUzlVZkFhZ0lucGFyU2l2MjNhMGFfdlB6eHFXdm06',
    ),
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
    echo 'cURL Error #:' . $error;
} else {
	echo $response;
}

Пример ответа в формате JSON:

HTTP/1.1 200 OK
Date: Mon, 29 Jun 2020 07:12:40 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 9
X-Rate-Limit-Reset: 6
Content-Type: application/json; charset=UTF-8

{
    "data": [
        {
            "id": 106876174,
            "regionId": 77,
            "cityId": 1,
            "metroId": 30,
            "typeAd": 1,
            "sectionId": 6,
            "categoryId": 29,
            "title": "2-к квартира, 55 м², 9/14 эт.",
            "address": "Москва, Открытое ш., 24к11",
            "floor": 9,
            "floors": 14,
            "sq": 55,
            "sqLand": 0,
            "cost": 43000,
            "text": "Сдаю 2 комнатную квартиру 55 кв м., 9 этаж (14 эт.) панельного дома, комнаты изолированные (17 и 13 кв. м), кухня 9 кв. м. Вся мебель и бытовая техника есть. Окна выходят во двор, домофон, развитая инфраструктура. Собственник.",
            "images": [
                "https://22.img.avito.st/640x480/8845088222.jpg",
                "https://63.img.avito.st/640x480/8845089163.jpg",
                "https://31.img.avito.st/640x480/8845089631.jpg",
                "https://01.img.avito.st/640x480/8845090401.jpg",
                "https://56.img.avito.st/640x480/8845091056.jpg",
                "https://97.img.avito.st/640x480/8845091497.jpg"
            ],
            "lat": "55.823014",
            "lng": "37.757557",
            "name": "Оксана",
            "phones": [
                "79000000000"
            ],
            "url": "https://www.avito.ru/moskva/kvartiry/",
            "agent": 0,
            "source": "avito.ru",
            "created": "2020-06-29T10:57:34+03:00",
            "updated": "2020-06-29T10:57:34+03:00"
        },
        {
            "id": 104873288,
            "regionId": 77,
            "cityId": 1,
            "metroId": 362,
            "typeAd": 1,
            "sectionId": 6,
            "categoryId": 32,
            "title": "Комната, 12.8 м²",
            "address": "Москва, Некрасовка, Некрасовская улица, 7",
            "floor": 16,
            "floors": 17,
            "sq": 53,
            "sqLand": 0,
            "cost": 15000,
            "text": "Комната очень уютная и теплая для одного человека очень хорошо.если для двоих то сумма будет на тысячу больше.рядом в шаговой доступности магазины аптеки сбербанк.и т.д",
            "images": [
                "https://cdn0.youla.io/files/images/orig/5e/da/5eda159cdaddaa6da4475084-1.jpg",
                "https://cdn0.youla.io/files/images/orig/5e/da/5eda15a195494856b062a598-1.jpg",
                "https://cdn0.youla.io/files/images/orig/5e/da/5eda15a5a38a1930b614e535-1.jpg",
                "https://cdn0.youla.io/files/images/orig/5e/da/5eda15a960c15645d65e1512-1.jpg"
            ],
            "lat": "55.681185",
            "lng": "37.924486",
            "name": "Ольга .",
            "phones": [
                "79000000000"
            ],
            "url": "//youla.io/moskva/nedvijimost/arenda-komnati/",
            "agent": 0,
            "source": "youla.io",
            "created": "2020-06-05T12:53:24+03:00",
            "updated": "2020-06-29T10:57:34+03:00"
        },
        ...
    ],
    "meta": {
        "limit": 10,
        "totalCount": 4784081,
        "rateLimit": 10,
        "rateRemaining": 9,
        "rateReset": 6
    }
}

Объявление

Возвращает данные объявления по его идентификатору. В большинстве случаев, запрос использовать не обязательно, т.к. в списке объявлений отображаются все поля.

Методы: GET | POST

URL запроса: https://inpars.ru/api/v2/estate/:id

ПараметрТипОписание
:idintegerИдентификатор объявления (обязательный параметр).
fieldsstringПоля объявления, которые необходимо вернуть. Через запятую, без лишних символов. По умолчанию возвращаются все поля. Возможные значения: id, regionId, cityId, metroId, typeAd, sectionId, categoryId, title, address, floor, floors, sq, sqLand, cost, text, images, lat, lng, name, phones, url, agent, source, created, updated.
expandstringДополнительные поля, не включенные по умолчанию. Через запятую, без лишних символов. Возможные значения: region, city, type, section, category, metro, material, rentTime, isNew, rooms, history, phoneProtected.
_formatstringФормат возвращаемых данных. Возможные значения: xml, json. По умолчанию необходимый формат будет определен на основе HTTP заголовка "Accept".

Пример запроса на получения информации по объявлению на языке PHP:

<?php
								
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inpars.ru/api/v2/estate/106876174?expand=region,city,type,section,category,metro,material,rentTime,isNew,rooms,history,phoneProtected', // URL запроса
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 3,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => array(
        'Accept: application/json',
        'Authorization: Basic YUVjUzlVZkFhZ0lucGFyU2l2MjNhMGFfdlB6eHFXdm06',
    ),
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
    echo 'cURL Error #:' . $error;
} else {
	echo $response;
}

Пример ответа в формате JSON:

HTTP/1.1 200 OK
Date: Mon, 29 Jun 2020 07:12:40 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 9
X-Rate-Limit-Reset: 6
Content-Type: application/json; charset=UTF-8

{
    "data": {
        "id": 106876174,
        "regionId": 77,
        "cityId": 1,
        "metroId": 30,
        "typeAd": 1,
        "sectionId": 6,
        "categoryId": 29,
        "title": "2-к квартира, 55 м², 9/14 эт.",
        "address": "Москва, Открытое ш., 24к11",
        "floor": 9,
        "floors": 14,
        "sq": 55,
        "sqLand": 0,
        "cost": 43000,
        "text": "Сдаю 2 комнатную квартиру 55 кв м., 9 этаж (14 эт.) панельного дома, комнаты изолированные (17 и 13 кв. м), кухня 9 кв. м. Вся мебель и бытовая техника есть. Окна выходят во двор, домофон, развитая инфраструктура. Собственник.",
        "images": [
            "https://22.img.avito.st/640x480/8845088222.jpg",
            "https://63.img.avito.st/640x480/8845089163.jpg",
            "https://31.img.avito.st/640x480/8845089631.jpg",
            "https://01.img.avito.st/640x480/8845090401.jpg",
            "https://56.img.avito.st/640x480/8845091056.jpg",
            "https://97.img.avito.st/640x480/8845091497.jpg"
        ],
        "lat": "55.823014",
        "lng": "37.757557",
        "name": "Оксана",
        "phones": [
            "79000000000"
        ],
        "url": "https://www.avito.ru/moskva/kvartiry/",
        "agent": 0,
        "source": "avito.ru",
        "created": "2020-06-29T10:57:34+03:00",
        "updated": "2020-06-29T10:57:34+03:00",
        "region": "Москва",
        "city": "Москва",
        "type": "Сдам",
        "section": "Жилая недвижимость",
        "category": "2-к квартира",
        "metro": "Бульвар Рокоссовского",
        "material": "панельный",
        "rentTime": 1,
        "isNew": false,
        "rooms": 2,
        "history": [],
        "phoneProtected": true
    },
    "meta": {
        "rateLimit": 10,
        "rateRemaining": 9,
        "rateReset": 6
    }
}

Описание возвращаемых полей

ПолеТипОписание
idintegerИдентификатор объявления.
regionIdintegerИдентификатор региона.
cityIdintegerИдентификатор города.
metroIdintegerИдентификатор метро.
typeAdintegerИдентификатор типа недвижимости. Возможные значения: 1 - сдам, 2 - продам, 3 - сниму, 4 - куплю.
sectionIdintegerИдентификатор раздела недвижимости.
categoryIdintegerИдентификатор категории недвижимости.
titlestringЗаголовок объявления (может быть пустым).
addressstringАдрес объявления.
floorintegerЭтаж.
floorsintegerЭтажность.
sqfloatПлощадь (м2).
sqLandfloatПлощадь участка (сот.).
costintegerСтоимость.
textstringТекст объявления.
imagesarrayСсылки на изображения.
latstringШирота - точка координат.
lngstringДолгота - точка координат.
namestringИмя пользователя, разместившего объявление.
phonesarrayТелефоны пользователя, разместившего объявление.
urlstringСсылка на источник объявления.
agentintegerАгент или собственник. Возможные значения: 1 - агент, 0 - собственник.
sourcestringИсточник объявления. Возможные значения: avito.ru, cian.ru, irr.ru, n1.ru, youla.io, sob.ru, bazarpnz.ru, kupiprodai.ru, move.ru, realty.yandex.ru.
createdstringДата добавления объявления (на сервер).
updatedstringДата последнего изменения объявления.
regionstringНаименование региона.
citystringНаименование города.
typestringНаименование типа недвижимости.
sectionstringНаименование раздела недвижимости.
categorystringНаименование категории недвижимости.
metrostringНаименование метро.
materialstringМатериал дома.
rentTimeintegerСрок аренды. Возможные значения: 0 - не указан, 1 - на длительный срок, 2 - посуточно.
isNewbooleanНовостройка или вторичка. Возможные значения: true - новостройка, false - вторичка.
roomsintegerКоличество комнат.
historyarrayИстория изменений. Возвращает массив в виде списка полей: date - дата изменения, cost - стоимость, phones - телефоны (массив), phoneProtected - телефон защищен.
phoneProtectedbooleanтелефон защищен.

Список регионов

Возвращает список регионов.

Методы: GET | POST

URL запроса: https://inpars.ru/api/v2/region

ПараметрТипОписание
_formatstringФормат возвращаемых данных. Возможные значения: xml, json. По умолчанию необходимый формат будет определен на основе HTTP заголовка "Accept".

Пример запроса на получение списка регионов на языке PHP:

<?php
								
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inpars.ru/api/v2/region', // URL запроса
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 3,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => array(
        'Accept: application/json',
        'Authorization: Basic YUVjUzlVZkFhZ0lucGFyU2l2MjNhMGFfdlB6eHFXdm06',
    ),
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
    echo 'cURL Error #:' . $error;
} else {
	echo $response;
}

Пример ответа в формате JSON:

HTTP/1.1 200 OK
Date: Mon, 29 Jun 2020 08:24:37 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 9
X-Rate-Limit-Reset: 6
Content-Type: application/json; charset=UTF-8

{
    "data": [
        {
            "id": 1,
            "title": "Республика Адыгея"
        },
        {
            "id": 2,
            "title": "Республика Башкортостан"
        },
        {
            "id": 3,
            "title": "Республика Бурятия"
        },
        ...
    ],
    "meta": {
        "totalCount": 85,
        "rateLimit": 10,
        "rateRemaining": 9,
        "rateReset": 6
    }
}

Описание возвращаемых полей

ПолеТипОписание
idintegerИдентификатор региона.
titlestringНаименование региона.

Список городов

Возвращает список городов.

Методы: GET | POST

URL запроса: https://inpars.ru/api/v2/city

ПараметрТипОписание
regionIdintegerИдентификатор региона. Если указан, то ответ будут отфильтрован по заданному региону.
_formatstringФормат возвращаемых данных. Возможные значения: xml, json. По умолчанию необходимый формат будет определен на основе HTTP заголовка "Accept".

Пример запроса на получение списка городов региона "Республика Адыгея" на языке PHP:

<?php
								
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inpars.ru/api/v2/city?regionId=1', // URL запроса
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 3,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => array(
        'Accept: application/json',
        'Authorization: Basic YUVjUzlVZkFhZ0lucGFyU2l2MjNhMGFfdlB6eHFXdm06',
    ),
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
    echo 'cURL Error #:' . $error;
} else {
	echo $response;
}

Пример ответа в формате JSON:

HTTP/1.1 200 OK
Date: Mon, 29 Jun 2020 08:30:58 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 9
X-Rate-Limit-Reset: 6
Content-Type: application/json; charset=UTF-8

{
    "data": [
        {
            "id": 127,
            "title": "Майкоп",
            "regionId": 1
        },
        {
            "id": 128,
            "title": "Абадзехская",
            "regionId": 1
        },
        {
            "id": 129,
            "title": "Адыгейск",
            "regionId": 1
        },
        ...
    ],
    "meta": {
        "totalCount": 26,
        "rateLimit": 10,
        "rateRemaining": 9,
        "rateReset": 6
    }
}

Описание возвращаемых полей

ПолеТипОписание
idintegerИдентификатор города.
titlestringНаименование города.
regionIdintegerИдентификатор региона.

Список метро

Возвращает список метро.

Методы: GET | POST

URL запроса: https://inpars.ru/api/v2/metro

ПараметрТипОписание
regionIdintegerИдентификатор региона. Если указан, то ответ будут отфильтрован по заданному региону.
cityIdintegerИдентификатор города. Если указан, то ответ будут отфильтрован по заданному городу.
_formatstringФормат возвращаемых данных. Возможные значения: xml, json. По умолчанию необходимый формат будет определен на основе HTTP заголовка "Accept".

Пример запроса на получение списка метро региона "Москва" на языке PHP:

<?php
								
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inpars.ru/api/v2/metro?regionId=77', // URL запроса
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 3,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => array(
        'Accept: application/json',
        'Authorization: Basic YUVjUzlVZkFhZ0lucGFyU2l2MjNhMGFfdlB6eHFXdm06',
    ),
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
    echo 'cURL Error #:' . $error;
} else {
	echo $response;
}

Пример ответа в формате JSON:

HTTP/1.1 200 OK
Date: Mon, 29 Jun 2020 08:35:17 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 9
X-Rate-Limit-Reset: 6
Content-Type: application/json; charset=UTF-8

{
    "data": [
        {
            "id": 1,
            "title": "Андроновка",
            "regionId": 77,
            "cityId": 1
        },
        {
            "id": 2,
            "title": "Авиамоторная",
            "regionId": 77,
            "cityId": 1
        },
        {
            "id": 3,
            "title": "Автозаводская",
            "regionId": 77,
            "cityId": 1
        },
        ...
    ],
    "meta": {
        "totalCount": 239,
        "rateLimit": 10,
        "rateRemaining": 9,
        "rateReset": 6
    }
}

Описание возвращаемых полей

ПолеТипОписание
idintegerИдентификатор метро.
titlestringНаименование города.
regionIdintegerИдентификатор региона.
cityIdintegerИдентификатор города.

Список разделов

Возвращает список разделов недвижимости.

Методы: GET | POST

URL запроса: https://inpars.ru/api/v2/estate/section

ПараметрТипОписание
_formatstringФормат возвращаемых данных. Возможные значения: xml, json. По умолчанию необходимый формат будет определен на основе HTTP заголовка "Accept".

Пример запроса на получение списка разделов недвижимости на языке PHP:

<?php
								
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inpars.ru/api/v2/estate/section?access-token=aEcS9UfAagInparSiv23a0a_vPzxqWvm', // URL запроса
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 3,
    CURLOPT_TIMEOUT => 30,
	CURLOPT_HTTPHEADER => array(
        'Accept: application/json'
	)
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
    echo 'cURL Error #:' . $error;
} else {
	echo $response;
}

Пример ответа в формате JSON:

HTTP/1.1 200 OK
Date: Mon, 29 Jun 2020 08:38:40 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 9
X-Rate-Limit-Reset: 6
Content-Type: application/json; charset=UTF-8

{
    "data": [
        {
            "id": 1,
            "typeId": 2,
            "title": "Жилая недвижимость"
        },
        {
            "id": 4,
            "typeId": 2,
            "title": "Коммерческая недвижимость"
        },
        {
            "id": 5,
            "typeId": 2,
            "title": "Загородная недвижимость"
        },
        {
            "id": 6,
            "typeId": 1,
            "title": "Жилая недвижимость"
        },
        {
            "id": 7,
            "typeId": 1,
            "title": "Коммерческая недвижимость"
        },
        {
            "id": 8,
            "typeId": 1,
            "title": "Загородная недвижимость"
        }
    ],
    "meta": {
        "totalCount": 6,
        "rateLimit": 10,
        "rateRemaining": 9,
        "rateReset": 6
    }
}

Описание возвращаемых полей

ПолеТипОписание
idintegerИдентификатор раздела.
titlestringНаименование раздела
typeIdintegerТип раздела недвижимости, не путать с typeAd (раздела списка объявлений). Возможные значения: 1 - аренда (сюда входят типы недвижимости: сдам и сниму), 2 - продажа (сюда входят типы недвижимости: продам и куплю).

Список категорий

Возвращает список категорий недвижимости.

Методы: GET | POST

URL запроса: https://inpars.ru/api/v2/estate/category

ПараметрТипОписание
sectionIdintegerИдентификатор раздела. Если указан, то ответ будут отфильтрован по заданному разделу.
_formatstringФормат возвращаемых данных. Возможные значения: xml, json. По умолчанию необходимый формат будет определен на основе HTTP заголовка "Accept".

Пример запроса на получение списка категорий недвижимости на языке PHP:

<?php
								
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inpars.ru/api/v2/estate/category?access-token=aEcS9UfAagInparSiv23a0a_vPzxqWvm', // URL запроса
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 3,
    CURLOPT_TIMEOUT => 30,
	CURLOPT_HTTPHEADER => array(
        'Accept: application/json'
	)
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
    echo 'cURL Error #:' . $error;
} else {
	echo $response;
}

Пример ответа в формате JSON:

HTTP/1.1 200 OK
Date: Mon, 29 Jun 2020 08:40:17 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 9
X-Rate-Limit-Reset: 6
Content-Type: application/json; charset=UTF-8

{
    "data": [
        {
            "id": 1,
            "title": "1-к квартира",
            "typeId": 2,
            "sectionId": 1
        },
        {
            "id": 2,
            "title": "2-к квартира",
            "typeId": 2,
            "sectionId": 1
        },
        {
            "id": 3,
            "title": "3-к квартира",
            "typeId": 2,
            "sectionId": 1
        },
        ...
    ],
    "meta": {
        "totalCount": 30,
        "rateLimit": 10,
        "rateRemaining": 9,
        "rateReset": 6
    }
}

Описание возвращаемых полей

ПолеТипОписание
idintegerИдентификатор категории.
titlestringНаименование категории
typeIdintegerТип раздела недвижимости, не путать с typeAd (раздела списка объявлений). Возможные значения: 1 - аренда (сюда входят типы недвижимости: сдам и сниму), 2 - продажа (сюда входят типы недвижимости: продам и куплю).
sectionIdintegerИдентификатор раздела.

Подписка

Возвращает список активных подписок.

Методы: GET | POST

URL запроса: https://inpars.ru/api/v2/user/subscribe

ПараметрТипОписание
_formatstringФормат возвращаемых данных. Возможные значения: xml, json. По умолчанию необходимый формат будет определен на основе HTTP заголовка "Accept".

Пример запроса на получение списка активных подписок на языке PHP:

<?php
								
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://inpars.ru/api/v2/user/subscribe?access-token=aEcS9UfAagInparSiv23a0a_vPzxqWvm', // URL запроса
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 3,
    CURLOPT_TIMEOUT => 30,
	CURLOPT_HTTPHEADER => array(
        'Accept: application/json'
	)
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
    echo 'cURL Error #:' . $error;
} else {
	echo $response;
}

Пример ответа в формате JSON:

HTTP/1.1 200 OK
Date: Mon, 29 Jun 2020 08:41:54 GMT
X-Rate-Limit-Limit: 10
X-Rate-Limit-Remaining: 9
X-Rate-Limit-Reset: 6
Content-Type: application/json; charset=UTF-8

{
    "data": [
        {
            "regionId": 55,
            "typeId": 1,
            "startTime": "2020-06-12T21:00:00+03:00",
            "endTime": "2020-07-13T21:00:00+03:00",
            "subscribe": "1 месяц",
            "api": false
        },
        {
            "regionId": 77,
            "typeId": 1,
            "startTime": "2020-03-02T10:10:00+03:00",
            "endTime": "2020-07-31T10:10:00+03:00",
            "subscribe": "API 1 месяц",
            "api": true
        }
    ],
    "meta": {
        "totalCount": 2,
        "rateLimit": 10,
        "rateRemaining": 9,
        "rateReset": 6
    }
}

Описание возвращаемых полей

ПолеТипОписание
regionIdintegerИдентификатор региона.
typeIdintegerТип раздела недвижимости, не путать с typeAd (раздела списка объявлений). Возможные значения: 1 - аренда (сюда входят типы недвижимости: сдам и сниму), 2 - продажа (сюда входят типы недвижимости: продам и куплю).
startTimestringДата начала действия подписки.
endTimestringДата окончания действия подписки.
subscribestringНаименование подписки.
apibooleanТип подписки: сайт или API. Возможные значения: true - API, false - сайт.

Коды ошибок

Cписок кодов состояния HTTP, возвращаемых сервисом.

КодСтатус
200OK. Все сработало именно так, как и ожидалось.
400Неверный запрос. Может быть связано с разнообразными проблемами, такими как неправильные параметры действия, и т.д.
401Аутентификация завершилась неудачно.
402Для доступа к сервису необходима оплата.
403Аутентифицированному пользователю не разрешен доступ к указанной точке входа API.
404Запрошенные данные не существуют.
405Метод не поддерживается. Сверьтесь со списком поддерживаемых HTTP-методов в заголовке Allow.
415Не поддерживаемый тип данных. Запрашивается неправильный тип данных или номер версии.
429Слишком много запросов. Запрос отклонен из-за превышения ограничения частоты запросов.
500Внутренняя ошибка сервера.

Примеры

Примеры в разработке...