Validar números telefónicos de México: leads y antifraude

Antes de gastar en SMS o en llamadas, depura la lista: descarta las series inexistentes, separa los móviles de los fijos y segmenta por región — con datos oficiales del IFT, a 0.01 u por número.

Una lista de teléfonos siempre está más sucia de lo que parece. Números de 10 dígitos que nadie contesta porque nunca existieron, fijos mezclados con móviles en una campaña de SMS que solo cobra por los fijos, contactos de otro estado colados en una promoción regional. Cada uno de esos registros cuesta — en envíos desperdiciados, en tiempo de call center y en métricas que mienten. La buena noticia: gran parte de esa suciedad se puede detectar antes de invertir, consultando el catálogo oficial del IFT.

Este post es el lado práctico del post sobre cómo consultar el operador y la ubicación de un número: ahí explicamos qué devuelve la API; aquí, cómo usar esa respuesta para limpiar leads y frenar fraude.

Qué puedes verificar (y qué no)

Con una consulta por número al servicio de teléfonos obtienes, del Plan Nacional de Numeración del IFT:

  • Si la serie existe. Un 404 significa que ese bloque de numeración no está asignado — número con formato válido pero, casi siempre, inexistente o no enrutable.
  • Móvil o fijo (tipo_red) — para no mandar SMS a un fijo.
  • La región (estado, municipio, poblacion) — para segmentar o para una verificación de coherencia contra el domicilio declarado.
  • El operador asignado (razon_social) — el de la serie en el PNN.

Y lo que no puedes: saber si un número fue portado a otra compañía. El operador que devuelve la API es el asignado a la serie, no el actual. Si el dueño de un número de Telcel se lo llevó a Movistar, la API seguirá diciendo Telcel. La portabilidad del suscriptor no vive en el PNN, así que no la uses como señal de “cambió de compañía”.

Caso 1: limpiar una lista antes de una campaña

Tienes 50,000 teléfonos capturados a lo largo de años en formularios, y vas a lanzar SMS. Recorre la lista contra el endpoint: los que devuelvan 404 los marcas como inválidos (no gastes un envío en ellos), y de los válidos te quedas con los que tengan tipo_red: "MOVIL". Con eso, antes de pagar el primer SMS, ya recortaste los fijos y los inexistentes.

curl -X GET "https://api.tlaloc.sh/mx/v1/phone?number=8112345678" \
  -H "Authorization: Bearer tlmx_TU_API_KEY"

Un número móvil válido responde con su serie (arreglo con al menos un registro y tipo_red: "MOVIL"); uno inexistente responde 404. Esa es toda la lógica de la limpieza. Y como cada consulta cuesta 0.01 u, depurar los 50,000 sale por unos $500 MXN — menos de lo que cuesta enviar SMS a los números muertos.

Caso 2: decidir el canal por número

No todos los contactos se atienden igual. Con tipo_red decides, número por número, entre SMS (solo móviles), llamada o WhatsApp. Enrutar bien el canal sube la tasa de contacto y baja el costo: dejas de quemar mensajes en fijos y dejas de marcar a números que no existen.

Caso 3: antifraude y validación de leads

En onboarding y en antifraude, el teléfono es una de las primeras señales que se pueden verificar sin fricción:

  • Coherencia geográfica. Si un lead dice ser de Yucatán pero su número es una serie asignada en otro estado, no es prueba de fraude, pero sí una bandera barata para escalar la revisión.
  • Serie inexistente. Un número que da 404 en un alta es sospechoso: nadie recibe el SMS de verificación en un número que no existe. Detectarlo en el formulario evita cuentas basura.
  • Fijo disfrazado de móvil. Un registro que exige “celular” y trae un fijo (tipo_red: "FIJO") merece una segunda mirada.

Nada de esto sustituye a un verdadero sistema de identidad, pero es una capa de validación barata y automatizable que corta el ruido antes de que llegue a procesos más caros.

Cómo lo integras

Es una llamada HTTP por número, así que cabe en cualquier flujo: inline en el formulario de alta, en un job por lotes sobre tu base, o dentro de tu pipeline de scoring. No hay estado que administrar ni sesión que crear — preguntas por un número y decides con la respuesta. Si prefieres hacerlo desde un asistente de IA, la herramienta consultar_telefono está disponible en el servidor MCP.

Precio

0.01 u ($0.01 MXN, IVA incluido) por consulta, prepago por consulta y sin plan mensual. El precio está puesto justamente para que depurar una base completa no sea una decisión de presupuesto.

Empieza

Fuente oficial: Instituto Federal de Telecomunicaciones (IFT) — administrador del Plan Nacional de Numeración. El operador reportado es el asignado a la serie; la validación no detecta portabilidad del suscriptor.

← Volver al blog Siguiente: Consultar el operador de un número →