Para quién es
Usa la suite para mejorar formularios, priorizar revisiones manuales, enriquecer organizaciones y conectar activos declarados por sitios web.
Prueba con un producto, resultado, ruta de endpoint o tema de API.
Analiza, valida, clasifica y da formato a números de teléfono de todo el mundo, y añade datos sin conexión sobre ubicación, zona horaria, operador original del prefijo, marcación, números cortos y asignaciones del regulador cuando estén disponibles.
Analiza, valida, clasifica y da formato a números de teléfono de todo el mundo, y añade datos sin conexión sobre ubicación, zona horaria, operador original del prefijo, marcación, números cortos y asignaciones del regulador cuando estén disponibles.
Usa la suite para mejorar formularios, priorizar revisiones manuales, enriquecer organizaciones y conectar activos declarados por sitios web.
Elige esto para analizar, formatear y evaluar señales públicas de numeración y tipo de línea. No demuestra accesibilidad, titularidad ni identidad del usuario.
Analiza, valida, clasifica y da formato a números de teléfono de todo el mundo, y añade datos sin conexión sobre ubicación, zona horaria, operador original del prefijo, marcación, números cortos y asignaciones del regulador cuando estén disponibles.
Revisa las operaciones, entradas, salidas, modos de ejecución y límites de respuesta compatibles antes de integrar.
1 Autenticación obligatoria. Consulta la referencia de la operación para conocer el coste exacto y cualquier precio por elemento.
Usa operaciones documentadas para recopilar, evaluar, enriquecer, verificar, comparar, proteger o monitorizar evidencias públicas.
| Parámetro | Tipo | obligatorio |
|---|---|---|
| phone | string | obligatorio |
| default_country | string | opcional |
| expected_country | string | opcional |
| dialing_from_country | string | opcional |
| language | string | opcional |
| Campo | Tipo |
|---|---|
input |
string |
normalized_input |
string |
kind |
string |
valid |
boolean |
possible |
boolean |
status |
string |
recommendation |
string |
validation_level |
string |
reason |
string | null |
warnings[] |
string[] |
number |
object |
number.e164 |
string |
number.international |
string |
number.national |
string |
number.rfc3966 |
string |
number.national_number |
string |
number.extension |
string | null |
number.country |
string | null |
number.country_name |
string | null |
number.country_calling_code |
string |
number.possible_countries[] |
string[] |
number.country_match |
boolean | null |
number.type |
string |
number.non_geographic |
boolean |
live_checks |
object |
live_checks.assignment |
string |
live_checks.reachability |
string |
live_checks.current_carrier |
string |
live_checks.subscriber_identity |
string |
live_checks.porting |
string |
privacy |
object |
privacy.upstream_requests |
integer |
privacy.telecom_provider_queried |
boolean |
privacy.persisted |
boolean |
privacy.domscan_edge_relay_used |
boolean |
privacy.third_party_requests |
integer |
intelligence |
object |
intelligence.status |
string |
intelligence.kind |
string | null |
intelligence.reason |
string | null |
intelligence.coverage |
object |
intelligence.coverage.country |
string | null |
intelligence.coverage.level |
string |
intelligence.coverage.global_numbering_metadata |
boolean |
intelligence.coverage.official_snapshot_available |
boolean |
intelligence.coverage.official_allocation_match |
boolean |
intelligence.coverage.official_source_ids[] |
string[] |
intelligence.coverage.matching_source_ids[] |
string[] |
intelligence.coverage.current_carrier_lookup |
boolean |
intelligence.location |
object |
intelligence.location.label |
string | null |
intelligence.location.country_name |
string | null |
intelligence.location.country |
string | null |
intelligence.location.language |
string |
intelligence.location.granularity |
string |
intelligence.location.current_physical_location |
boolean |
intelligence.possible_time_zones |
object |
intelligence.possible_time_zones.values[] |
string[] |
intelligence.possible_time_zones.current_location |
boolean |
intelligence.possible_time_zones.inference |
string |
intelligence.original_prefix_carrier |
object |
intelligence.original_prefix_carrier.name |
string | null |
intelligence.original_prefix_carrier.source_id |
string | null |
intelligence.original_prefix_carrier.evidence |
string |
intelligence.original_prefix_carrier.current_carrier |
boolean |
intelligence.original_prefix_carrier.portability_may_change_carrier |
boolean |
intelligence.portability |
object |
intelligence.portability.region_supported |
boolean |
intelligence.portability.current_port_checked |
boolean |
intelligence.dialing |
object |
intelligence.dialing.from_country |
string | null |
intelligence.dialing.international |
string | null |
intelligence.dialing.mobile |
string | null |
intelligence.dialing.internationally_diallable |
boolean |
intelligence.number_details |
object |
intelligence.number_details.geographical |
boolean |
intelligence.number_details.geographical_area_code |
string | null |
intelligence.number_details.geographical_area_code_length |
integer |
intelligence.number_details.national_destination_code |
string | null |
intelligence.number_details.national_destination_code_length |
integer |
intelligence.number_details.subscriber_number_length |
integer |
intelligence.number_details.mobile_token |
string | null |
intelligence.service_signals |
object |
intelligence.service_signals.number_type |
string |
intelligence.service_signals.geographical |
boolean |
intelligence.service_signals.toll_free |
boolean |
intelligence.service_signals.premium_rate |
boolean |
intelligence.service_signals.shared_cost |
boolean |
intelligence.service_signals.voip |
boolean |
intelligence.service_signals.personal_number |
boolean |
intelligence.service_signals.likely_sms_capable |
boolean | null |
intelligence.short_number |
object |
intelligence.short_number.region |
string |
intelligence.short_number.possible |
boolean |
intelligence.short_number.valid |
boolean |
intelligence.short_number.emergency |
boolean |
intelligence.short_number.connects_to_emergency |
boolean |
intelligence.short_number.sms_service |
boolean |
intelligence.short_number.carrier_specific |
boolean |
intelligence.short_number.expected_cost |
string |
intelligence.regulator_allocations[] |
object[] |
intelligence.regulator_allocations[] |
object |
intelligence.regulator_allocations[].authority |
string |
intelligence.regulator_allocations[].country |
string |
intelligence.regulator_allocations[].matched_prefix |
string |
intelligence.regulator_allocations[].matched_range_end |
string | null |
intelligence.regulator_allocations[].match_kind |
string |
intelligence.regulator_allocations[].category |
string |
intelligence.regulator_allocations[].status |
string |
intelligence.regulator_allocations[].original_assignee |
string | null |
intelligence.regulator_allocations[].operator_code |
string | null |
intelligence.regulator_allocations[].region |
string | null |
intelligence.regulator_allocations[].service_description |
string | null |
intelligence.regulator_allocations[].assigned_on |
string | null |
intelligence.regulator_allocations[].effective_on |
string | null |
intelligence.regulator_allocations[].expires_on |
string | null |
intelligence.regulator_allocations[].current_operator |
boolean |
intelligence.regulator_allocations[].portability_included |
boolean |
intelligence.regulator_allocations[].individual_number_assignment_checked |
boolean |
intelligence.regulator_allocations[].source_id |
string |
intelligence.regulator_allocations[].source_file |
string | null |
intelligence.regulator_allocations[].details |
object |
intelligence.sources[] |
object[] |
intelligence.sources[] |
object |
intelligence.sources[].id |
string |
intelligence.sources[].name |
string |
intelligence.sources[].type |
string |
intelligence.sources[].version |
string | null |
intelligence.sources[].updated_at |
string | null |
intelligence.sources[].retrieved_at |
string | null |
intelligence.sources[].age_days |
integer | null |
intelligence.sources[].record_count |
integer | null |
intelligence.sources[].license |
string | null |
intelligence.sources[].license_url |
string | null |
intelligence.sources[].url |
string |
intelligence.sources[].attribution |
string | null |
intelligence.warnings[] |
string[] |
intelligence.relay |
object |
intelligence.relay.configured |
boolean |
intelligence.relay.used |
boolean |
intelligence.relay.persisted |
boolean |
limitations[] |
string[] |
metadata |
object |
metadata.engine |
string |
metadata.metadata_basis |
string |
credits_used |
integer |
curl -X POST "https://domscan.net/v1/phone/validate" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"phone": "+34 612 345 678",
"default_country": "ES",
"expected_country": "ES",
"dialing_from_country": "ES",
"language": "es"
}'const response = await fetch("https://domscan.net/v1/phone/validate", {
method: "POST",
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
"phone": "+34 612 345 678",
"default_country": "ES",
"expected_country": "ES",
"dialing_from_country": "ES",
"language": "es"
}),
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.post(
"https://domscan.net/v1/phone/validate",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
json={
"phone": "+34 612 345 678",
"default_country": "ES",
"expected_country": "ES",
"dialing_from_country": "ES",
"language": "es",
},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"phone": "+34 612 345 678",
"default_country": "ES",
"expected_country": "ES",
"dialing_from_country": "ES",
"language": "es"
}`)
req, err := http.NewRequest(http.MethodPost, "https://domscan.net/v1/phone/validate", body)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/phone/validate")
request = Net::HTTP::Post.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
request["Content-Type"] = "application/json"
request.body = JSON.generate({
"phone" => "+34 612 345 678",
"default_country" => "ES",
"expected_country" => "ES",
"dialing_from_country" => "ES",
"language" => "es"
})
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body)){
"input": "+44 20 7946 0123",
"normalized_input": "+44 20 7946 0123",
"validation_level": "numbering_plan",
"live_checks": {
"assignment": "not_checked",
"reachability": "not_checked",
"current_carrier": "not_checked",
"subscriber_identity": "not_checked",
"porting": "not_checked"
},
"privacy": {
"upstream_requests": 0,
"telecom_provider_queried": false,
"persisted": false,
"domscan_edge_relay_used": true,
"third_party_requests": 0
},
"intelligence": {
"status": "available",
"kind": "phone_number",
"reason": null,
"coverage": {
"country": "GB",
"level": "global_numbering_metadata",
"global_numbering_metadata": true,
"official_snapshot_available": false,
"official_allocation_match": false,
"official_source_ids": [],
"matching_source_ids": [],
"current_carrier_lookup": false
},
"location": {
"label": "London",
"country_name": "United Kingdom",
"country": "GB",
"language": "en",
"granularity": "numbering_plan_area",
"current_physical_location": false
},
"possible_time_zones": {
"values": [
"Europe/London"
],
"current_location": false,
"inference": "number_prefix"
},
"original_prefix_carrier": {
"name": null,
"source_id": null,
"evidence": "unavailable",
"current_carrier": false,
"portability_may_change_carrier": true
},
"portability": {
"region_supported": true,
"current_port_checked": false
},
"dialing": {
"from_country": "US",
"international": "011 44 20 7946 0123",
"mobile": "+44 20 7946 0123",
"internationally_diallable": true
},
"number_details": {
"geographical": true,
"geographical_area_code": "20",
"geographical_area_code_length": 2,
"national_destination_code": "20",
"national_destination_code_length": 2,
"subscriber_number_length": 8,
"mobile_token": null
},
"service_signals": {
"number_type": "fixed_line",
"geographical": true,
"toll_free": false,
"premium_rate": false,
"shared_cost": false,
"voip": false,
"personal_number": false,
"likely_sms_capable": null
},
"short_number": null,
"regulator_allocations": [],
"sources": [
{
"id": "google_libphonenumber",
"name": "Google libphonenumber metadata",
"type": "offline_metadata",
"version": "9.0.34",
"license": "Apache-2.0",
"url": "https://github.com/google/libphonenumber"
}
],
"warnings": [
"LOCATION_IS_NUMBERING_PLAN_AREA_NOT_DEVICE_LOCATION",
"CARRIER_IS_ORIGINAL_PREFIX_CARRIER_NOT_CURRENT_CARRIER",
"ALLOCATION_DOES_NOT_PROVE_INDIVIDUAL_ASSIGNMENT",
"NO_CURRENT_PORTABILITY_LOOKUP",
"NO_LIVE_TELECOM_CHECKS"
],
"relay": {
"configured": true,
"used": true,
"persisted": false
}
},
"limitations": [
"NUMBERING_PLAN_ONLY",
"DOES_NOT_PROVE_ASSIGNMENT",
"NO_LIVE_TELECOM_CHECKS"
],
"metadata": {
"engine": "libphonenumber-js/max",
"metadata_basis": "Google libphonenumber numbering plans"
},
"kind": "phone_number",
"valid": true,
"possible": true,
"status": "valid",
"recommendation": "accept",
"reason": null,
"warnings": [],
"number": {
"e164": "+442079460123",
"international": "+44 20 7946 0123",
"national": "020 7946 0123",
"rfc3966": "tel:+442079460123",
"national_number": "2079460123",
"extension": null,
"country": "GB",
"country_name": "United Kingdom",
"country_calling_code": "44",
"possible_countries": [
"GB"
],
"country_match": true,
"type": "fixed_line",
"non_geographic": false
},
"credits_used": 1
}
200 OK400 Solicitud incorrecta401 No autorizado402 Pago requerido409 HTTP 409422 HTTP 422429 Demasiadas solicitudes500 Error del servidorUsa la referencia de API de Inteligencia de números de teléfono para revisar parámetros, campos de respuesta, ejemplos, códigos de estado y modos de operación compatibles.
Los resultados desconocidos o parciales indican que la evidencia solicitada no pudo determinarse por completo. Conserva el estado del resultado, la confianza, la vigencia y las limitaciones en las decisiones posteriores.
El precio depende de la operación y del modo de ejecución. Consulta la referencia del endpoint para conocer el coste actual en créditos, el requisito de autenticación y las reglas por elemento.
Utilizado por personas en estas empresas