Документация API Адресли

Адресли — один API для трёх задач: подсказки адресов и индексов, геокодирование в обе стороны и расчёт маршрутов. Запросы — HTTP POST с JSON-телом, ответы — JSON. Один токен открывает все эндпоинты. Объект адреса содержит полный набор полей — от региона до дома, с кодами ФИАС и координатами.

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

Базовый URL
https://api.adresly.ru

Хотите попробовать запросы без регистрации? Откройте песочницу — там можно дёргать живой API с предзаполненными примерами.

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

Каждый запрос требует заголовок Authorization: Token <ваш токен>. Выпустить и посмотреть токен — в ЛК. Заголовок Bearer <токен> тоже поддерживается.

bash
curl -s "https://api.adresly.ru/v1/rs/suggest/address" \ -H "Authorization: Token adr_xxx" \ -H "Content-Type: application/json" \ -d '{"query":"мск тверс"}'

Ошибки

Все ошибки возвращаются как JSON { "error": "...", "message": "..." } с подходящим HTTP-кодом.

HTTPerrorКогда
400bad_requestНевалидный JSON или параметры запроса (подробности — в message).
400matrix_too_largesources × destinations превышает 10 000 пар.
401missing_tokenНе передан заголовок Authorization.
401invalid_tokenТокен не найден или отозван.
429limit_exceededДостигнут суточный лимит тарифа (поле scope: total — суммарный, routing — матрица расстояний). Восстанавливается в 00:00 по МСК.
422unresolved_pointНе удалось геокодировать одну из точек маршрута (point_index — её номер).
422unresolved_sourceНе удалось геокодировать один из sources матрицы.
422unresolved_destinationНе удалось геокодировать одно из destinations матрицы.
500internal_errorВнутренняя ошибка сервиса. Повторите запрос позже.
502osrm_errorОшибка маршрутизатора OSRM (точка вне поддерживаемой страны и т. п.).

Объект адреса (data)

Подсказки адресов, подсказки индексов, геокодирование и обратное геокодирование возвращают элементы suggestions[].data одного формата — ниже описано каждое поле. Поля, для которых пока нет источника данных, всегда возвращаются со значением null (это отмечено в описании) — по мере подключения справочников они начнут заполняться без изменения формата.

