Перейти к содержимому
Guide

Альтернатива NumVerify: проверка телефона плюс 150 конечных точек

| 7 min read

NumVerify взимает 14,99 долларов США в месяц только за проверку телефона. Botoi проверяет телефоны из более чем 30 стран и включает в себя более 150 конечных точек для разработчиков, начиная с бесплатного.

Person holding a smartphone with validation interface on screen
Photo by Rami Al-zayat on Unsplash

Вы платите NumVerify 14,99 долларов США в месяц за проверку номеров телефонов. Одна конечная точка. Когда твой форма оформления заказа также требует проверки адреса электронной почты, а для вашего канала мошенничества требуется геолокация по IP, вы добавите еще две подписки, еще два ключа API и еще две панели выставления счетов. NumVerify является частью семейства APILayer (тот же родительский элемент, что и ipstack, mailboxlayer, Fixer.io), и каждый товар оплачивается отдельно.

Ботоя /v1/phone конечная точка проверяет и нормализует номера телефонов из более чем 30 страны в формат E.164. Это одна из более чем 150 конечных точек, включенных в каждый план. Телефон проверка, проверка электронной почты, геолокация IP, поиск DNS, обнаружение VPN; все под один ключ от 0 долларов США в месяц.

Бок о бок: NumVerify против botoi

NumVerify использует запрос GET с ключом API в качестве параметра запроса. Уровень бесплатного пользования только HTTP; HTTPS требует платного плана. Botoi использует запрос POST с аутентификацией на предъявителя HTTPS на всех уровнях, включая бесплатный.

Запрос NumVerify

curl "http://apilayer.net/api/validate?access_key=YOUR_KEY&number=14155552671"

Ответ:

{
  "valid": true,
  "number": "14155552671",
  "local_format": "4155552671",
  "international_format": "+14155552671",
  "country_prefix": "+1",
  "country_code": "US",
  "country_name": "United States of America",
  "location": "California",
  "carrier": "AT&T Mobility LLC",
  "line_type": "mobile"
}

Ботой запрос

curl -X POST https://api.botoi.com/v1/phone \\
  -H "Content-Type: application/json" \\
  -d '{"phone": "+14155552671"}'

Ответ:

{
  "success": true,
  "data": {
    "phone": "+14155552671",
    "valid": true,
    "country_code": "+1",
    "country": "United States / Canada",
    "e164_format": "+14155552671",
    "national_format": "4155552671"
  }
}

Сравнение полей ответа

Оба API возвращают срок действия, страну и форматированные числа. Ключевое отличие в том, что NumVerify включает в себя то, чего нет у botoi, а также то, что добавляет более широкая платформа botoi.

Поле NumVerify опубликовано
Действительный флаг Да Да
Формат Е.164 Да (international_format) Да (e164_format)
Национальный формат Да (local_format) Да (national_format)
Код страны Да Да
Название страны Да Да
Местоположение (штат/регион) Да Нет
Имя оператора связи Да Нет
Тип линии (мобильная/стационарная/VoIP) Да Нет
HTTPS на бесплатном уровне Нет Да
HTTP-метод GET (введите URL-адрес) POST (авторизация на предъявителя)

NumVerify возвращает тип оператора связи и линии, что имеет значение для маршрутизации SMS. Ботой возвращается те же поля проверки и форматирования, но данные оператора пропускаются в пользу покрытия Более 150 других категорий конечных точек под тем же ключом.

Пример номера в Великобритании

curl -X POST https://api.botoi.com/v1/phone \\
  -H "Content-Type: application/json" \\
  -d '{"phone": "+442071234567"}'

Ответ:

{
  "success": true,
  "data": {
    "phone": "+442071234567",
    "valid": true,
    "country_code": "+44",
    "country": "United Kingdom",
    "e164_format": "+442071234567",
    "national_format": "2071234567"
  }
}

Сравнение цен

План NumVerify опубликовано
Бесплатно 100 запросов в месяц, только HTTP, только телефон 100 запросов в день, HTTPS, все более 150 конечных точек, без регистрации
Базовый / Стартовый 14,99 долл. США в месяц, запрос 5000, только по телефону 9 долл. США в месяц, потребность 300 000, все конечные точки
Про 49,99 долл. США в месяц, запрос 50 000, только по телефону 29 долларов США в месяц, потребность в 1 000 000, все конечные точки
Предприятие 99,99 долл. США в месяц, запрос 250 000, только по телефону 49 долларов США в месяц, потребность 3 000 000, все конечные точки

Базовый план NumVerify стоимостью 14,99 долларов США в месяц дает вам 5000 запросов на проверку телефона. Ботоя Стартовый план стоимостью 9 долларов в месяц дает вам 300 000 запросов по телефону и электронной почте. проверка, геолокация IP, поиск DNS и все остальные конечные точки. Математика становится больше однобоким по мере добавления возможностей.

