API de Validation et de Formatage des Numéros de Téléphone
L'API de validation des numéros de téléphone est prise en charge dans 242 pays.
L'API de Validation et de Formatage des Numéros de Téléphone vous permet de traiter facilement les numéros de téléphone saisis par les utilisateurs dans une grande variété de formats. Que l'entrée soit aussi irrégulière que 1(212)-867-53-09
, +1 212 8675309
, 001-212.867.5309
ou simplement 2128675309
, notre API détectera intelligemment la structure et renverra une version standardisée.
Cet outil convertit automatiquement l'entrée fournie au format E.164, qui est le format reconnu mondialement pour les numéros de téléphone internationaux. Par exemple, +1 212 867 5309
est renvoyé sous la forme +12128675309, ce qui le rend adapté aux systèmes d'appel internationaux et aux intégrations.
Au-delà du formatage, l'API offre des fonctionnalités détaillées de validation des numéros de téléphone. Elle vérifie si le numéro est isValid: true
— ce qui signifie qu'il est valide selon les plans de numérotation nationaux. Elle propose également une vérification isPossible: true
, indiquant si un numéro pourrait potentiellement exister même s'il n'est pas encore attribué. Ceci est utile pour une prévalidation avant enregistrement ou traitement.
Le paramètre numberType permet d’identifier si le numéro est un mobile, fixe ou VoIP. Ceci est particulièrement utile dans les scénarios où vous ne souhaitez autoriser que les mobiles pour les vérifications par SMS ou les lignes fixes pour les contacts professionnels.
Avec la prise en charge de la reconnaissance des indicatifs régionaux, l’API peut également détecter l’origine géographique du numéro. Par exemple, un numéro commençant par l’indicatif 212
est automatiquement associé à New York City (Manhattan). Cette fonctionnalité est parfaite pour les applications nécessitant une segmentation ou une analyse basée sur la localisation.
Chaque numéro est également associé à des métadonnées au niveau du pays, telles que le code de région ISO (ex. : US
) et le code numérique du pays (ex. : 1
), permettant une logique et des formats d'affichage spécifiques à la région dans vos applications.
✅ Réponse de l’API
Exemple de réponse JSON :
{
"status": true,
"remaining_credits": 15709,
"expires": 0,
"duration": "18ms",
"regionCode": "US",
"countryCode": 1,
"country":"États-Unis",
"national": "(212) 867-5309",
"international": "+1 212-867-5309",
"e164": "+12128675309",
"isValid": true,
"isPossible": true,
"numberType": "FIXED_LINE_OR_MOBILE",
"nationalSignificantNumber": "2128675309",
"rawInput": "+1 212 867 5309",
"isGeographical": true,
"areaCode": "212",
"location": "New York City (Manhattan)"
}
Essayez vous-même l’API de validation des numéros
Utilisation de base
Envoyez un numéro de téléphone à l'URL suivante :
https://api.genderapi.io/api/phone?key=YOUR_API_KEY&number=12128675309
Vous pouvez obtenir votre clé API gratuite quotidienne avec 200 crédits depuis ce lien.
Paramètre Address
L’API prend également en charge un paramètre optionnel address
, très utile lorsque le numéro de téléphone est fourni sans indicatif international. Ce champ aide le système à détecter la région souhaitée et à analyser correctement le numéro. Par exemple, si le numéro fourni est 2128675309
sans indicatif, définir address=US
, address=United States
ou même address=New York
peut permettre à l'API de déterminer que le numéro appartient aux États-Unis.
Le paramètre address
accepte des entrées dans plusieurs formats, notamment :
- codes ISO 3166-1 alpha-2 comme
US
,DE
ouTR
- Noms de pays comme
Allemagne
,Turquie
ouAmérique
- Noms de villes ou régions comme
Berlin
,Istanbul
ouNew York
Bien qu’il soit optionnel, le champ address
devient obligatoire si le numéro de téléphone ne commence pas par un signe plus et un indicatif international (ex. : +1
, +44
, +90
). Sans cette information contextuelle, l'API pourrait ne pas être en mesure d'interpréter correctement le format national.
Exemple avec le paramètre address :
https://api.genderapi.io/api/phone?key=YOUR_API_KEY&number=12128675309&address=US
Champs de Réponse
Champ | Type | Description |
---|---|---|
status | Boolean | true si la requête a été réussie. |
remaining_credits | Integer | Nombre de crédits API restants après cette requête. |
expires | Integer (timestamp) | Date d’expiration des crédits au format UNIX (en secondes). |
duration | String | Temps nécessaire au traitement de la requête (ex. 308ms ). |
regionCode | String | Code de région ISO 3166-1 alpha-2 du pays détecté (ex. US ). |
countryCode | Integer | Indicatif téléphonique international du pays (ex. 1 pour les États-Unis). |
country | String | Nom complet du pays dans un format lisible (ex. États-Unis). |
national | String | Version nationale formatée du numéro (ex. (212) 867–5309 ). |
international | String | Version internationale formatée (ex. +1 212–867–5309 ). |
e164 | String | Numéro au format E.164 (ex. +12128675309 ). |
isValid | Boolean | true si le numéro est valide selon les règles régionales. |
isPossible | Boolean | true si le numéro a une structure valide et peut potentiellement exister, même s’il n’est pas encore attribué. |
numberType | Enum[String] | Type de numéro. Valeurs possibles : FIXED_LINE , MOBILE , FIXED_LINE_OR_MOBILE , etc. |
nationalSignificantNumber | String | Numéro national complet sans indicatif pays (ex. 2128675309 ). |
rawInput | String | Numéro d’origine tel qu’envoyé dans la requête API. |
isGeographical | Boolean | true si le numéro peut être lié à une zone géographique (ex. lignes fixes). |
areaCode | String | Indicatif régional du numéro (ex. 212 ). |
location | String | Emplacement géographique associé à l’indicatif régional (ex. New York City (Manhattan) ). |
Valeurs de Type de Numéro
Type | Description |
---|---|
FIXED_LINE | Un numéro de ligne fixe standard lié à une localisation géographique. |
MOBILE | Un numéro de téléphone mobile pouvant recevoir des appels et des SMS. |
FIXED_LINE_OR_MOBILE | Le numéro peut être une ligne fixe ou un mobile. La distinction n’est pas claire dans le plan de numérotation. |
TOLL_FREE | Un numéro vert où le destinataire paie les frais, par exemple les numéros 800 aux États-Unis. |
PREMIUM_RATE | Un numéro surtaxé qui applique souvent des frais plus élevés, généralement pour des services d’information ou de divertissement. |
SHARED_COST | Un numéro dont le coût est partagé entre l’appelant et le destinataire. |
VOIP | Numéro Voice over IP utilisé pour les services de téléphonie via Internet comme Skype ou Google Voice. |
PERSONAL_NUMBER | Un numéro personnel pouvant être redirigé vers n’importe quelle ligne téléphonique choisie par l’utilisateur. |
PAGER | Un numéro de radiomessagerie utilisé pour les notifications textuelles (désormais obsolète). |
UAN | Numéro d’accès universel, souvent utilisé par les entreprises comme point de contact unique. |
VOICEMAIL | Un numéro dédié à l’accès aux services de messagerie vocale. |
UNKNOWN | Le type de numéro n’a pas pu être déterminé. |
+
dans les numéros de téléphone ou les espaces dans les noms de pays),
veillez toujours à les encoder en URL avant d’effectuer des requêtes GET. Sinon, votre requête pourrait échouer ou les paramètres pourraient être mal interprétés.
❌ Exemple (incorrect) :
curl "https://api.genderapi.io/api/phone?number=+49 151 12345678&address=United States&key=YOUR_API_KEY"✅ Utilisation correcte (encodée en URL) :
curl "https://api.genderapi.io/api/phone?number=%2B49%20151%2012345678&address=United%20States&key=YOUR_API_KEY"Vous pouvez également utiliser les fonctions d'encodage URL disponibles dans votre langage de programmation pour encoder les paramètres avant l’envoi.
API de validation de numéro via une requête POST
Vous pouvez utiliser la méthode POST pour valider un numéro de téléphone pour les États-Unis. Il suffit de fournir le numéro au format E.164, national ou international accompagné du pays/adresse. Votre clé API doit être envoyée comme un jeton Bearer.
Exemple cURL
curl -X POST "https://api.genderapi.io/api/phone" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"number": "+12128675309", "address": "US"}'
Exemple cURL en PHP
<?php
$url = "https://api.genderapi.io/api/phone";
$data = array(
"number" => "+12128675309",
"address" => "US"
);
$payload = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Authorization: Bearer YOUR_API_KEY"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Exemple d’utilisation de fetch en JavaScript
fetch("https://api.genderapi.io/api/phone", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({
number: "+12128675309",
address: "United States"
})
})
.then(response => response.json())
.then(data => console.log(data));
Exemple avec la bibliothèque requests en Python
import requests
url = "https://api.genderapi.io/api/phone"
payload = {
"number": "+12128675309",
"address": "United States"
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
Bibliothèques clientes
Pour faciliter encore davantage l'intégration, nous proposons une gamme de bibliothèques clientes officielles et prises en charge par la communauté pour différents langages de programmation. Ces bibliothèques vous permettent d’interagir avec les points de terminaison de GenderAPI — comme l'API de validation de numéro de téléphone — sans avoir à gérer manuellement les requêtes HTTP ou l’analyse JSON. Il suffit de choisir la bibliothèque adaptée à votre environnement, de l’installer et de commencer à envoyer des requêtes avec une configuration minimale.
Vous pouvez consulter la liste des bibliothèques clientes disponibles ainsi que les instructions d’installation à la page suivante :
https://www.genderapi.io/fr/docs-client-libraries
Foire aux questions (FAQ)
1. Qu’est-ce que l’API de validation et de formatage des numéros de téléphone ?
L’API de validation et de formatage des numéros de téléphone est un outil qui vous permet de valider, formater et analyser les numéros de téléphone du monde entier. Elle peut convertir les numéros au format standardisé E.164 et déterminer des métadonnées telles que la région, le type (mobile/fixe), la validité, etc.
2. À quoi sert la validation de numéro de téléphone ?
Elle sert à vérifier si un numéro de téléphone est valide, à le formater pour un usage international, à identifier son type (ex. : mobile, VoIP), à détecter les métadonnées régionales et à garantir une saisie propre et standardisée dans un CRM, un outil marketing ou un formulaire d'inscription.
3. Combien de pays sont pris en charge ?
L’API prend en charge les numéros de 242 pays et territoires dans le monde. Cela garantit une couverture globale pour toute application internationale ou régionale.
4. Quels formats sont pris en charge ?
L’API accepte les numéros dans divers formats, tels que national, international ou E.164. Elle les détecte et les normalise automatiquement.
5. Que se passe-t-il si je ne fournis pas le paramètre de pays ou d’adresse ?
Si le numéro ne commence pas par un « + » et qu’aucun pays/adresse n’est fourni, l’API risque de ne pas pouvoir interpréter correctement le numéro. Il est recommandé d’inclure le paramètre address
(par exemple US
, United States
ou New York
).
6. L’API peut-elle détecter le type de numéro ?
Oui. L’API renvoie le champ numberType
qui indique si le numéro est un MOBILE
, FIXED_LINE
, VOIP
, etc.
7. Quelle est la différence entre isValid
et isPossible
?
isValid
signifie que le numéro est officiellement attribué et conforme à toutes les règles régionales. isPossible
vérifie si le numéro pourrait théoriquement exister en fonction de sa structure, même s’il n’est pas encore attribué.
8. Quel type de réponse renvoie l’API ?
Une réponse réussie inclut le statut, les variantes de numéros formatés (national, international, E.164), les données régionales, le type de numéro, la consommation de crédits, etc. Consultez la section « Exemple de réponse de l’API » pour un exemple complet.
9. Comment dois-je envoyer ma clé API ?
Pour les requêtes GET, ajoutez la clé sous la forme ?key=YOUR_API_KEY
. Pour les requêtes POST, utilisez le jeton Bearer dans l'en-tête comme ceci :
"Authorization: Bearer YOUR_API_KEY"
.
10. Que signifie une réponse status: false
?
Cela signifie que la requête a échoué. Le champ message
contiendra la raison de l’erreur, comme des paramètres manquants, un numéro invalide ou un manque de crédits.
11. Les caractères spéciaux ou les espaces sont-ils autorisés dans les entrées ?
Oui, mais ils doivent être encodés en URL pour les requêtes GET. Par exemple, utilisez %20
à la place d’un espace. Voir la section d’avertissement ci-dessus pour une utilisation correcte.
12. Puis-je utiliser des adresses dans différents formats ou langues ?
Oui. En plus des codes ISO 3166-1 alpha-2 (comme US
, DE
, TR
), le paramètre address
accepte également les noms complets de pays ou de villes — même dans différentes langues. L’API utilise une IA intégrée pour détecter et interpréter intelligemment le pays ou la région correcte. Par exemple :
address=Deutschland
address=États-Unis
address=İstanbul
address=New York
address=Estados Unidos
Toutes ces entrées seront correctement associées à leurs pays ou régions respectifs par l’API sans aucun problème.