Aller au contenu
Guide

Alternative NumVerify : validation téléphonique plus 150 points de terminaison

| 7 min read

NumVerify facture 14,99 $/mois pour la seule validation téléphonique. Botoi valide les téléphones de plus de 30 pays et comprend plus de 150 points de terminaison de développeur gratuits.

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

Vous payez NumVerify 14,99 $/mois pour valider les numéros de téléphone. Un point final. Quand votre le formulaire de paiement nécessite également une validation par e-mail et votre pipeline de fraude nécessite une géolocalisation IP, vous ajouterez deux abonnements supplémentaires, deux clés API supplémentaires et deux tableaux de bord de facturation supplémentaires. NumVerify fait partie de la famille APILayer (même parent que ipstack, mailboxlayer, Fixer.io), et chaque produit est facturé séparément.

Botoi's /v1/phone le point de terminaison valide et normalise les numéros de téléphone à partir de 30+ pays au format E.164. Il s'agit de l'un des plus de 150 points de terminaison inclus dans chaque plan. Téléphone validation, vérification des e-mails, géolocalisation IP, recherches DNS, détection VPN ; le tout sous un Clé unique à partir de 0$/mois.

Côte à côte : NumVerify vs botoi

NumVerify utilise une requête GET avec la clé API comme paramètre de requête. Le niveau gratuit est HTTP uniquement ; HTTPS nécessite un forfait payant. Botoi utilise une requête POST avec l'authentification du porteur HTTPS à tous les niveaux, y compris gratuit.

Demande NumVerify

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

Réponse:

{
  "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"
}

Demande Botoi

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

Réponse:

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

Comparaison des champs de réponse

Les deux API renvoient la validité, le pays et les nombres formatés. La principale différence est ce que NumVerify inclut ce que Botoi ne fait pas, et ce que la plate-forme plus large de Botoi ajoute.