ПолеТипОписание
postal_codestringПочтовый индекс. Берётся у дома (у длинной улицы индексов несколько); если у дома его в ГАР нет — null.
countrystringСтрана. Всегда «Россия».
country_iso_codestringКод страны по ISO 3166-1: «RU».
federal_districtstringФедеральный округ («Центральный», «Уральский», …).
region_fias_idstringКод ФИАС региона. Заполняется, когда сама подсказка уровня региона.
region_kladr_idstringКод КЛАДР региона. Заполняется из полного ГАР.
region_iso_codestringКод региона по ISO 3166-2 («RU-MOW», «RU-SVE»).
region_with_typestringРегион с типом («Московская обл», «г Москва»).
region_typestringТип региона, кратко («обл», «респ», «край», «г»).
region_type_fullstringТип региона полностью («область», «республика», «город»).
regionstringРегион без типа («Московская», «Татарстан»).
area_fias_idstringКод ФИАС района в регионе. Заполняется из полного ГАР.
area_kladr_idstringКод КЛАДР района в регионе. Заполняется из полного ГАР.
area_with_typestringРайон в регионе с типом («Динской р-н»). Заполняется из полного ГАР.
area_typestringТип района, кратко («р-н»). Заполняется из полного ГАР.
area_type_fullstringТип района полностью («район»). Заполняется из полного ГАР.
areastringРайон в регионе без типа. Заполняется из полного ГАР.
sub_area_fias_idstringКод ФИАС поселения (муниципальное деление). Заполняется из полного ГАР при division=municipal.
sub_area_kladr_idstringКод КЛАДР поселения. Заполняется из полного ГАР при division=municipal.
sub_area_with_typestringПоселение с типом. Заполняется из полного ГАР при division=municipal.
sub_area_typestringТип поселения, кратко. Заполняется из полного ГАР при division=municipal.
sub_area_type_fullstringТип поселения полностью. Заполняется из полного ГАР при division=municipal.
sub_areastringПоселение без типа. Заполняется из полного ГАР при division=municipal.
city_fias_idstringКод ФИАС города. Заполняется, когда сама подсказка уровня города.
city_kladr_idstringКод КЛАДР города. Заполняется из полного ГАР.
city_with_typestringГород с типом («г Москва»).
city_typestringТип города, кратко («г»).
city_type_fullstringТип города полностью («город»).
citystringГород без типа («Москва»).
city_areastringАдминистративный округ города («ЦАО»). Пока не заполняется (null).
city_district_fias_idstringКод ФИАС района города. Заполняется из полного ГАР. Если объект есть в реестре.
city_district_kladr_idstringКод КЛАДР района города. Заполняется из полного ГАР. Если объект есть в реестре.
city_district_with_typestringРайон города с типом («Центральный р-н»). Заполняется из полного ГАР. Если объект есть в реестре.
city_district_typestringТип района города, кратко. Заполняется из полного ГАР. Если объект есть в реестре.
city_district_type_fullstringТип района города полностью. Заполняется из полного ГАР. Если объект есть в реестре.
city_districtstringРайон города без типа. Заполняется из полного ГАР. Если объект есть в реестре.
settlement_fias_idstringКод ФИАС населённого пункта. Заполняется из полного ГАР.
settlement_kladr_idstringКод КЛАДР населённого пункта. Заполняется из полного ГАР.
settlement_with_typestringНаселённый пункт с типом («д Иваново»). Заполняется из полного ГАР.
settlement_typestringТип населённого пункта, кратко («д», «п», «с»). Заполняется из полного ГАР.
settlement_type_fullstringТип населённого пункта полностью. Заполняется из полного ГАР.
settlementstringНаселённый пункт без типа. Заполняется из полного ГАР.
street_fias_idstringКод ФИАС улицы.
street_kladr_idstringКод КЛАДР улицы (параметр ГАР). У домов кода КЛАДР в ГАР нет — house_kladr_id всегда null.
street_with_typestringУлица с типом («ул Тверская»).
street_typestringТип улицы, кратко («ул», «пр-кт», «пер»).
street_type_fullstringТип улицы полностью («улица», «проспект»).
streetstringУлица без типа («Тверская»).
stead_fias_idstringКод ФИАС земельного участка. Появится с поиском участков (gar.steads).
stead_cadnumstringКадастровый номер участка. Пока не заполняется (null).
stead_typestringТип участка, кратко («уч»). Пока не заполняется (null).
stead_type_fullstringТип участка полностью («участок»). Пока не заполняется (null).
steadstringНомер земельного участка. Пока не заполняется (null).
house_fias_idstringКод ФИАС дома. Заполняется, когда сама подсказка уровня дома.
house_kladr_idstringКод КЛАДР дома. Заполняется из полного ГАР.
house_cadnumstringКадастровый номер дома. Заполняется из полного ГАР. Где есть в реестре.
house_typestringТип дома, кратко («д»).
house_type_fullstringТип дома полностью («дом»).
housestringНомер дома («28», «28к1», «47/7»).
block_typestringТип корпуса/строения, кратко («к», «стр»). Заполняется из полного ГАР.
block_type_fullstringТип корпуса/строения полностью («корпус», «строение»). Заполняется из полного ГАР.
blockstringНомер корпуса/строения. Заполняется из полного ГАР.
entrancestringПодъезд. Пока не заполняется (null).
floorstringЭтаж. Пока не заполняется (null).
flat_fias_idstringКод ФИАС квартиры/помещения. Заполняется, когда подсказка уровня квартиры (gar.apartments).
flat_cadnumstringКадастровый номер квартиры. Пока не заполняется (null).
flat_typestringТип квартиры/помещения, кратко («кв», «пом», «оф»). Заполняется на уровне квартиры.
flat_type_fullstringТип квартиры/помещения полностью («квартира», «помещение»). Заполняется на уровне квартиры.
flatstringНомер квартиры/помещения. Заполняется, когда в запросе указан номер (например «кв 5», «пом 3») или to_bound=flat.
flat_areastringПлощадь квартиры. Пока не заполняется (null).
square_meter_pricestringРыночная цена м². Пока не заполняется (null).
flat_pricestringРыночная цена квартиры. Пока не заполняется (null).
house_flat_countstringКоличество квартир в доме. Пока не заполняется (null).
room_fias_idstringКод ФИАС комнаты. Заполняется, когда подсказка уровня комнаты (gar.rooms).
room_cadnumstringКадастровый номер комнаты. Пока не заполняется (null).
room_typestringТип комнаты, кратко («комн»). Заполняется на уровне комнаты.
room_type_fullstringТип комнаты полностью («комната»). Заполняется на уровне комнаты.
roomstringНомер комнаты. Заполняется, когда в запросе указан номер («комн 3») или to_bound=room.
postal_boxstringАбонентский ящик. Пока не заполняется (null).
fias_idstringКод ФИАС (ГАР) подсказанного объекта: квартиры, дома, улицы или населённого пункта.
fias_codestringИерархический код ФИАС. Пока не заполняется (null).
fias_levelstringУровень детализации, до которого распознан адрес: 1 — регион, 3 — район, 4 — город, 5 — район города, 6 — населённый пункт, 7 — улица, 8 — дом, 9 — помещение, 65 — планировочная структура, −1 — не определён.
fias_actuality_statestringПризнак актуальности в ФИАС: 0 — актуальный.
kladr_idstringКод КЛАДР самого глубокого доступного уровня — улицы.
geoname_idstringИдентификатор GeoNames. Пока не заполняется (null).
capital_markerstringПризнак центра региона: 2 — город является административным центром региона, 0 — нет.
okatostringКод ОКАТО. Заполняется из полного ГАР.
oktmostringКод ОКТМО. Заполняется из полного ГАР.
tax_officestringКод ИФНС для физлиц. Заполняется из полного ГАР.
tax_office_legalstringКод ИФНС для юрлиц. Заполняется из полного ГАР.
timezonestringЧасовой пояс по региону («UTC+3», «UTC+5»).
geo_latstringШирота (строка).
geo_lonstringДолгота (строка).
beltway_hitstringВнутри/снаружи МКАД или КАД. Пока не заполняется (null).
beltway_distancenumberРасстояние до МКАД/КАД, км. Пока не заполняется (null).
metroarrayБлижайшие станции метро [{ name, line, distance }]. Пока не заполняется (null).
qc_geostringТочность координат: 0 — точные (дом), 1 — ближайший дом, 2 — улица, 3 — населённый пункт, 4 — город, 5 — не определены. У домов, добранных из полного ГАР, координаты уличные — qc_geo = 2.
qc_completestringПолнота адреса: 0 — до квартиры, 1 — до дома, 2 — до улицы, 3 — до города/населённого пункта, 4 — до района/региона, 9 — не распознан.
qc_housestringТочность дома: 2 — дом определён; 4 — дом не найден (есть только улица). На уровне выше улицы — null.
history_valuesarrayПрежние названия улицы. Заполняется, когда адрес найден по СТАРОМУ названию: «ул. Л.Орловой» → «ул. Любови Орловой».
cadastral_numberstringКадастровый номер помещения (параметр ГАР). Есть только у квартир и помещений — у домов в ГАР его нет.
unparsed_partsarrayНераспознанные части адреса. Пока не заполняется (null).
sourcestringИсходная строка запроса. Сохранён для совместимости с форматом DaData, в подсказках всегда null.
qcstringИтоговый вердикт записи. Сохранён для совместимости с форматом DaData, в подсказках всегда null (качество координат смотрите в qc_geo).

