À qui s’adresse ce produit
Utilisez cette suite pour améliorer la gestion des formulaires, prioriser l’examen manuel, enrichir les organisations et relier les ressources déclarées par les sites Web.
Essayez un produit, un objectif, un chemin d’endpoint ou un sujet d’API.
Analyser, valider, classer et formater les numéros de téléphone du monde entier, puis ajouter, lorsqu’elles sont disponibles, des données hors ligne sur la localisation, le fuseau horaire, l’opérateur attributaire initial du préfixe, la numérotation, les numéros courts et les attributions des régulateurs.
Analyser, valider, classer et formater les numéros de téléphone du monde entier, puis ajouter, lorsqu’elles sont disponibles, des données hors ligne sur la localisation, le fuseau horaire, l’opérateur attributaire initial du préfixe, la numérotation, les numéros courts et les attributions des régulateurs.
Utilisez cette suite pour améliorer la gestion des formulaires, prioriser l’examen manuel, enrichir les organisations et relier les ressources déclarées par les sites Web.
À choisir pour analyser, formater et évaluer les signaux publics de numérotation et de type de ligne. Cela ne prouve ni l’accessibilité, ni la propriété, ni l’identité de l’utilisateur.
Analyser, valider, classer et formater les numéros de téléphone du monde entier, puis ajouter, lorsqu’elles sont disponibles, des données hors ligne sur la localisation, le fuseau horaire, l’opérateur attributaire initial du préfixe, la numérotation, les numéros courts et les attributions des régulateurs.
Examinez les opérations, entrées, sorties, modes d’exécution et limites de réponse pris en charge avant l’intégration.
1 Authentification requise. Consultez la référence de l’opération pour connaître le coût exact et les éventuels tarifs par élément.
Utilisez des opérations documentées pour collecter, évaluer, enrichir, vérifier, comparer, protéger ou surveiller des preuves publiques.
| Paramètre | Type | requis |
|---|---|---|
| phone | string | requis |
| default_country | string | optionnel |
| expected_country | string | optionnel |
| dialing_from_country | string | optionnel |
| language | string | optionnel |
| Champ | Type |
|---|---|
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 Requête incorrecte401 Non autorisé402 Paiement requis409 HTTP 409422 HTTP 422429 Trop de requêtes500 Erreur serveurUtilisez la référence API de Données contextuelles sur les numéros de téléphone pour consulter les paramètres, les champs de réponse, les exemples, les codes d’état et les modes d’opération pris en charge.
Les résultats inconnus ou partiels signifient que les preuves demandées n’ont pas pu être déterminées entièrement. Conservez l’état du résultat, le niveau de confiance, la fraîcheur et les limites dans vos décisions en aval.
Le tarif dépend de l’opération et du mode d’exécution. Consultez la référence de l’endpoint pour connaître le coût actuel en crédits, l’exigence d’authentification et les règles par élément.
Utilisé par des équipes de ces entreprises