Champ NumVérifier publié
Indicateur valide Oui Oui
Format E.164 Oui (international_format) Oui (e164_format)
Formule nationale Oui (local_format) Oui (national_format)
Code du pays Oui Oui
Nom du pays Oui Oui
Localisation (état/région) Oui Non
Nom du transporteur Oui Non
Type de ligne (mobile/fixe/VoIP) Oui Non
HTTPS sur l'offre gratuite Non Oui
Méthode HTTP GET (saisir l'URL) POST (Authentification au porteur)

NumVerify renvoie l'opérateur et le type de ligne, ce qui est important pour le routage des SMS. Botoi revient les mêmes champs de validation et de formatage mais ignore les données du transporteur au profit de la couverture Plus de 150 autres catégories de points de terminaison sous la même clé.

Exemple de numéro au Royaume-Uni

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

Réponse:

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

Comparaison des prix

Plan NumVérifier publié
Gratuite 100 req/mois, HTTP uniquement, téléphone uniquement 100 req/jour, HTTPS, tous les plus de 150 points de terminaison, aucune inscription
Basique / Démarreur 14,99 $/mois, 5 000 requis, téléphone uniquement 9 $/mois, 300 000 requis, tous les points de terminaison
Pro 49,99 $/mois, 50 000 demandes, téléphone uniquement 29 $/mois, 1 000 000 requis, tous les points de terminaison
Entreprise 99,99 $/mois, 250 000 demandes, téléphone uniquement 49 $/mois, 3 000 000 requis, tous les points de terminaison

Le forfait de base à 14,99 $/mois de NumVerify vous offre 5 000 demandes de validation téléphonique. Botoi's Le plan Starter à 9 $/mois vous offre 300 000 demandes par validation téléphonique et par e-mail. vérification, géolocalisation IP, recherches DNS et tous les autres points de terminaison. Les mathématiques deviennent plus déséquilibré à mesure que vous ajoutez des capacités.

Le niveau gratuit de NumVerify envoie votre clé API dans l'URL via HTTP simple. Cela signifie que votre La clé est visible dans les journaux du serveur, les journaux du proxy et l'historique du navigateur. Botoi utilise POST avec Authentification du porteur via HTTPS à chaque niveau.

Qu'obtenez-vous d'autre avec une clé Botoi ?

NumVerify vous offre une API pour la validation téléphonique. Une clé botoi déverrouille plus de 150 points de terminaison. Voici ceux qui sont les plus pertinents pour les mêmes flux de travail dans lesquels vous utiliseriez la validation téléphonique :

  • Validation par e-mail (/v1/email/validate) vérifie la syntaxe, vérifie les enregistrements MX et signale les fournisseurs jetables. Le même formulaire d'inscription qui valide un numéro de téléphone peut valider l'email dans le même lot de requêtes.
  • Détection d'e-mails jetables (/v1/disposable-email/check) récupère les adresses jetables de Guerrilla Mail, Mailinator et de plus de 5 000 autres fournisseurs.
  • Géolocalisation IP (/v1/ip/lookup) renvoie la ville, la région, pays, coordonnées et fuseau horaire pour l’adresse IP de l’appelant. Utilisez-le pour les valeurs par défaut des devises et Contrôles de conformité RGPD.
  • Détection VPN (/v1/vpn-detect) signale VPN, proxy, Tor et connexions de centres de données avec un score de risque. Important pour la prévention de la fraude lors de l’inscription.
  • Sécurité DNS (/v1/dns-security/spf-check, /v1/dns-security/dmarc-check) audite les enregistrements d'authentification des e-mails pour tout domaine.

Sur le modèle tarifaire de NumVerify, ajouter la validation des e-mails signifie s'abonner à mailboxlayer (14,99 $/mois). Ajouter la géolocalisation IP signifie s'abonner à ipstack (9,99 $/mois). Chacun la nouvelle fonctionnalité est une nouvelle clé API, un nouveau tableau de bord et un nouvel élément de campagne sur votre facture. Avec botoi, c'est la même clé et la même facture mensuelle.

Migration : remplacez NumVerify par botoi dans Express

Voici un itinéraire d'inscription typique utilisant NumVerify, suivi du même itinéraire utilisant botoi. La migration implique trois modifications : méthode HTTP (GET to POST), URL et champ de réponse noms.

Avant (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 });
});

Après (publié)

// 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 });
});

La version botoi supprime l'étape de désinfection des regex car l'API gère les espaces, des tirets et des parenthèses dans l'entrée. Vous envoyez l'entrée utilisateur brute avec un + préfixe et récupérez une chaîne E.164 propre. Le carrier le champ est parti ; si tu si vous le stockez mais ne l'utilisez pas pour les décisions de routage, vous ne le manquerez pas.

Combinez les contrôles par téléphone, par e-mail et contre la fraude en une seule fonction

Le modèle à clé unique est payant lorsqu'un formulaire d'inscription nécessite plusieurs validations. Cette fonction exécute quatre vérifications en parallèle avec une clé 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);

Sur NumVerify + mailboxlayer + ipstack, cette fonction aurait besoin de trois clés API sur trois tableaux de bord. Sur Botoi, c'est une clé, une facture, un quota qui couvre les quatre points finaux.

Quand rester avec NumVerify

NumVerify est le meilleur choix dans deux scénarios :

  • Vous avez besoin d'une détection d'opérateur pour le routage des SMS. Si votre application choisit entre Twilio et une passerelle SMS locale basée sur l'opérateur (par exemple, routage des numéros AT&T via un fournisseur et T-Mobile via un autre), NumVerify's carrier et line_type les champs sont essentiels. Botoi ne renvoie pas les données de l'opérateur.
  • Vous avez besoin d'une classification par type de ligne. Si votre produit facture différemment pour les numéros mobiles, fixes et VoIP (courant dans la facturation des télécommunications), NumVerify line_type le champ dirige cette logique. Botoi vous dit que le numéro est valide mais pas qu'il s'agisse d'un mobile ou d'un téléphone fixe.