Подсказки адресов

POST/v1/rs/suggest/addressучитывается как suggest_address

Автодополнение по префиксу: пользователь ввёл часть строки — сервис возвращает до 20 нормализованных адресов с разложением на компоненты, индексом и координатами. Поле data содержит полный набор адресных атрибутов — от региона до квартиры, с кодами ФИАС. Дом, корпус/строение/литеру и квартиру можно указывать одной строкой («тверская 28 к 3 кв 45»), маркеры и склейки распознаются. Поддерживает сокращения городов («мск», «спб», «ебург») и типов улиц.

Параметры тела

ПараметрТипОписание
queryобяз.stringЗапрос пользователя. От 1 до 200 символов.
countintegerСколько вариантов вернуть. 1–20, по умолчанию 10.
locationsarrayОграничить область поиска: массив объектов { region } и/или { city }, элементы объединяются по ИЛИ. Пример: [{ "city": "Москва" }].
to_boundobjectГранулярность подсказок: { "value": "street" } — только до улицы (без домов), { "value": "house" } — до дома (режим «дома выбранной улицы», даже без номера в запросе), { "value": "flat" } — до квартиры/помещения, { "value": "room" } — до комнаты. Значения region/area/city/settlement ограничивают выдачу населёнными пунктами.
from_boundobjectПринимается для совместимости со сторонними виджетами подсказок, на выборку не влияет.
divisionstringДеление для полей area/sub_area/settlement: administrative (по умолчанию) или municipal. Принимается регистронезависимо.

