Открытый бесплатный сервис обработки данных для рунета.

Что?Data — набор API и инструментов для обработки данных. Каждый инструмент оформлен как отдельный модуль; ниже перечислены доступные. Сейчас основной модуль — очистка телефонов.

Модули

Телефоны

Очистка и разбор телефонных номеров из произвольной строки. Российские номера обогащаются данными реестра Минцифры (оператор, регион, город), зарубежные — встроенными базами phonenumbers.

POST/api/v1/clean/phone

Модуль «Телефоны»

POST/api/v1/clean/phone

Тело запроса — JSON-массив строк. Ответ — JSON-массив объектов в том же порядке. Авторизация не требуется. Формат ответа совместим с DaData.
Записей в реестре Минцифры: 445 953

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

curl -X POST https://chtodata.ru/api/v1/clean/phone \
     -H "Content-Type: application/json" \
     -d '["раб 846)231.60.14 *139"]'

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

[
  {
    "source": "раб 846)231.60.14 *139",
    "type": "Стационарный",
    "phone": "+7 846 231-60-14 доб. 139",
    "country_code": "7",
    "city_code": "846",
    "number": "2316014",
    "extension": "139",
    "provider": "ООО \"СИПАУТНЭТ\"",
    "country": "Россия",
    "country_iso": "ru",
    "region": "Самарская область",
    "city": "Самара",
    "timezone": "UTC+4",
    "qc_conflict": 0,
    "qc": 0
  }
]

Поля ответа

ПолеОписание
sourceИсходная строка, как пришла на вход.
typeТип номера: «Мобильный», «Стационарный», «Бесплатный» и т.п.
phoneНормализованный номер, напр. +7 846 231-60-14 доб. 139.
country_codeКод страны, напр. 7.
city_codeКод города / DEF-код, напр. 846.
numberЛокальный номер без кода города.
extensionДобавочный номер (если есть).
providerОператор связи (из реестра Минцифры).
countryСтрана, напр. «Россия», «Казахстан», «Соединенные Штаты».
country_isoДвухбуквенный код страны ISO 3166-1, напр. ru, us, kz.
regionРегион / субъект РФ (для зарубежных номеров пусто).
cityГород / населённый пункт.
timezoneЧасовой пояс, напр. UTC+4.
qc_conflictКод конфликта данных (всегда 0 в текущей версии).
qcКод качества разбора (см. ниже).

Коды качества (qc)

КодЗначение
0Телефон распознан.
1Телефон не распознан (пустая строка или непохоже на номер).

Служебные эндпоинты

Метод и путьНазначение
GET /api/healthСостояние сервиса и модулей (число записей, дата обновления базы).
POST /api/admin/refreshРучное обновление базы Минцифры (требует токен; по умолчанию отключено).
GET /swaggerИнтерактивная OpenAPI-документация.

О данных

База операторов и регионов формируется из открытых данных Минцифры (opendata.digital.gov.ru) и обновляется автоматически. Значения региона, города и часового пояса — приближённые: формат ответа совпадает с DaData, но значения берутся из реестра Минцифры и могут немного отличаться.