Si votre cas d'utilisation est "valider le format, normaliser en E.164 et détecter le pays", Botoi le couvre. Si votre cas d'utilisation est "déterminer le transporteur et le type de ligne pour le routage décisions", NumVerify dispose de données plus approfondies pour cet axe.

Vous pouvez également mélanger les deux : utilisez botoi pour les plus de 150 points de terminaison auxquels il correspond ou dépasse Couverture de NumVerify et conservez NumVerify pour les recherches spécifiques à l'opérateur si ces données sont pertinentes logique métier dans votre application.

Points clés

  • NumVerify facture 14,99 $/mois pour 5 000 demandes de validation téléphonique sur une seule point final. Son niveau gratuit est limité à 100 requêtes/mois sans HTTPS.
  • Botoi's /v1/phone le point de terminaison renvoie la même validation et E.164 formatage. Le niveau gratuit comprend 100 requêtes/jour via HTTPS sans inscription.
  • Le forfait à 9 $/mois de Botoi comprend 300 000 requêtes sur plus de 150 points de terminaison. NumVerify Le forfait à 14,99 $/mois comprend 5 000 demandes de validation téléphonique uniquement.
  • NumVerify renvoie le nom de l'opérateur et le type de ligne. Botoi ne le fait pas. Si détection de porteur pilote le routage des SMS dans votre application, NumVerify est plus spécialisé.
  • La plus grande victoire est la consolidation. Validation téléphonique, vérification email, géolocalisation IP, Détection VPN, sécurité DNS et 145 points de terminaison supplémentaires sous une seule clé API et une seule facture.

FAQ

Existe-t-il une alternative gratuite à NumVerify pour la validation téléphonique ?
Oui. Le point de terminaison /v1/phone de Botoi valide les numéros de téléphone internationaux et renvoie le format E.164, le format national, l'indicatif du pays et le nom du pays. Le niveau gratuit autorise 5 requêtes par minute et 100 requêtes par jour via HTTPS sans inscription requise. Le forfait gratuit de NumVerify est limité à 100 requêtes par mois et vous limite au HTTP.
Botoi renvoie-t-il les données de l'opérateur comme NumVerify ?
Non. NumVerify renvoie le nom de l'opérateur (par exemple, AT&T Mobility) et le type de ligne (mobile, fixe, VoIP). Le point de terminaison /v1/phone de Botoi se concentre sur la validation et la normalisation E.164. Si la détection de l'opérateur pilote votre logique de routage SMS, NumVerify fournit des données plus approfondies pour ce cas d'utilisation spécifique.
Quel format de numéro de téléphone Botoi attend-il ?
Le point de terminaison /v1/phone de Botoi attend des numéros au format international commençant par un préfixe + et l'indicatif du pays. Par exemple, +14155552671 pour les États-Unis ou +442071234567 pour le Royaume-Uni. Les nombres sans préfixe + renvoient valide : faux avec une note expliquant le format attendu.
Combien de requêtes l’offre gratuite de Botoi inclut-elle ?
Le niveau gratuit autorise 5 requêtes par minute et 100 requêtes par jour sur tous les points de terminaison avec une limitation de débit basée sur IP. Aucune clé API, aucune inscription et aucune carte de crédit requise. Les forfaits payants commencent à 9 $/mois pour 300 000 requêtes sur plus de 150 points de terminaison.
Puis-je remplacer NumVerify par botoi sans changer mon backend ?
Vous devrez mettre à jour la méthode HTTP (POST au lieu de GET), l'URL (api.botoi.com/v1/phone) et les noms des champs de réponse (e164_format au lieu de international_format, country au lieu de country_name). La migration prend 10 à 15 minutes par point d'intégration. Un exemple de code est inclus dans ce guide.

Commencez a construire avec botoi

150+ endpoints API pour la recherche, le traitement de texte, la generation d'images et les utilitaires pour developpeurs. Offre gratuite, sans carte bancaire.