Alternativa NumVerify: validação de telefone mais 150 endpoints
NumVerify cobra US$ 14,99/mês apenas pela validação do telefone. Botoi valida telefones de mais de 30 países e inclui mais de 150 endpoints de desenvolvedor começando gratuitamente.
Você está pagando ao NumVerify $ 14,99/mês para validar números de telefone. Um ponto final. Quando seu o formulário de checkout também precisa de validação de e-mail e seu pipeline de fraude precisa de geolocalização de IP, você adicionará mais duas assinaturas, mais duas chaves de API e mais dois painéis de cobrança. NumVerify faz parte da família APILayer (mesmo pai de ipstack, mailboxlayer, Fixer.io), e cada produto fatura separadamente.
Botoi's /v1/phone endpoint valida e normaliza números de telefone de mais de 30
países no formato E.164. É um dos mais de 150 endpoints incluídos em cada plano. Telefone
validação, verificação de e-mail, geolocalização de IP, pesquisas de DNS, detecção de VPN; tudo sob um
chave única a partir de US$ 0/mês.
Lado a lado: NumVerify vs botoi
NumVerify usa uma solicitação GET com a chave API como parâmetro de consulta. O nível gratuito é Somente HTTP; HTTPS requer um plano pago. Botoi usa uma solicitação POST com autenticação do Bearer HTTPS em todas as camadas, inclusive grátis.
Solicitação NumVerify
curl "http://apilayer.net/api/validate?access_key=YOUR_KEY&number=14155552671"
Resposta:
{
"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"
}
Pedido de Botoi
curl -X POST https://api.botoi.com/v1/phone \\
-H "Content-Type: application/json" \\
-d '{"phone": "+14155552671"}'
Resposta:
{
"success": true,
"data": {
"phone": "+14155552671",
"valid": true,
"country_code": "+1",
"country": "United States / Canada",
"e164_format": "+14155552671",
"national_format": "4155552671"
}
}
Comparação de campos de resposta
Ambas as APIs retornam validade, país e números formatados. A principal diferença é o que NumVerify inclui o que o botoi não inclui e o que a plataforma mais ampla do botoi adiciona.
| Campo | NumVerify | publicado |
|---|---|---|
| Sinalizador válido | Sim | Sim |
| Formato E.164 | Sim (international_format) |
Sim (e164_format) |
| Formato nacional | Sim (local_format) |
Sim (national_format) |
| Código do país | Sim | Sim |
| Nome do país | Sim | Sim |
| Localização (estado/região) | Sim | Não |
| Nome da operadora | Sim | Não |
| Tipo de linha (móvel/fixo/VoIP) | Sim | Não |
| HTTPS no nível gratuito | Não | Sim |
| Método HTTP | GET (digite o URL) | POST (autenticação do portador) |
NumVerify retorna operadora e tipo de linha, o que é importante para o roteamento de SMS. Botoi retorna os mesmos campos de validação e formatação, mas ignora os dados da operadora em favor da cobertura Mais de 150 outras categorias de endpoint na mesma chave.
Exemplo de número do Reino Unido
curl -X POST https://api.botoi.com/v1/phone \\
-H "Content-Type: application/json" \\
-d '{"phone": "+442071234567"}'
Resposta:
{
"success": true,
"data": {
"phone": "+442071234567",
"valid": true,
"country_code": "+44",
"country": "United Kingdom",
"e164_format": "+442071234567",
"national_format": "2071234567"
}
}
Comparação de preços
| Plano | NumVerify | publicado |
|---|---|---|
| Livre | 100 solicitações/mês, somente HTTP, somente telefone | 100 solicitações/dia, HTTPS, todos os mais de 150 endpoints, sem inscrição |
| Básico / Iniciante | US$ 14,99/mês, solicitação de 5.000, apenas telefone | US$ 9/mês, solicitação de 300.000, todos os endpoints |
| Pró | US$ 49,99/mês, 50.000 solicitações, apenas telefone | US$ 29/mês, solicitação de 1.000.000, todos os endpoints |
| Empresa | US$ 99,99/mês, 250.000 solicitações, apenas telefone | US$ 49/mês, solicitação de 3.000.000, todos os endpoints |
O plano básico de US$ 14,99/mês do NumVerify oferece 5.000 solicitações de validação de telefone. Botoi's O plano Starter de US$ 9/mês oferece 300.000 solicitações por meio de validação por telefone, e-mail verificação, geolocalização de IP, pesquisas de DNS e todos os outros endpoints. A matemática fica mais desequilibrado à medida que você adiciona recursos.
O nível gratuito do NumVerify envia sua chave de API no URL por meio de HTTP simples. Isso significa que seu a chave é visível nos logs do servidor, logs de proxy e histórico do navegador. Botoi usa POST com Autenticação do portador por HTTPS em todas as camadas.
O que mais você ganha com uma chave de botoi
NumVerify oferece uma API para validação de telefone. Uma chave botoi desbloqueia mais de 150 pontos finais. Aqui estão os mais relevantes para os mesmos fluxos de trabalho em que você usaria a validação por telefone:
-
Validação de e-mail (
/v1/email/validate) verifica a sintaxe, verifica registros MX e sinaliza provedores descartáveis. O mesmo formulário de inscrição que valida um número de telefone pode validar o e-mail no mesmo lote de solicitação. -
Detecção de e-mail descartável (
/v1/disposable-email/check) captura endereços descartáveis do Guerrilla Mail, Mailinator e mais de 5.000 outros provedores. -
Geolocalização IP (
/v1/ip/lookup) retorna cidade, região, país, coordenadas e fuso horário do IP do chamador. Use-o para padrões de moeda e Verificações de conformidade com GDPR. -
Detecção de VPN (
/v1/vpn-detect) sinaliza VPN, proxy, Tor e conexões de datacenter com uma pontuação de risco. Importante para prevenção de fraudes na inscrição. -
Segurança DNS (
/v1/dns-security/spf-check,/v1/dns-security/dmarc-check) audita registros de autenticação de e-mail para qualquer domínio.
No modelo de preços do NumVerify, adicionar validação de e-mail significa assinar o mailboxlayer ($ 14,99/mês). Adicionar geolocalização de IP significa assinar o ipstack (US$ 9,99/mês). Cada O novo recurso é uma nova chave de API, um novo painel e um novo item de linha em sua fatura. Com o botoi é a mesma chave e a mesma fatura mensal.
Migração: troque NumVerify por botoi no Express
Aqui está uma rota típica de inscrição usando NumVerify, seguida pela mesma rota usando botoi. A migração envolve três alterações: método HTTP (GET para POST), URL e campo de resposta nomes.
Antes (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 });
});
Depois (publicado)
// 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 });
});
A versão botoi descarta a etapa de sanitização de regex porque a API lida com espaços,
travessões e parênteses na entrada. Você envia a entrada bruta do usuário com um +
prefixo e receba de volta uma string E.164 limpa. O carrier o campo desapareceu; se você
estiver armazenando-o, mas não o usando para decisões de roteamento, você não sentirá falta dele.
Combine verificações de telefone, e-mail e fraude em uma única função
O modelo de chave única compensa quando um formulário de inscrição precisa de múltiplas validações. Esta função executa quatro verificações em paralelo com uma chave de 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);
Em NumVerify + mailboxlayer + ipstack, esta função precisaria de três chaves de API de três painéis. No botoi, é uma chave, uma conta, uma cota que cobre todos os quatro pontos finais.
Quando ficar com NumVerify
NumVerify é a melhor escolha em dois cenários:
-
Você precisa de detecção de operadora para roteamento de SMS. Se seu aplicativo escolher entre
Twilio e um gateway SMS local baseado na operadora (por exemplo, roteamento de números AT&T
através de um provedor e a T-Mobile através de outro), NumVerify
carriereline_typecampos são essenciais. Botoi não retorna dados da operadora. -
Você precisa de classificação de tipo de linha. Se o seu produto cobrar de forma diferente
para números móveis vs fixos vs VoIP (comuns no faturamento de telecomunicações), NumVerify's
line_typecampo impulsiona essa lógica. Botoi diz que o número é válido, mas não se é um celular ou telefone fixo.
Se o seu caso de uso for "validar o formato, normalizar para E.164 e detectar o país", botoi cobre isso. Se o seu caso de uso for "determinar a operadora e o tipo de linha para roteamento decisões", NumVerify tem dados mais profundos para esse eixo.
Você também pode misturar ambos: use botoi para mais de 150 pontos finais onde ele corresponde ou excede Cobertura do NumVerify e mantenha o NumVerify para pesquisas específicas da operadora, se esses dados direcionarem lógica de negócios em seu aplicativo.
Pontos-chave
- NumVerify cobra US$ 14,99/mês por 5.000 solicitações de validação de telefone em um único ponto final. Seu limite de nível gratuito é de 100 solicitações/mês sem HTTPS.
-
Botoi's
/v1/phoneendpoint retorna a mesma validação e E.164 formatação. O nível gratuito inclui 100 solicitações/dia por HTTPS sem inscrição. - O plano de US$ 9/mês do Botoi inclui 300.000 solicitações em todos os mais de 150 endpoints. NumVerify O plano de US$ 14,99/mês inclui 5.000 solicitações apenas para validação por telefone.
- NumVerify retorna o nome da operadora e o tipo de linha. Botoi não. Se a detecção de portadora impulsiona o roteamento de SMS em seu aplicativo, o NumVerify é mais especializado.
- A maior vitória é a consolidação. Validação de telefone, verificação de e-mail, geolocalização de IP, Detecção de VPN, segurança de DNS e mais 145 endpoints sob uma chave de API e uma fatura.
FAQ
- Existe uma alternativa gratuita ao NumVerify para validação de telefone?
- Sim. O endpoint /v1/phone do Botoi valida números de telefone internacionais e retorna formato E.164, formato nacional, código do país e nome do país. O nível gratuito permite 5 solicitações por minuto e 100 solicitações por dia via HTTPS, sem necessidade de inscrição. O plano gratuito do NumVerify limita 100 solicitações por mês e restringe você ao HTTP.
- O botoi retorna dados da operadora como NumVerify?
- Não. NumVerify retorna o nome da operadora (por exemplo, AT&T Mobility) e o tipo de linha (móvel, fixo, VoIP). O endpoint /v1/phone do Botoi concentra-se na validação e normalização E.164. Se a detecção da operadora orienta sua lógica de roteamento de SMS, o NumVerify fornece dados mais detalhados para esse caso de uso específico.
- Qual formato de número de telefone o botoi espera?
- O endpoint /v1/phone do Botoi espera números em formato internacional começando com um prefixo + e o código do país. Por exemplo, +14155552671 para os EUA ou +442071234567 para o Reino Unido. Números sem prefixo + retornam válido: falso com uma nota explicando o formato esperado.
- Quantas solicitações o nível gratuito do botoi inclui?
- O nível gratuito permite 5 solicitações por minuto e 100 solicitações por dia em todos os endpoints com limitação de taxa baseada em IP. Nenhuma chave de API, nenhuma inscrição e nenhum cartão de crédito são necessários. Os planos pagos começam em US$ 9/mês para 300.000 solicitações em todos os mais de 150 endpoints.
- Posso substituir NumVerify por botoi sem alterar meu backend?
- Você precisará atualizar o método HTTP (POST em vez de GET), o URL (api.botoi.com/v1/phone) e os nomes dos campos de resposta (e164_format em vez de international_format, country em vez de country_name). A migração leva de 10 a 15 minutos por ponto de integração. Um exemplo de código está incluído neste guia.
Comece a construir com botoi
150+ endpoints de API para consultas, processamento de texto, geração de imagens e utilitários para desenvolvedores. Plano gratuito, sem cartão de crédito.