Поля ответа

ПолеТипОписание
suggestionsarrayСписок найденных вариантов, не больше count.
suggestions[].valuestringАдрес одной строкой — то, что подставляется в поле ввода.
suggestions[].unrestricted_valuestringАдрес одной строкой вместе с почтовым индексом.
suggestions[].dataobjectГранулярный адрес — см. раздел «Объект адреса (data)».

Полное описание всех полей data — в разделе «Объект адреса (data)».

Пример запроса

curl
curl -s -X POST "https://api.adresly.ru/v1/rs/suggest/address" \ -H "Authorization: Token adr_xxx" \ -H "Content-Type: application/json" \ -d '{ "query": "мск тверская 28", "count": 1 }'

Пример ответа

json
{ "suggestions": [ { "value": "г Москва, ул Тверская, д 28", "unrestricted_value": "125009, г Москва, ул Тверская, д 28", "data": { "postal_code": "125009", "country": "Россия", "country_iso_code": "RU", "federal_district": "Центральный", "region_fias_id": null, "region_kladr_id": null, "region_iso_code": "RU-MOW", "region_with_type": "г Москва", "region_type": "г", "region_type_full": "город", "region": "Москва", "area_fias_id": null, "area_kladr_id": null, "area_with_type": null, "area_type": null, "area_type_full": null, "area": null, "sub_area_fias_id": null, "sub_area_kladr_id": null, "sub_area_with_type": null, "sub_area_type": null, "sub_area_type_full": null, "sub_area": null, "city_fias_id": null, "city_kladr_id": null, "city_with_type": "г Москва", "city_type": "г", "city_type_full": "город", "city": "Москва", "city_area": null, "city_district_fias_id": null, "city_district_kladr_id": null, "city_district_with_type": null, "city_district_type": null, "city_district_type_full": null, "city_district": null, "settlement_fias_id": null, "settlement_kladr_id": null, "settlement_with_type": null, "settlement_type": null, "settlement_type_full": null, "settlement": null, "street_fias_id": "9120b43f-2fae-4838-a144-85e43c0f4d1e", "street_kladr_id": null, "street_with_type": "ул Тверская", "street_type": "ул", "street_type_full": "улица", "street": "Тверская", "stead_fias_id": null, "stead_cadnum": null, "stead_type": null, "stead_type_full": null, "stead": null, "house_fias_id": "fd2911a0-4bb8-4039-a45a-37c0e103e91b", "house_kladr_id": null, "house_cadnum": null, "house_type": "д", "house_type_full": "дом", "house": "28", "block_type": null, "block_type_full": null, "block": null, "entrance": null, "floor": null, "flat_fias_id": null, "flat_cadnum": null, "flat_type": null, "flat_type_full": null, "flat": null, "flat_area": null, "square_meter_price": null, "flat_price": null, "house_flat_count": null, "room_fias_id": null, "room_cadnum": null, "room_type": null, "room_type_full": null, "room": null, "postal_box": null, "fias_id": "fd2911a0-4bb8-4039-a45a-37c0e103e91b", "fias_code": null, "fias_level": "8", "fias_actuality_state": "0", "kladr_id": null, "geoname_id": null, "capital_marker": "2", "okato": null, "oktmo": null, "tax_office": null, "tax_office_legal": null, "timezone": "UTC+3", "geo_lat": "55.7649", "geo_lon": "37.6050", "beltway_hit": null, "beltway_distance": null, "metro": null, "qc_geo": "0", "qc_complete": null, "qc_house": null, "history_values": null, "unparsed_parts": null, "source": null, "qc": null } } ] }
Полный состав data — в разделе «Объект адреса (data)» с описанием каждого поля. Поля без источника данных (КЛАДР, ОКАТО/ОКТМО, кадастр, метро и т. п.) возвращаются как null. Ранжирование: если запрос начинается с города или региона («краснодар ленина 15»), подсказки этого города идут первыми (частично введённое название тоже учитывается); далее — точное совпадение названия улицы, текстовая похожесть и популярность объекта по числу домов в ГАР, поэтому без указания города «ленина 15» сначала отдаст крупные города, а не деревни.

