Download OpenAPI specification:Download
Comprobaciones que se hacen antes de dar por bueno un dato: dar de alta a alguien, mandarle un código de verificación o aceptarle un pago.
Todas las comprobaciones se piden por la misma llamada. El parámetro SERVICIO dice cuál se quiere, y los parámetros que no son de ese servicio se ignoran: puede mandar siempre la misma estructura y cambiar solo SERVICIO. Los servicios que se vayan añadiendo (correo, IP…) entrarán por aquí, sin que usted tenga que integrar otra URL.
| SERVICIO | Qué comprueba |
DatosTelefono | Quién hay detrás de un número: operadora que le da servicio, portabilidad (de qué operadora vino y cuándo se portó) y tipo de línea. |
DatosEmail | Qué hay detrás de una dirección: si el dominio recibe correo y es gratuito, temporal o propio, si la cuenta es de una persona o de un departamento, y si el buzón existe. |
DatosIP | Desde dónde se conecta alguien: país, ciudad, operador, si es la línea de una casa, un móvil o un centro de datos, y si llega por una red anónima. |
De todo lo que se puede saber de un número sin llamarlo, estos dos datos son los que de verdad cambian una decisión.
La fecha de portabilidad. Un número que cambió de operadora hace tres días, justo antes de una operación importante, es el patrón del secuestro de línea: el atacante se lleva el número de la víctima a otro operador y a partir de ahí recibe él los SMS de verificación. Si va a mandar un código a ese número, conviene verificar antes por otra vía.
El tipo de línea. Una línea por Internet (VoIP) donde debería haber un móvil suele ser un número de usar y tirar: se contratan en minutos y se abandonan igual de rápido. Y una numeración de tarificación adicional o de máquina a máquina no es el teléfono personal de nadie.
Con eso, la respuesta trae además un riesgo calculado de 0 a 100 con los motivos en texto. No es un veredicto y no decide por usted: es lo que los datos permiten decir, explicado, para que su sistema aplique su propia política.
Es la misma comprobación que hacemos nosotros antes de cada envío de Email Certificado, puesta a su disposición. Va de lo barato a lo caro y para en cuanto tiene la respuesta:
1. Sintaxis de la dirección.
2. El dominio recibe correo: se consultan sus registros de correo en las DNS. Un dominio sin ellos no puede recibir nada, así que la dirección no existe —y esto se sabe sin preguntar a nadie.
3. Dominio temporal, de esos que se crean en un segundo y nadie vuelve a leer.
4. Dominio gratuito y tipo de cuenta: de una persona, de un departamento (info@, soporte@…) o un alias con etiqueta (juan+tienda@).
5. Si esa dirección ya nos rebotó un envío antes. Es información nuestra, y vale más que cualquier predicción: no es que probablemente falle, es que ya falló.
6. Y solo entonces, si el buzón existe, preguntándoselo al servidor de correo del destino.
El paso 6 usa dos verificadores distintos: hay servidores que dan lista gris, que cortan la conexión o que responden diferente según quién pregunte, y cuando el primero dice «no lo sé» se consulta al segundo. Aun así, hay dominios catch-all que aceptan cualquier dirección: ahí nadie puede confirmar que una cuenta concreta exista, y se lo decimos tal cual en vez de inventar un sí.
Para los móviles españoles se usa nuestro propio registro de portabilidad, que es lo que nos permite dar el operador del que venía el número y la fecha exacta del cambio. Para los fijos españoles y cualquier número extranjero se consulta la numeración internacional. Usted no tiene que elegir: manda el número y se resuelve por donde toque.
El campo Fuente de la respuesta le dice cuál se ha usado. El historial de portabilidad no lo publican todos los países: cuando no hay dato, Portabilidad.Consta viene a 0 —que no es lo mismo que «no se ha portado», y por eso se distinguen.
Se cobra por consulta resuelta. Si no se puede resolver, la llamada devuelve -4 y no se cobra nada.
La misma consulta repetida en menos de un minuto (un doble envío, un reintento de su sistema) devuelve el resultado anterior marcado con Repetida=1 y tampoco se cobra. Pasado ese minuto se vuelve a consultar de verdad y se vuelve a cobrar: el dato puede haber cambiado, y justo la portabilidad de ayer es la que le interesa.
Igual que el resto de nuestras APIs: autenticación Basic con su usuario y su API Token, que encontrará en su panel en Sus datos → Configurar → Seguridad. Recuerde autorizar ahí también la IP pública desde la que llamará.
Realiza una comprobación antifraude. El parámetro SERVICIO elige cuál: con DatosTelefono devuelve operadora, portabilidad y tipo de línea del número; con DatosEmail, el dominio, el tipo de cuenta y si el buzón existe; con DatosIP, desde dónde se conecta alguien y qué clase de conexión usa. En los tres casos, además, el riesgo calculado y sus motivos.
Los campos de la respuesta dependen del servicio: Numero, Linea, Operadora y Portabilidad solo vienen en DatosTelefono, Email, Dominio, Cuenta, Buzon, Historial y Reputacion solo en DatosEmail, y IP, Ubicacion, Operador, Conexion y ListasNegras solo en DatosIP. Res, Servicio, Consulta, Riesgo, Fuente, Creditos y Cred vienen siempre.
| Servicio | string Enum: "DATOSTELEFONO" "DATOSEMAIL" "DATOSIP" Example: Servicio=DatosTelefono Comprobación que quiere realizar. No distingue mayúsculas de minúsculas.
|
| Telefono | string Example: Telefono=600000000 Número a comprobar, obligatorio con |
| Prefijo | string Example: Prefijo=+34 Prefijo internacional del país del número, con o sin |
string Example: Email=nombre@dominio.com Dirección de correo a comprobar, obligatoria con | |
| Listasnegras | string Enum: 0 1 Example: Listasnegras=1 Solo con |
| Filtraciones | string Enum: 0 1 Example: Filtraciones=1 Solo con |
| Ip | string Example: Ip=80.24.10.5 Dirección IPv4 a comprobar, obligatoria con |
| Resp | string Enum: "TXT" "JSON" "XML" Example: Resp=JSON Tipo de respuesta a mostrar como resultado de la llamada.
|
Los parámetros se envían en el cuerpo de la petición POST, como objeto JSON (Content-Type application/json, RECOMENDADO) o como formulario application/x-www-form-urlencoded. En el formato formulario, los parámetros de tipo array u objeto se envían como string JSON-codificado. Los nombres de los parámetros no distinguen mayúsculas de minúsculas. La descripción detallada de cada parámetro está en la sección de parámetros de esta operación.
| Servicio | string |
| Telefono | string |
| Prefijo | string |
string | |
| Listasnegras | string |
| Filtraciones | string |
| Ip | string |
| Resp | string |
| Res required | integer <int32> Resultado de la llamada
|
| Servicio | string Comprobación que se ha realizado. |
| Consulta | string El dato consultado, ya normalizado a formato internacional. |
Array of arrays Solo con | |
| Dominio | Array of arrays Solo con |
| Cuenta | Array of arrays Solo con |
| Buzon | Array of arrays Solo con |
| Historial | Array of arrays Solo con |
| Reputacion | Array of arrays Solo en los servicios de correo. |
| Numero | Array of arrays Solo con |
| Linea | Array of arrays Solo con |
| Operadora | Array of arrays Solo con |
| Portabilidad | Array of arrays Solo con |
| IP | Array of arrays Solo con |
| Ubicacion | Array of arrays Solo con |
| Operador | Array of arrays Solo con |
| Conexion | Array of arrays Solo con |
| ListasNegras | Array of arrays Listas negras públicas de abuso. En |
| Filtraciones | Array of arrays Solo con |
| Aviso | string Advertencia sobre la propia consulta cuando la hay: por ejemplo, que las filtraciones no se han podido consultar y por eso no se ha cobrado ese extra. Vacío o ausente el resto de las veces. |
| Riesgo | Array of arrays Riesgo calculado de 0 a 100, su |
| Fuente | string De dónde salen los datos: |
| Repetida | integer A |
| Creditos | number Créditos cobrados por esta llamada. |
| Cred | number Créditos que le quedan tras la consulta. |
| Error | string Descripción del problema cuando Res es negativo. |
{- "Servicio": "DatosTelefono",
- "Telefono": "600000000",
- "Prefijo": "+34",
- "Email": "nombre@dominio.com",
- "Listasnegras": "1",
- "Filtraciones": "1",
- "Ip": "80.24.10.5",
- "Resp": "JSON"
}[- {
- "Res": "1",
- "Servicio": "DatosTelefono",
- "Consulta": "+34600000000",
- "Email": "{\"Direccion\":\"nombre@dominio.com\",\"Cuenta\":\"nombre\",\"Dominio\":\"dominio.com\",\"Sintaxis\":1,\"Sugerencia\":\"\"}",
- "Dominio": "{\"RecibeCorreo\":1,\"Tipo\":\"gratuito\",\"TipoTexto\":\"Gratuito (buzón de uso personal)\",\"Servidores\":\"mx1.dominio.com, mx2.dominio.com\",\"AntiguedadDias\":8412}",
- "Cuenta": "{\"Tipo\":\"personal\",\"TipoTexto\":\"Personal\"}",
- "Buzon": "{\"Estado\":\"valido\",\"Detalle\":\"El servidor de correo del destino confirma que la cuenta existe.\",\"Concluyente\":1}",
- "Historial": "{\"Rebotado\":0,\"MotivoRebote\":\"\"}",
- "Reputacion": "{\"Trampa\":0,\"Detalle\":\"\",\"Puntuacion\":12,\"Filtrada\":1,\"NumFiltraciones\":3,\"AbusoReciente\":0,\"VistaDesde\":\"2014-08-11\",\"Plataformas\":7,\"ListaPlataformas\":\"Google, Amazon, Spotify, Linkedin\"}",
- "Numero": "{\"E164\":\"+34600000000\",\"Nacional\":\"600000000\",\"Prefijo\":\"+34\",\"Pais\":\"ES\",\"PaisNombre\":\"Spain\",\"Formato\":\"600 00 00 00\",\"Valido\":1}",
- "Linea": "{\"Tipo\":\"movil\",\"TipoTexto\":\"Móvil\"}",
- "Operadora": "{\"Nombre\":\"MOVISTAR\",\"Id\":1,\"MCC\":\"214\",\"MNC\":\"7\",\"Pais\":\"ES\"}",
- "Portabilidad": "{\"Portado\":1,\"Donante\":\"ORANGE\",\"Fecha\":\"2026-08-06\",\"Dias\":6,\"Consta\":1}",
- "IP": "{\"Direccion\":\"80.24.10.5\",\"Version\":4}",
- "Ubicacion": "{\"Pais\":\"ES\",\"PaisNombre\":\"España\",\"Region\":\"Madrid\",\"Ciudad\":\"Madrid\",\"Continente\":\"EU\",\"ZonaHoraria\":\"+02:00\",\"EnEuropa\":1}",
- "Operador": "{\"Nombre\":\"Telefonica de Espana\",\"ASN\":\"3352\",\"ASNNombre\":\"TELEFONICA_DE_ESPANA, ES\",\"Bloque\":\"80.24.0.0/14\",\"BloqueDesde\":\"2001-06-11\",\"PaisBloque\":\"ES\"}",
- "Conexion": "{\"Tipo\":\"domestica\",\"TipoTexto\":\"Conexión doméstica\",\"Anonima\":0,\"DnsInverso\":\"80.24.10.5.dyn.user.ono.com\",\"InversoConfirmado\":1}",
- "ListasNegras": "{\"Listada\":0,\"Listas\":\"\",\"SinComprobar\":0}",
- "Filtraciones": "{\"Consultado\":1,\"Filtrada\":1,\"Numero\":4,\"Primera\":\"2013-05-02\",\"Ultima\":\"2019-01-11\",\"Sitios\":\"LinkedIn, Dropbox\",\"AnosVisible\":13}",
- "Aviso": "",
- "Riesgo": "{\"Puntos\":45,\"Nivel\":\"MEDIO\",\"Motivos\":[\"Portado a otra operadora hace 6 días. Un cambio de operadora tan reciente es el patrón habitual del secuestro de línea.\"]}",
- "Fuente": "propia",
- "Repetida": "0",
- "Creditos": "0.3",
- "Cred": "1520.4",
- "Error": "El número indicado no tiene un formato válido"
}
]