Вся информация о собеседнике которую вы можете видеть при коммуникации в телеграме это @username и прочая шелуха вроде аватарок.
Тем не менее телеграм поддерживает поиск по номеру телефона. Заходим Contacts -> Add contact -> Вводим любое имя -> вводим нужный номер -> добавляем -> нам показывает @username этого номера.
Не показывает ни никнейм, ни аватарку, за то показывает @username. И это вне зависимости от того есть он у вас в контактах или нет.
Мне кажется это совершенно ненормально, и вот почему: Я бегло осмотрел API телеграма, и такого рода запросов вроде нет, это может осложнить задачу но тем не менее.
В сети есть базы номеров сотовых операторов, они без какой либо личной информации владельца, но зато точно ясно что они зарегистрированы и описан оператор, область.
1. Берём эти базы
2. Пишем многопоточный парсер который ищет аккаунт по номеру (реквестит инфу по номеру, если API такое допускает)