а) теперь вы к себе скачиваете данные (они в npm лежат), а затем используете без запросов к внешним ресурсам.
б) по приведенной выше ссылке только коды мобильных операторов, в numcap — и мобильные, и стационарные.
Тогда уже http://xinit.ru/def/, уж не сочтите за рекламу. Там сразу и страны, и городские номера, и мобильные и MNP.
Но «фишка» решения автора заключается в том, что файл скачивается на компьютер, и для работы программы уже не нужен Интернет. Кроме того, раз уж это консольная программа, то можно автоматизировать некоторые операции, используя тот же bash.
Ради любопытства, а откуда вы берете информацию о MNP (какой оператор обслуживает конкретный номер)? есть какая-то публичная БД (был бы признателен за ссылку, можно в ЛС)?
Номера Скартела и Мегафона с кодом DEF=999 есть в файлах данных. Скиньте в личку номер и код, который написали для использования numcap — попробую разобраться что не так.
В dadata.ru/api/clean/#request-phone достаточно давно можно вынимать и провайдера, и регион, и даже таймзону. Только отмены мобильного рабства пока вроде не предусмотрено.
Numcap — npm для определения оператора и региона по номеру телефона