Дополняет ФИО по началу ввода, раскладывает на фамилию/имя/отчество и определяет пол. Два режима: целая строка ("query": "иванова мари") или дополнение одной части через parts. С флагом declensions к каждой подсказке добавляются склонения по шести падежам. Доступен по публичному ключу (pk_…) — подходит для браузерных форм.
Параметры запроса
Поле
Тип
Описание
queryrequired
string
Начало ФИО или отдельной части.
count
integer
Сколько подсказок вернуть (1–20, по умолчанию 10).
gender
string
Фильтр пола: MALE или FEMALE.
parts
array
Дополнять только указанную часть: SURNAME, NAME, PATRONYMIC.
declensions
boolean
true — добавить к каждой подсказке склонения по 6 падежам.
Поля ответа
Поле
Тип
Описание
suggestions[].value
string
Полное ФИО в правильном регистре.
suggestions[].surname
string
Фамилия.
suggestions[].name
string
Имя.
suggestions[].patronymic
string
Отчество.
suggestions[].gender
string
Пол: male, female или unknown.
suggestions[].declensions
object
Склонения по 6 падежам (nominative…prepositional), каждый — { surname, name, patronymic }. Только при declensions: true.
POST /v1/suggest/fio
{ "query": "иванова мари", "count": 5 }
// фильтр по полу + склонения по 6 падежам:
{ "query": "иванова мария сергеевна", "gender": "FEMALE", "declensions": true }
// дополнение одной части (фамилия / имя / отчество):
{ "query": "ал", "parts": ["NAME"], "gender": "MALE" }
Подсказки email
POST/v1/suggest/email
Достраивает адрес по началу ввода: к локальной части подставляет распространённые почтовые домены (gmail.com, yandex.ru, mail.ru и др.). Доступен по публичному ключу (pk_…).
Параметры запроса
Поле
Тип
Описание
queryrequired
string
Начало адреса, например ivan или ivan@gma.
count
integer
Сколько подсказок вернуть (1–20, по умолчанию 10).
Поля ответа
Поле
Тип
Описание
suggestions[].value
string
Достроенный адрес целиком.
suggestions[].local
string
Локальная часть (до @).
suggestions[].domain
string
Почтовый домен (после @).
POST /v1/suggest/email
{ "query": "ivan@gma", "count": 3 }
Стандартизация
Стандартизация ФИО
POST/v1/clean/fio
Разбирает ФИО на части, определяет пол и исправляет регистр. Пакетно — через items (нативный ответ) или массивом строк (плоский DaData-формат). Для автодополнения при вводе используйте подсказки ФИО с разбором на части и склонениями по падежам.
POST /v1/clean/fio
{ "source": "иванова мария сергеевна" }
Поля ответа
Поле
Тип
Описание
source
string
Исходная строка ФИО из запроса — для сопоставления ответа со входом.
result
string
Стандартизированное ФИО в правильном порядке и регистре; null, если распознать не удалось.
surname
string
Фамилия с корректной заглавной буквой; null, если не выделена.
name
string
Имя с корректной заглавной буквой; null, если не выделено.
patronymic
string
Отчество с корректной заглавной буквой; null, если отсутствует.
gender
string
Пол: male — мужской, female — женский, unknown — определить не удалось.
transliterated
bool
true, если ввод был на латинице и приведён к кириллице (результат — реконструкция исходного написания).
qc
integer
Код качества разбора: 0 — ФИО уверенно распознано, 1 — разобрано неуверенно (только фамилия, инициалы или часть определена по позиции).
cases
object
Склонения ФИО по падежам (ключи: nominative, genitive, dative, accusative, instrumental, prepositional) для подстановки в документы; null, если склонять нечего.
cases.{падеж}.surname
string
Фамилия в соответствующем падеже; null, если не выделена.
cases.{падеж}.name
string
Имя в соответствующем падеже; null, если не выделено.
cases.{падеж}.patronymic
string
Отчество в соответствующем падеже; null, если отсутствует.
Проверка телефона
POST/v1/clean/phone
Нормализует номера РФ и зарубежных стран: определяет страну, тип (мобильный/городской) и валидность. Для РФ дополнительно — оператор (с учётом переноса номера), регион и часовой пояс.
Формат вывода задаётся полем mask в теле запроса. Допустимые значения: имя пресета из списка ниже ("mask": "intl") или пользовательский шаблон ("mask": "+7 (XXX) XXX-XX-XX"), где плейсхолдер цифры — X, # или 9; остальные символы сохраняются без изменений. Маска накладывается на национальный номер любой страны:
e164 → +79627302371
intl → +7 (962) 730-23-71
national → 8 (962) 730-23-71
intl_sp → +7 962 730-23-71
dash → +7-962-730-23-71
spaces → 8 962 730 23 71
plain → 9627302371
plain8 → 89627302371
свой шаблон, напр. +7 (XXX) XXX-XX-XX
POST /v1/clean/phone
// mask — ИМЯ пресета (intl / e164 / national …) ИЛИ свой шаблон "+7 (XXX) XXX-XX-XX"
{ "items": ["89627302371", "+375 29 491-19-11"],
"mask": "intl" }
Поля ответа
Поле
Тип
Описание
result
array
Массив результатов — по одному объекту на каждый телефон из запроса, в том же порядке.
result[].source
string
Исходная строка телефона в том виде, как она была передана.
result[].phone
string
Телефон в стандартизованном формате (для РФ — +7 (XXX) XXX-XX-XX, для других стран — международный формат); null, если номер не распознан.
result[].type
string
Тип номера: mobile — мобильный, direct_mobile — прямой мобильный, landline — стационарный, toll_free — бесплатный (8-800), voip — IP-телефония, premium_rate — платный, unknown — не определён; null, если номер невалиден.
result[].is_valid
bool
Валиден ли номер по плану нумерации страны: true — валиден, false — распознан, но невалиден.
result[].country
string
Название страны номера (например, Россия, Беларусь); null, если номер не распознан.
result[].country_code
string
Телефонный код страны без знака «+» (например, 7 — Россия, 375 — Беларусь); null, если номер не распознан.
result[].city_code
string
Код города/оператора — часть номера после кода страны; null, если у плана нумерации страны его нет или номер не распознан.
result[].number
string
Абонентский номер без кода страны и кода города/оператора.
result[].extension
string
Добавочный (внутренний) номер, если он был в исходной строке; иначе null.
result[].operator
string
Оператор связи номера с учётом переносимости (бренд, например МегаФон); только для номеров РФ.
result[].operator_original
string
Исходный оператор по плану нумерации; присутствует только при факте переноса номера к другому оператору.
result[].ported
bool
Признак переноса номера к другому оператору: true — номер перенесён (текущий оператор отличается от исходного), false — не перенесён.
result[].region
string
Регион РФ, к которому относится номер; только для номеров РФ (для 8-800 пустой).
result[].city
string
Город номера (для стационарных номеров РФ); иначе null.
result[].timezone
string
Часовой пояс региона номера в формате IANA (например, Europe/Moscow); только для номеров РФ.
result[].qc
integer
Код качества разбора: 0 — номер корректен и валиден, 1 — распознан с допущениями или невалиден по плану нумерации, 3 — пустой ввод или мусор.
Проверка email
POST/v1/clean/email
Проверяет синтаксис и доменную зону, возвращает признак доставляемости и тип адреса.
POST /v1/clean/email
{ "source": "maria@hintdata.ru" }
// пакетно — массив строк (ответ в плоском DaData-формате):
["maria@hintdata.ru", "info@bad..ru"]
Поля ответа
Поле
Тип
Описание
result
array
Массив результатов проверки — по одному объекту на каждый входной адрес.
result.source
string
Исходный адрес ровно в том виде, как он был передан на вход.
result.email
string
Очищенный и стандартизированный адрес; null, если адрес некорректен.
result.local
string
Локальная часть адреса до символа @; null, если адрес некорректен.
result.domain
string
Доменная часть адреса после символа @; null, если адрес некорректен.
result.type
string
Класс домена: personal — личный почтовый сервис, corporate — корпоративный домен; null, если адрес некорректен.
result.role
bool
Ролевой адрес (info@, sales@, noreply@ и т.п.): true — служебный, не персональный; false — обычный.
result.disposable
bool
Одноразовый временный домен: true — да, false — нет; null, если адрес некорректен.
result.mx
bool
Домен принимает почту (есть MX-запись): true — да, false — нет; null, если адрес некорректен.
result.corrected
bool
Домен исправлен: true — устранена опечатка в домене (gmial → gmail), false — без изменений.
result.normalized
bool
Адрес нормализован: true — схлопнуты подряд идущие точки в локальной части, false — без изменений.
result.qc
integer
Код качества: 0 — корректен без замечаний; 1 — корректен с замечанием (домен исправлен, нормализован, одноразовый или ролевой); 2 — некорректен; 3 — пустой ввод.
Стандартизация даты рождения
POST/v1/clean/birthdate
Приводит дату из любого формата («4 фев 1985», «04.02.1985», «1985-02-04») к единому формату и рассчитывает возраст.
POST /v1/clean/birthdate
{ "source": "04 февраля 1985 г." }
Исходная строка запроса, переданная на стандартизацию.
suggestions
array
Массив результатов стандартизации (по одному объекту на дату).
suggestions.source
string
Исходное значение даты в том виде, как оно было передано.
suggestions.birthdate
string
Нормализованная дата рождения в формате ДД.ММ.ГГГГ; null, если дата не распознана.
suggestions.year
integer
Год рождения числом; null, если дата не распознана.
suggestions.month
integer
Месяц рождения числом 1–12; null, если дата не распознана.
suggestions.day
integer
День рождения числом 1–31; null, если дата не распознана.
suggestions.age
integer
Возраст в полных годах на текущую дату; null, если дата не распознана.
suggestions.is_adult
bool
Совершеннолетие: true — 18 лет и более, false — менее 18; null, если дата не распознана.
suggestions.qc
integer
Код качества разбора: 0 — распознана точно, 1 — распознана с допущением (двузначный год достроен до четырёхзначного), 2 — не распознана, 3 — пустой ввод.