Подсказки почтовых индексов

POST/v1/rs/suggest/postal_unitучитывается как suggest_postal

Поиск по 6-значному индексу. Принимает 3–6 цифр и возвращает покрытие — список индексов и образцовые адреса.

Параметры тела

ПараметрТипОписание
queryобяз.stringЧасть индекса, 3–6 цифр.
countintegerСколько вариантов вернуть. 1–20, по умолчанию 10.

Поля ответа

ПолеТипОписание
suggestionsarrayСписок индексов, начинающихся с запрошенных цифр.
suggestions[].valuestringПочтовый индекс («101000»).
suggestions[].unrestricted_valuestringИндекс и образцовый адрес из зоны его покрытия.
suggestions[].dataobjectОбъект адреса (см. общий раздел). Координаты, fias_level и qc_geo у почтовых подсказок всегда null.

Полное описание всех полей data — в разделе «Объект адреса (data)».

Пример запроса

curl
curl -s -X POST "https://api.adresly.ru/v1/rs/suggest/postal_unit" \ -H "Authorization: Token adr_xxx" \ -H "Content-Type: application/json" \ -d '{ "query": "1010", "count": 5 }'

Пример ответа

json
{ "suggestions": [ { "value": "101000", "unrestricted_value": "101000 · г Москва, ул Мясницкая", "data": { "postal_code": "101000", "country": "Россия", "country_iso_code": "RU", "federal_district": "Центральный", "region_with_type": "г Москва", "region": "Москва", "city": "Москва", "street_with_type": "ул Мясницкая", "street": "Мясницкая", "timezone": "UTC+3", "geo_lat": null, "geo_lon": null, "qc_geo": null, "...": "остальные поля объекта адреса — см. раздел «Объект адреса (data)»" } } ] }

Геокодирование (адрес → координаты)

POST/v1/geocodeучитывается как geocode

По текстовому адресу возвращает наиболее похожие результаты с координатами и нормализованной записью. Формат элементов — тот же объект адреса, что и в подсказках. Если нужно несколько кандидатов, увеличьте параметр count.

Параметры тела

ПараметрТипОписание
queryобяз.stringАдрес. От 1 до 200 символов.
countinteger1–10, по умолчанию 1.

Поля ответа

