ДокументацияAPI
Поиск адреса
Подсказки по мере ввода: человек набирает начало адреса, API возвращает подходящие адреса из ГАР — от региона до квартиры.
Подходит любой ключ: публичный и секретный.
Параметры
| Параметр | Тип | Что это |
|---|---|---|
| q | строка | Обязательный. Адрес или его начало, как его ввёл человек, до 300 байт. Регистр, «ё» и сокращения вроде «ул» или «пр-кт» не важны. |
| count | 1–50 | Сколько адресов вернуть. По умолчанию 10. |
| parent | id или GUID | Искать только внутри этого объекта: региона, города, района, улицы. |
| levels | список | Только эти уровни: номера 1–17 или имена |
| details | true/false | Добавить к каждому адресу все поля: индекс, коды, координаты, метро (все поля). По умолчанию false. |
В GET параметры идут в строке запроса, в POST — в JSON с теми же именами. Неизвестный параметр — ошибка 400 bad_parameter.
Улица
Город и начало названия улицы. Первой идёт сама улица, за ней дома на ней.
curl -G https://api.adresnitsa.ru/v1/search \ -H "Authorization: Token ВАШ_КЛЮЧ" \ --data-urlencode "q=санкт-петербург невский" \ -d count=5
const url = new URL("https://api.adresnitsa.ru/v1/search"); url.search = new URLSearchParams({ q: "санкт-петербург невский", count: "5" }); const res = await fetch(url, { headers: { Authorization: "Token ВАШ_КЛЮЧ" }, }); const data = await res.json();
import requests
res = requests.get(
"https://api.adresnitsa.ru/v1/search",
params={"q": "санкт-петербург невский", "count": 5},
headers={"Authorization": "Token ВАШ_КЛЮЧ"},
timeout=5,
)
data = res.json()<?php $url = "https://api.adresnitsa.ru/v1/search?" . http_build_query([ "q" => "санкт-петербург невский", "count" => 5, ]); $ctx = stream_context_create(["http" => [ "header" => "Authorization: Token ВАШ_КЛЮЧ\r\n", "ignore_errors" => true, ]]); $data = json_decode(file_get_contents($url, false, $ctx), true);
{
"count": 5,
"query": "санкт-петербург невский",
"results": [
{
"level": 8,
"guid": "d5954ac1-4745-451c-a482-acc0bd381ad0",
"address": "г Санкт-Петербург, Невский пр-кт",
"id": 1450752,
"components": ["г Санкт-Петербург", "Невский пр-кт"]
},
{
"level": 10,
"guid": "0b022b73-c8de-4ea0-ba19-6b54c8eb500e",
"address": "г Санкт-Петербург, Невский пр-кт, соор 34/1",
"id": 157832996,
"components": ["г Санкт-Петербург", "Невский пр-кт", "соор 34/1"]
},
{
"level": 10,
"guid": "dc65f4e8-6eb1-4058-815b-7132705d7481",
"address": "г Санкт-Петербург, Невский пр-кт, д 35",
"id": 57912498,
"components": ["г Санкт-Петербург", "Невский пр-кт", "д 35"]
},
{
"level": 10,
"guid": "cf9f0961-29f6-4f31-9a04-c1981283d6ff",
"address": "г Санкт-Петербург, Невский пр-кт, соор 84/1",
"id": 157833008,
"components": ["г Санкт-Петербург", "Невский пр-кт", "соор 84/1"]
},
{
"level": 10,
"guid": "8ffadb74-00fb-415f-aadc-ff1b01e9c067",
"address": "г Санкт-Петербург, Невский пр-кт, д 114",
"id": 58042164,
"components": ["г Санкт-Петербург", "Невский пр-кт", "д 114"]
}
]
}Дом со всеми полями
Тот же поиск через POST и с details: true: в ответе сразу индекс, ОКТМО, кадастровый номер, координаты, метро, МКАД и документы. Отдельный запрос за полями не нужен.
curl https://api.adresnitsa.ru/v1/search \ -H "Authorization: Token ВАШ_КЛЮЧ" \ -H "Content-Type: application/json" \ -d '{"q": "москва сухонская 11", "count": 1, "details": true}'
const res = await fetch("https://api.adresnitsa.ru/v1/search", { method: "POST", headers: { Authorization: "Token ВАШ_КЛЮЧ", "Content-Type": "application/json", }, body: JSON.stringify({ q: "москва сухонская 11", count: 1, details: true }), }); const data = await res.json();
import requests
res = requests.post(
"https://api.adresnitsa.ru/v1/search",
json={"q": "москва сухонская 11", "count": 1, "details": True},
headers={"Authorization": "Token ВАШ_КЛЮЧ"},
timeout=5,
)
data = res.json()<?php $body = json_encode(["q" => "москва сухонская 11", "count" => 1, "details" => true], JSON_UNESCAPED_UNICODE); $ctx = stream_context_create(["http" => [ "method" => "POST", "header" => "Authorization: Token ВАШ_КЛЮЧ\r\n" . "Content-Type: application/json\r\n", "content" => $body, "ignore_errors" => true, ]]); $data = json_decode(file_get_contents("https://api.adresnitsa.ru/v1/search", false, $ctx), true);
{
"count": 1,
"query": "москва сухонская 11",
"results": [
{
"level": 10,
"guid": "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255",
"details": {
"geo": {"lon": 37.6536694, "lat": 55.878344999999996, "qc": 0},
"id": 26847188,
"components": ["г Москва", "ул Сухонская", "д 11"],
"postalCode": "127642",
"oktmo": "45362000",
"metro": [
{
"distance": 1.1,
"colour": "#ffa500",
"line": "Калужско-Рижская",
"name": "Медведково"
},
{
"distance": 1.2,
"colour": "#ffa500",
"line": "Калужско-Рижская",
"name": "Бабушкинская"
},
{
"distance": 2.6,
"colour": "#ffa500",
"line": "Калужско-Рижская",
"name": "Свиблово"
}
],
"address": "г Москва, ул Сухонская, д 11",
"multiApartment": true,
"lastChangedBy": {
"typeName": "Распоряжение",
"kindName": "Технический документ",
"organisation": "ДЕПАРТАМЕНТ ГОРОДСКОГО ИМУЩЕСТВА ГОРОДА МОСКВЫ",
"number": "71183",
"date": "2022-12-05",
"name": "О размещении реквизитов объектов адресации в Адресном реестре объектов недвижимости города Москвы и государственном адресном реестре"
},
"federalDistrict": "Центральный",
"level": 10,
"kind": "Дом",
"ifnsFl": "7715",
"kladr": "77000000000283600",
"regionCode": "77",
"addressParts": {
"city": "г Москва",
"street": "ул Сухонская",
"region": "г Москва",
"byLevel": [
{"level": 1, "text": "г Москва", "id": 1405113},
{"level": 8, "text": "ул Сухонская", "id": 1404570},
{
"level": 10,
"kind": "Дом",
"text": "д 11",
"id": 26847188,
"self": true
}
]
},
"postFileDate": "2026-10-05",
"ifnsUl": "7715",
"cadastral": "77:02:0004008:1017",
"country": "Россия",
"timeZone": "Europe/Moscow",
"osmDate": "2026-10-10",
"isoCode": "RU-MOW",
"levelName": "Здание (строение), сооружение",
"geonameId": 524901,
"postOffice": {
"type": "О",
"date": "2002-04-04",
"name": "МОСКВА 642"
},
"guidActual": true,
"beltway": {"hit": "IN_MKAD"},
"guid": "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255",
"utcOffset": "UTC+3",
"assignedBy": {
"typeName": "Распоряжение",
"kindName": "Нормативный документ",
"organisation": "",
"number": "10732",
"date": "2017-04-14",
"name": "О присвоении адреса объекту адресации"
},
"okato": "45280583000"
},
"address": "г Москва, ул Сухонская, д 11",
"id": 26847188,
"components": ["г Москва", "ул Сухонская", "д 11"]
}
]
}Только в одном городе
Если город уже выбран, передайте его GUID или id в parent, а в q — только улицу. Здесь — Казань: её GUID пришёл в поиске «казань» с levels=city.
curl -G https://api.adresnitsa.ru/v1/search \ -H "Authorization: Token ВАШ_КЛЮЧ" \ --data-urlencode "q=баумана" \ -d parent=93b3df57-4c89-44df-ac42-96f05e9cd3b9 \ -d count=5
const url = new URL("https://api.adresnitsa.ru/v1/search"); url.search = new URLSearchParams({ q: "баумана", parent: "93b3df57-4c89-44df-ac42-96f05e9cd3b9", count: "5" }); const res = await fetch(url, { headers: { Authorization: "Token ВАШ_КЛЮЧ" }, }); const data = await res.json();
import requests
res = requests.get(
"https://api.adresnitsa.ru/v1/search",
params={"q": "баумана", "parent": "93b3df57-4c89-44df-ac42-96f05e9cd3b9", "count": 5},
headers={"Authorization": "Token ВАШ_КЛЮЧ"},
timeout=5,
)
data = res.json()<?php $url = "https://api.adresnitsa.ru/v1/search?" . http_build_query([ "q" => "баумана", "parent" => "93b3df57-4c89-44df-ac42-96f05e9cd3b9", "count" => 5, ]); $ctx = stream_context_create(["http" => [ "header" => "Authorization: Token ВАШ_КЛЮЧ\r\n", "ignore_errors" => true, ]]); $data = json_decode(file_get_contents($url, false, $ctx), true);
{
"count": 5,
"query": "баумана",
"results": [
{
"level": 8,
"guid": "6281e764-f9b2-462b-bbba-dcb1ab7527c4",
"address": "г Казань, ул Баумана",
"id": 173194,
"components": ["г Казань", "ул Баумана"]
},
{
"level": 10,
"guid": "e5962ca2-3ddf-433b-b643-7b14d570e368",
"address": "г Казань, ул Баумана, д 1/2",
"id": 162496233,
"components": ["г Казань", "ул Баумана", "д 1/2"]
},
{
"level": 10,
"guid": "c2cfb93f-24c0-4f6c-a9b3-bbc39f3111ac",
"address": "г Казань, ул Баумана, зд 3",
"id": 73265319,
"components": ["г Казань", "ул Баумана", "зд 3"]
},
{
"level": 10,
"guid": "adb0d03e-6a62-47f1-8c32-40563a41f9b0",
"address": "г Казань, ул Баумана, д 5",
"id": 73182368,
"components": ["г Казань", "ул Баумана", "д 5"]
},
{
"level": 10,
"guid": "ed83e3d8-6aa4-4ebe-9e6e-e573bfd8f49a",
"address": "г Казань, ул Баумана, д 7",
"id": 73276869,
"components": ["г Казань", "ул Баумана", "д 7"]
}
]
}Только улицы
levels=street оставляет в ответе только улицы — например, для отдельного поля «Улица» в форме.
curl -G https://api.adresnitsa.ru/v1/search \ -H "Authorization: Token ВАШ_КЛЮЧ" \ --data-urlencode "q=екатеринбург ленина" \ -d levels=street \ -d count=5
const url = new URL("https://api.adresnitsa.ru/v1/search"); url.search = new URLSearchParams({ q: "екатеринбург ленина", levels: "street", count: "5" }); const res = await fetch(url, { headers: { Authorization: "Token ВАШ_КЛЮЧ" }, }); const data = await res.json();
import requests
res = requests.get(
"https://api.adresnitsa.ru/v1/search",
params={"q": "екатеринбург ленина", "levels": "street", "count": 5},
headers={"Authorization": "Token ВАШ_КЛЮЧ"},
timeout=5,
)
data = res.json()<?php $url = "https://api.adresnitsa.ru/v1/search?" . http_build_query([ "q" => "екатеринбург ленина", "levels" => "street", "count" => 5, ]); $ctx = stream_context_create(["http" => [ "header" => "Authorization: Token ВАШ_КЛЮЧ\r\n", "ignore_errors" => true, ]]); $data = json_decode(file_get_contents($url, false, $ctx), true);
{
"count": 5,
"query": "екатеринбург ленина",
"results": [
{
"level": 8,
"guid": "6441e17d-e086-48f4-a5a6-0cc1a4a474b9",
"address": "г Екатеринбург, пр-кт Ленина",
"id": 1183514,
"components": ["г Екатеринбург", "пр-кт Ленина"]
},
{
"level": 8,
"guid": "3b399f8b-ae59-4191-b4e1-f2ba4dea9093",
"address": "г Екатеринбург, поселок Шабровский, ул Ленина",
"id": 1201083,
"components": ["г Екатеринбург", "поселок Шабровский", "ул Ленина"]
},
{
"level": 8,
"guid": "348d08ee-0a22-4101-bc4b-c3083432f9ff",
"address": "г Екатеринбург, село Горный Щит, ул Ленина",
"id": 1189818,
"components": ["г Екатеринбург", "село Горный Щит", "ул Ленина"]
},
{
"level": 8,
"guid": "c8b3676f-979b-4f02-b62f-8e4d22868565",
"address": "г Екатеринбург, пр-кт Ленина/Мира",
"id": 1208382,
"components": ["г Екатеринбург", "пр-кт Ленина/Мира"]
},
{
"level": 8,
"guid": "c0ba9a18-1ff5-47c5-872b-09f4a1d30e17",
"address": "г Екатеринбург, пр-кт Ленина/Толмачева",
"id": 95528387,
"components": ["г Екатеринбург", "пр-кт Ленина/Толмачева"]
}
]
}Ответ
query— запрос, как его получил сервер;count— сколько адресов в ответе.results— адреса, сначала лучшие:id,guid,level,address,componentsи сdetails=true—details.- Ничего не нашлось — ответ 200 с пустым
results.
Каждое поле описано на странице «Все поля».