Уровень бесплатного пользования NumVerify отправляет ваш ключ API в URL-адресе по простому HTTP. Это означает, что ваш Ключ виден в журналах сервера, журналах прокси и истории браузера. Ботой использует POST с Аутентификация носителя через HTTPS на каждом уровне.

Что еще вы получите с одним ключом ботои?

NumVerify предоставляет вам один API для проверки телефона. Ключ ботои открывает более 150 конечных точек. Вот те из них, которые наиболее подходят для тех же рабочих процессов, в которых вы используете проверку телефона:

  • Проверка электронной почты (/v1/email/validate) проверяет синтаксис, проверяет записи MX и помечает одноразовых поставщиков. Та же форма регистрации, которая подтверждает номер телефона может подтвердить электронное письмо в том же пакете запросов.
  • Одноразовое обнаружение электронной почты (/v1/disposable-email/check) ловит одноразовые адреса от Guerrilla Mail, Mailinator и более 5000 других провайдеров.
  • IP-геолокация (/v1/ip/lookup) возвращает город, регион, страна, координаты и часовой пояс для IP звонящего. Используйте его для валютных дефолтов и Проверки соответствия GDPR.
  • Обнаружение VPN (/v1/vpn-detect) отмечает VPN, прокси, Tor и соединения центров обработки данных с оценкой риска. Важно для предотвращения мошенничества при регистрации.
  • DNS-безопасность (/v1/dns-security/spf-check, /v1/dns-security/dmarc-check) проверяет записи аутентификации электронной почты на предмет любых домен.

В модели ценообразования NumVerify добавление проверки электронной почты означает подписку на mailboxlayer. (14,99 долларов США в месяц). Добавление геолокации по IP означает подписку на ipstack (9,99 долларов США в месяц). Каждый Новая возможность — это новый ключ API, новая панель мониторинга и новая позиция в вашем счете. С ботой тот же ключ и тот же ежемесячный счет.

Миграция: замените NumVerify на botoi в Express

Вот типичный путь регистрации с использованием NumVerify, за которым следует тот же маршрут с использованием botoi. Миграция включает в себя три изменения: метод HTTP (GET to POST), URL-адрес и поле ответа. имена.

До (NumVerify)