ПолеТипОписание
suggestionsarrayСписок найденных вариантов, не больше count.
suggestions[].valuestringАдрес одной строкой — то, что подставляется в поле ввода.
suggestions[].unrestricted_valuestringАдрес одной строкой вместе с почтовым индексом.
suggestions[].dataobjectГранулярный адрес — см. раздел «Объект адреса (data)».

Полное описание всех полей data — в разделе «Объект адреса (data)».

Пример запроса

curl
curl -s -X POST "https://api.adresly.ru/v1/geocode" \ -H "Authorization: Token adr_xxx" \ -H "Content-Type: application/json" \ -d '{ "query": "Москва, Льва Толстого, 16" }'

Пример ответа

json
{ "suggestions": [ { "value": "г Москва, ул Льва Толстого, д 16", "unrestricted_value": "119021, г Москва, ул Льва Толстого, д 16", "data": { "postal_code": "119021", "country": "Россия", "country_iso_code": "RU", "federal_district": "Центральный", "region_iso_code": "RU-MOW", "region_with_type": "г Москва", "city": "Москва", "street_with_type": "ул Льва Толстого", "house_type": "д", "house": "16", "fias_level": "8", "timezone": "UTC+3", "geo_lat": "55.733969", "geo_lon": "37.587093", "qc_geo": "0", "...": "остальные поля объекта адреса — см. раздел «Объект адреса (data)»" } } ] }

Обратное геокодирование (координаты → адрес)

POST/v1/rs/geolocate/addressучитывается как reverse

Возвращает ближайший адрес и список альтернатив в радиусе. Подходит для определения адреса по геолокации мобильного приложения.

Параметры тела

ПараметрТипОписание
latобяз.numberШирота, −90…90.
lonобяз.numberДолгота, −180…180.
radius_metersintegerРадиус поиска в метрах, 10–1000. По умолчанию 200.
countintegerСколько вариантов вернуть, 1–20. По умолчанию 5.
divisionstringДеление для area/sub_area/settlement: administrative (по умолчанию) или municipal.

Поля ответа

ПолеТипОписание
suggestionsarrayАдреса в радиусе, отсортированы по удалённости от точки.
suggestions[].valuestringАдрес одной строкой.
suggestions[].unrestricted_valuestringАдрес одной строкой с индексом.
suggestions[].dataobjectОбъект адреса — см. общий раздел.

Полное описание всех полей data — в разделе «Объект адреса (data)».

Пример запроса

curl
curl -s -X POST "https://api.adresly.ru/v1/rs/geolocate/address" \ -H "Authorization: Token adr_xxx" \ -H "Content-Type: application/json" \ -d '{ "lat": 59.9342, "lon": 30.3350, "radius_meters": 100, "count": 3 }'

Пример ответа

json
{ "suggestions": [ { "value": "г Санкт-Петербург, Дворцовая пл, д 2", "unrestricted_value": "191055, г Санкт-Петербург, Дворцовая пл, д 2", "data": { "postal_code": "191055", "country": "Россия", "region_iso_code": "RU-SPE", "region_with_type": "г Санкт-Петербург", "city": "Санкт-Петербург", "street_with_type": "пл Дворцовая", "house": "2", "fias_level": "8", "timezone": "UTC+3", "geo_lat": "59.9388", "geo_lon": "30.3155", "qc_geo": "0", "...": "остальные поля объекта адреса — см. раздел «Объект адреса (data)»" } } ] }

Маршрут между точками

POST/v1/routeучитывается как route

Расчёт пути по 2–25 точкам. Каждая точка задаётся либо адресом (тогда геокодим), либо координатами (lat/lon). Возвращает суммарные distance и duration, геометрию маршрута (GeoJSON), а при steps=true — пошаговую навигацию.

Параметры тела

ПараметрТипОписание
pointsобяз.arrayМассив точек: { address } или { lat, lon }. 2–25 элементов.
modestringcar (по умолчанию), foot, bicycle.
alternativesbooleanВернуть альтернативные маршруты. По умолчанию false.
geometrystringgeojson (по умолчанию), polyline, none.
stepsbooleanПошаговая навигация в legs[].steps. По умолчанию false.

Поля ответа

ПолеТипОписание
codestring«Ok» при успешном расчёте.
routesarrayМаршруты: первый — основной, дальше альтернативы (при alternatives=true).
routes[].distance_mnumberДлина маршрута в метрах.
routes[].duration_snumberВремя в пути в секундах.
routes[].geometryobject | string | nullГеометрия: GeoJSON LineString (geojson), строка polyline или null (none). Координаты GeoJSON — пары [lon, lat].
routes[].legsarrayСегменты маршрута между соседними точками запроса.
routes[].legs[].distance_mnumberДлина сегмента в метрах.
routes[].legs[].duration_snumberВремя сегмента в секундах.
routes[].legs[].summarystringОсновные дороги сегмента («Ярославское ш»).
routes[].legs[].stepsarrayПошаговые манёвры (только при steps=true).
waypointsarrayТочки запроса, привязанные к дорожной сети, в исходном порядке.
waypoints[].location[lon, lat]Координаты привязки на дороге.
waypoints[].namestringНазвание улицы в месте привязки.
waypoints[].distancenumberСдвиг от исходной точки до привязки, в метрах.

Пример запроса

curl
curl -s -X POST "https://api.adresly.ru/v1/route" \ -H "Authorization: Token adr_xxx" \ -H "Content-Type: application/json" \ -d '{ "points": [ { "address": "Москва, Красная площадь" }, { "lat": 56.3107, "lon": 38.1316 }, { "address": "Ярославль" } ], "mode": "car", "geometry": "geojson" }'

Пример ответа

json
{ "code": "Ok", "routes": [ { "distance_m": 271340, "duration_s": 15120, "geometry": { "type": "LineString", "coordinates": [[37.62, 55.75], ...] }, "legs": [ { "distance_m": 71000, "duration_s": 4200, "summary": "Ярославское ш" } ] } ], "waypoints": [ { "location": [37.6208, 55.7539], "name": "Красная площадь", "distance": 12.3 } ] }
В v1 поддерживаем маршруты по территории России. Для трансграничных запросов подключим Казахстан и Беларусь после стабилизации основного потока.

Матрица расстояний

POST/v1/distancematrixучитывается как distancematrix

Возвращает матрицы distances_m и durations_s для всех пар sources × destinations. Используется для развозок, планирования слотов, выбора ближайшего курьера/филиала.

Параметры тела

ПараметрТипОписание
sourcesобяз.arrayИсточники: { address } или { lat, lon }. 1–100 элементов.
destinationsобяз.arrayНазначения. 1–100 элементов. sources × destinations ≤ 10 000.
modestringcar (по умолчанию), foot, bicycle.

Поля ответа

ПолеТипОписание
codestring«Ok» при успешном расчёте.
durations_snumber[][]Матрица времени в секундах: строка — источник, столбец — назначение. null в ячейке — пара недостижима по дорогам.
distances_mnumber[][]Матрица расстояний в метрах, той же размерности.
sourcesarrayИсточники, привязанные к дорожной сети: { location: [lon, lat], name }.
destinationsarrayНазначения, привязанные к дорожной сети: { location: [lon, lat], name }.

Пример запроса

curl
curl -s -X POST "https://api.adresly.ru/v1/distancematrix" \ -H "Authorization: Token adr_xxx" \ -H "Content-Type: application/json" \ -d '{ "sources": [ { "lat": 55.7539, "lon": 37.6208 } ], "destinations": [ { "lat": 56.3107, "lon": 38.1316 }, { "lat": 57.6243, "lon": 39.9007 } ] }'

Пример ответа

json
{ "code": "Ok", "durations_s": [[4200, 15120]], "distances_m": [[71000, 271340]], "sources": [{ "location": [37.6208, 55.7539], "name": "" }], "destinations": [ { "location": [38.1316, 56.3107], "name": "" }, { "location": [39.9007, 57.6243], "name": "" } ] }
Документация API — Адресли