// BEFORE: NumVerify (GET, HTTP only on free tier)
app.post("/signup", async (req, res) => {
  const phone = req.body.phone.replace(/[^0-9]/g, "");
  const numverify = await fetch(
    \`http://apilayer.net/api/validate?access_key=\${NUMVERIFY_KEY}&number=\${phone}\`
  ).then((r) => r.json());

  if (!numverify.valid) {
    return res.status(422).json({ error: "Invalid phone number" });
  }

  await db.users.create({
    phone: numverify.international_format,
    carrier: numverify.carrier,
    country: numverify.country_name,
  });

  res.status(201).json({ ok: true });
});

После (опубликовано)

// AFTER: Botoi (POST, HTTPS, no API key needed for free tier)
app.post("/signup", async (req, res) => {
  const phone = req.body.phone;
  const botoi = await fetch("https://api.botoi.com/v1/phone", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ phone }),
  }).then((r) => r.json());

  if (!botoi.data.valid) {
    return res.status(422).json({ error: "Invalid phone number" });
  }

  await db.users.create({
    phone: botoi.data.e164_format,
    country: botoi.data.country,
  });

  res.status(201).json({ ok: true });
});

Версия botoi пропускает этап очистки регулярных выражений, поскольку API обрабатывает пробелы, тире и круглые скобки во входных данных. Вы отправляете необработанный пользовательский ввод с помощью + префикс и получите чистую строку E.164. carrier поле исчезло; если ты хранили его, но не использовали для принятия решений о маршрутизации, вы его не пропустите.

Объедините проверку телефона, электронной почты и проверку на предмет мошенничества в одной функции

Модель с одним ключом окупается, когда форма регистрации требует нескольких проверок. Эта функция запускает четыре проверки параллельно с одним ключом API:

const BOTOI = "https://api.botoi.com/v1";
const headers = {
  "Content-Type": "application/json",
  "Authorization": \`Bearer \${process.env.BOTOI_API_KEY}\`,
};

async function validateSignup(email, phone, ip) {
  const [emailCheck, phoneCheck, disposableCheck, vpnCheck] =
    await Promise.all([
      fetch(\`\${BOTOI}/email/validate\`, {
        method: "POST",
        headers,
        body: JSON.stringify({ email }),
      }).then((r) => r.json()),

      fetch(\`\${BOTOI}/phone\`, {
        method: "POST",
        headers,
        body: JSON.stringify({ phone }),
      }).then((r) => r.json()),

      fetch(\`\${BOTOI}/disposable-email/check\`, {
        method: "POST",
        headers,
        body: JSON.stringify({ email }),
      }).then((r) => r.json()),

      fetch(\`\${BOTOI}/vpn-detect\`, {
        method: "POST",
        headers,
      }).then((r) => r.json()),
    ]);

  return {
    emailValid: emailCheck.data.valid,
    disposable: disposableCheck.data.disposable,
    phoneValid: phoneCheck.data.valid,
    phoneE164: phoneCheck.data.e164_format,
    phoneCountry: phoneCheck.data.country,
    vpn: vpnCheck.data.isVpn,
    riskScore: vpnCheck.data.riskScore,
  };
}

// One key, four checks, one billing dashboard
const result = await validateSignup(
  "buyer@company.io",
  "+14155552671",
  "203.0.113.42"
);
console.log(result);

On NumVerify + mailboxlayer + ipstack, this function would need three API keys from three приборные панели. На ботои это один ключ, один счет, одна квота, охватывающая все четыре конечные точки.

Когда оставаться с NumVerify

NumVerify — лучший выбор в двух сценариях:

  • Для маршрутизации SMS вам необходимо определение оператора связи. Если ваше приложение выбирает между Twilio и локальный шлюз SMS на основе оператора связи (например, маршрутизация номеров AT&T). через одного провайдера и T-Mobile через другого), NumVerify carrier и line_type поля необходимы. Ботой не возвращает данные оператора связи.
  • Вам нужна классификация типов линий. Если ваш продукт стоит по-другому для мобильных, стационарных и VoIP номеров (распространено при выставлении счетов за телекоммуникации), NumVerify line_type поле управляет этой логикой. Ботой сообщает, что номер действителен, но независимо от того, мобильный это или стационарный телефон.

Если ваш вариант использования — «проверить формат, нормализовать до E.164 и определить страну», botoi покрывает его. Если ваш вариант использования «определить оператора связи и тип линии для маршрутизации решений», NumVerify имеет более глубокие данные по этой оси.

Вы также можете смешать оба варианта: используйте botoi для более чем 150 конечных точек, где он соответствует или превосходит Покрытие NumVerify и сохраните NumVerify для поиска по конкретным операторам связи, если эти данные необходимы. бизнес-логика в вашем приложении.

Ключевые моменты

  • NumVerify взимает 14,99 долларов США в месяц за 5000 запросов на проверку телефона за один раз. конечная точка. Его бесплатный уровень ограничен 100 запросами в месяц без HTTPS.
  • Ботоя /v1/phone конечная точка возвращает ту же проверку и E.164 форматирование. Уровень бесплатного пользования включает 100 запросов в день по HTTPS без регистрации.
  • План Botoi стоимостью 9 долларов в месяц включает 300 000 запросов на все более чем 150 конечных точек. NumVerify's План стоимостью 14,99 долларов США в месяц включает 5000 запросов только на проверку телефона.
  • NumVerify возвращает имя оператора связи и тип линии. Ботой нет. Если обнаружение несущей управляет маршрутизацией SMS в вашем приложении, NumVerify более специализирован.
  • Самая большая победа – это консолидация. Проверка телефона, проверка электронной почты, геолокация IP, Обнаружение VPN, безопасность DNS и еще 145 конечных точек под одним ключом API и одним счетом.

FAQ

Есть ли бесплатная альтернатива NumVerify для проверки телефона?
Да. Конечная точка /v1/phone Botoi проверяет международные телефонные номера и возвращает формат E.164, национальный формат, код страны и название страны. Уровень бесплатного пользования допускает 5 запросов в минуту и ​​100 запросов в день по HTTPS без необходимости регистрации. Бесплатный план NumVerify ограничен 100 запросами в месяц и ограничивает вас HTTP.
Возвращает ли botoi данные оператора связи, такие как NumVerify?
Нет. NumVerify возвращает имя оператора связи (например, AT&T Mobility) и тип линии (мобильная, стационарная, VoIP). Конечная точка /v1/phone Botoi фокусируется на проверке и нормализации E.164. Если обнаружение оператора связи управляет вашей логикой маршрутизации SMS, NumVerify предоставляет более глубокие данные для этого конкретного варианта использования.
Какой формат номера телефона ожидает botoi?
Конечная точка /v1/phone Botoi ожидает номера в международном формате, начинающиеся с префикса + и кода страны. Например, +14155552671 для США или +442071234567 для Великобритании. Числа без префикса + возвращают значение valid: false с примечанием, объясняющим ожидаемый формат.
Сколько запросов включает бесплатный уровень Botoi?
Уровень бесплатного пользования допускает 5 запросов в минуту и ​​100 запросов в день на всех конечных точках с ограничением скорости на основе IP. Никакого API-ключа, никакой регистрации и кредитной карты не требуется. Платные планы начинаются с 9 долларов США в месяц за 300 000 запросов на все более чем 150 конечных точек.
Могу ли я заменить NumVerify на botoi, не меняя серверную часть?
Вам потребуется обновить метод HTTP (POST вместо GET), URL-адрес (api.botoi.com/v1/phone) и имена полей ответа (e164_format вместо International_format, Country вместо Country_name). Миграция занимает 10-15 минут на каждую точку интеграции. Пример кода включен в это руководство.

Начните разработку с botoi

150+ API-эндпоинтов для поиска, обработки текста, генерации изображений и утилит для разработчиков. Бесплатный тариф, без банковской карты.