# Validation de Numéro de Téléphone : Le Guide Complet 2026.

> **Quick answer**: La validation de numéro de téléphone vérifie qu'un numéro est correctement formaté selon le standard E.164, correspond à un pays réel, et peut recevoir des appels ou SMS. Trois niveaux existent : validation syntaxique du format, validation sémantique des règles nationales, et validation opérateur qui confirme l'existence de la ligne. Derrick extrait et valide automatiquement les numéros depuis LinkedIn dans Google Sheets, garantissant un format international exploitable pour vos campagnes commerciales sans manipulation manuelle.

> **Summary** Vous collectez des numéros de téléphone pour vos campagnes SMS, vos opérations de cold calling ou votre enrichissement CRM. Mais combien de ces numéros sont réellement valides ? Selon Twilio, près de 30% des numéros stockés dans les bases de données d’entreprise sont incorrects ou obsolètes. Un numéro invalide, c’est un SMS qui n’arrive jamais, […]

*Published: 2026-01-01 · Updated: 2026-05-05 · Canonical: https://derrick-app.com/validation-numero-telephone/*

---

Vous collectez des numéros de téléphone pour vos campagnes SMS, vos opérations de cold calling ou votre enrichissement CRM. Mais combien de ces numéros sont réellement valides ? Selon Twilio, près de 30% des numéros stockés dans les bases de données d’entreprise sont incorrects ou obsolètes.

Un numéro invalide, c’est un SMS qui n’arrive jamais, un appel qui tombe dans le vide, et surtout un prospect perdu. Dans ce guide, vous allez découvrir comment valider efficacement vos numéros de téléphone, qu’ils soient français, internationaux, mobiles ou fixes.

    TL;DR</p>

        La validation de numéro vérifie si un numéro existe réellement et peut recevoir des appels ou SMS. Le standard universel est le format E.164 avec code pays. Utilisez des outils comme libphonenumber ou des APIs spécialisées plutôt que des regex. Un numéro mal validé coûte en moyenne 5 euros en temps perdu et opportunités manquées.

Trouvez et enrichissez les numéros de vos prospects LinkedIn

Derrick extrait automatiquement les numéros de téléphone depuis LinkedIn et les enrichit dans Google Sheets. Format international garanti.

            [Essayer gratuitement →](https://derrick-app.com?utm_source=blog&utm_medium=cta?utm_source=blog&utm_medium=cta&utm_campaign=primary_cta)

</p>

        ![Derrick Demo](https://derrick-app.com/wp-content/uploads/2025/12/3.jpg)

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Qu’est-ce que la validation de numéro de téléphone et pourquoi c’est crucial

La validation de numéro de téléphone est le processus qui permet de vérifier qu’un numéro est correctement formaté, qu’il correspond à un pays réel, et surtout qu’il peut recevoir des appels ou des SMS.

**Concrètement, valider un numéro téléphone répond à trois questions :**

1. Le numéro respecte-t-il les règles de formatage du pays concerné ?
2. Le numéro correspond-il à une ligne active chez un opérateur téléphonique ?
3. S’agit-il d’un numéro mobile, d’un fixe, ou d’un numéro VoIP ?

Pour un SDR qui prospecte 200 leads par jour, la différence entre des numéros validés et non validés représente jusqu’à 2 heures de temps perdu quotidiennement en appels qui ne passent jamais.

D’après une étude HubSpot 2026, les équipes commerciales perdent en moyenne 27% de leur temps à cause de données de contact erronées. La validation de téléphone est donc un enjeu de productivité direct.

**Les trois types de validation :**

| Type | Ce qu’il vérifie | Fiabilité |
| --- | --- | --- |
| **Syntaxique** | Format et structure du numéro | 70% |
| **Sémantique** | Cohérence avec les règles du pays | 85% |
| **Opérateur** | Existence réelle auprès de l’opérateur | 95%+ |

La validation syntaxique vérifie que le numéro contient le bon nombre de chiffres et respecte le format attendu. C’est rapide mais insuffisant : un numéro peut être bien formaté sans exister pour autant.

La validation sémantique va plus loin en vérifiant que le numéro respecte les règles spécifiques du pays concerné. Par exemple, en France, les mobiles commencent par 06 ou 07, tandis qu’au Royaume-Uni, le code 020 indique Londres.

La validation opérateur est la plus fiable : elle interroge directement les bases de données des opérateurs téléphoniques pour confirmer que la ligne existe et est active. C’est cette méthode qu’utilisent les APIs comme Twilio Lookup ou Numverify.

Maintenant que vous comprenez l’enjeu, voyons comment fonctionne concrètement la validation avec le standard international.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Comment fonctionne le format E.164 : le standard universel

Le format E.164 est le standard international défini par l’Union internationale des télécommunications (ITU-T) pour structurer les numéros de téléphone. Tous les opérateurs téléphoniques du monde l’utilisent.

**Structure du format E.164 :**

- Commence toujours par le signe `+`
- Suivi du code pays (1 à 3 chiffres)
- Puis le numéro national sans le zéro initial
- Maximum 15 chiffres au total

**Exemples concrets :**

| Pays | Numéro local | Format E.164 | Code pays |
| --- | --- | --- | --- |
| France | 06 12 34 56 78 | +33612345678 | +33 |
| États-Unis | (415) 555-0123 | +14155550123 | +1 |
| Royaume-Uni | 020 7946 0958 | +442079460958 | +44 |
| Allemagne | 030 12345678 | +493012345678 | +49 |
| Espagne | 912 345 678 | +34912345678 | +34 |

**Pourquoi retirer le zéro initial ?**

En France, vous composez `06 12 34 56 78` pour appeler un mobile. Mais à l’international, ce zéro n’existe pas : il indique simplement “je compose un numéro national”. Le format E.164 supprime ce zéro et le remplace par le code pays.

Marie, Head of Sales chez une startup SaaS B2B, prospecte dans 15 pays européens. Avant de standardiser ses numéros au format E.164, son équipe perdait 3 heures par semaine à corriger manuellement les formats avant d’importer dans leur outil de cold calling.

**Les avantages du format E.164 :**

**Pour les équipes commerciales :**

- Routage international automatique sans erreur
- Compatibilité avec tous les CRM et outils d’appel
- Synchronisation simplifiée entre bases de données

**Pour les systèmes techniques :**

- Identifiant unique mondial pour chaque numéro
- Parsing et validation simplifiés
- Évite les doublons (même numéro stocké sous différents formats)

**Les règles à respecter :**

1. **Pas d’espaces ni de caractères spéciaux** : Le format E.164 n’accepte que des chiffres après le signe `+`. Pas de tirets, parenthèses ou espaces.
2. **Toujours commencer par le code pays** : Même pour un numéro national, le code pays est obligatoire en E.164.
3. **Supprimer les préfixes nationaux** : Le zéro initial en France, en Allemagne ou au Royaume-Uni doit être retiré.
4. **Maximum 15 chiffres** : C’est la limite stricte du format. Code pays + numéro national ne peuvent jamais dépasser 15 chiffres.

Thomas, Sales Operations Manager dans une scale-up tech, a automatisé la conversion de 50 000 numéros vers le format E.164. Résultat : taux de connexion téléphonique passé de 62% à 89% en éliminant les erreurs de formatage.

Ce standard universel étant établi, passons maintenant aux différentes méthodes pour valider efficacement vos numéros.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Comment valider un numéro de téléphone : les 4 méthodes principales

Il existe quatre approches pour vérifier un numéro de téléphone, chacune avec ses avantages et ses limites. Voici comment choisir la bonne méthode selon votre contexte.

### Méthode 1 : Validation par regex (à éviter)

La validation par expression régulière (regex) est la plus basique. Elle vérifie simplement que le numéro contient le bon nombre de chiffres et respecte un pattern donné.

**Exemple de regex simple pour numéro français :**

```
^(?:(?:\+|00)33|0)[1-9](?:[0-9]{8})$

```

**⚠️ Pourquoi c’est insuffisant :**

Les règles de numérotation changent constamment. Un numéro peut respecter le pattern regex sans exister pour autant. Par exemple, `06 99 99 99 99` passe la validation regex mais n’est pas attribué en France.

Les regex deviennent extrêmement complexes pour gérer tous les cas particuliers de chaque pays. Une regex qui valide correctement les numéros américains, britanniques, français et allemands fait facilement 500 caractères.

Clara, développeuse chez un éditeur SaaS, a passé 2 jours à écrire des regex pour 20 pays. Taux d’erreur final : 15%. Elle a finalement adopté libphonenumber et divisé son code par 10.

**Verdict : Utilisez les regex uniquement pour une validation basique en frontend, jamais comme validation définitive.**

### Méthode 2 : Librairie libphonenumber (recommandé pour la syntaxe)

Libphonenumber est la librairie open-source développée par Google pour parser, formater et valider les numéros internationaux. C’est l’outil de référence, utilisé par Android depuis la version 4.0.

**Ce que libphonenumber peut faire :**

- Parser un numéro dans n’importe quel format
- Détecter automatiquement le pays
- Valider la syntaxe selon les règles ITU-T
- Identifier le type de numéro (mobile, fixe, VoIP)
- Formater au format E.164 ou national

**Exemple simple en Python :**

```
import phonenumbers

# Parser un numéro français
numero = phonenumbers.parse("+33612345678", None)

# Vérifier s'il est valide
est_valide = phonenumbers.is_valid_number(numero)
# Résultat : True ou False

# Identifier le type
type_numero = phonenumbers.number_type(numero)
# Résultat : MOBILE, FIXED_LINE, ou VOIP

```

**💡 Alternative no-code** : Utilisez des outils comme Derrick qui intègrent libphonenumber automatiquement pour valider les numéros extraits de LinkedIn.

**Méthodes principales :**

| Méthode | Ce qu’elle fait | Cas d’usage |
| --- | --- | --- |
| `parse()` | Convertit un numéro en objet PhoneNumber | Toujours en premier |
| `is_valid_number()` | Valide syntaxe et règles du pays | Validation complète |
| `is_possible_number()` | Vérifie juste la longueur | Validation rapide |
| `number_type()` | Identifie mobile/fixe/VoIP | Segmentation |
| `format_number()` | Formate au format E.164 ou national | Normalisation |

**⚠️ Limite importante de libphonenumber :**

La librairie ne vérifie PAS si le numéro est actuellement attribué à un abonné. Elle valide uniquement que le numéro POURRAIT exister selon les règles du pays.

Un numéro comme `+33 6 00 00 00 00` passera la validation libphonenumber car il respecte la structure française, même si ce numéro précis n’est jamais attribué.

Pour savoir si un numéro est réellement actif, il faut passer à la méthode suivante.

### Méthode 3 : API de validation en temps réel (recommandé pour l’existence)

Les APIs de validation comme Twilio Lookup, Numverify ou Vonage Number Insight interrogent directement les bases de données des opérateurs téléphoniques pour vérifier qu’un numéro est bien attribué et actif.

**Ce que ces APIs peuvent confirmer :**

- Le numéro est-il attribué à un abonné ?
- La ligne est-elle active ou désactivée ?
- Quel est l’opérateur exact (Orange, SFR, Bouygues…) ?
- Le numéro a-t-il été porté vers un autre opérateur ?
- S’agit-il d’un numéro jetable (temporaire) ?

**Exemple avec Twilio Lookup :**

```
from twilio.rest import Client

client = Client("ACCOUNT_SID", "AUTH_TOKEN")

# Vérifier un numéro
phone_number = client.lookups.v2.phone_numbers('+33612345678').fetch()

print(phone_number.valid)  # True ou False
print(phone_number.calling_country_code)  # "33"
print(phone_number.phone_number)  # "+33612345678"

```

**💡 Alternative no-code** : Utilisez Zapier pour connecter Twilio Lookup à Google Sheets et valider vos listes automatiquement.

**Comparatif des principales APIs :**

| API | Prix par requête | Couverture | Données retournées |
| --- | --- | --- | --- |
| **Twilio Lookup** | 0,005 $ | 200+ pays | Type, opérateur, portabilité |
| **Numverify** | 0,0025 $ | 232 pays | Type, opérateur, localisation |
| **Vonage Number Insight** | 0,006 $ | Mondial | Type, opérateur, roaming |
| **IPQS** | 0,004 $ | Mondial | Type, risque de fraude, DNC |

Sophie, Growth Marketer dans une agence B2B, a intégré Numverify pour valider 10 000 numéros avant une campagne SMS. Coût : 25 $. Économie : 800 $ en crédits SMS non gaspillés sur des numéros invalides.

**Verdict : Les APIs de validation sont indispensables pour les campagnes critiques (SMS marketing, 2FA) où chaque envoi coûte de l’argent.**

### Méthode 4 : Validation HLR/LRN (niveau avancé)

Le Home Location Register (HLR) et le Location Routing Number (LRN) sont des protocoles de validation au niveau opérateur qui permettent de vérifier en temps réel si un numéro mobile est allumé et joignable.

**Ce que la validation HLR/LRN révèle :**

- Le téléphone est-il actuellement allumé ?
- Le numéro est-il en itinérance (roaming) ?
- Le numéro a-t-il changé d’opérateur récemment ?
- La ligne accepte-t-elle les SMS ?

Cette méthode est utilisée principalement par les grandes entreprises télécom et les plateformes de SMS en masse. Le coût est plus élevé (0,01 à 0,02 $ par requête) mais la fiabilité est maximale.

**Cas d’usage :** Avant d’envoyer 100 000 SMS pour une campagne Black Friday, une grande enseigne e-commerce valide tous ses numéros en HLR pour éliminer les lignes inactives et économiser 15 000 $ en crédits SMS.

Fort de ces quatre méthodes, vous êtes maintenant équipé pour choisir la validation adaptée à votre contexte. Passons à la mise en pratique concrète.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Comment valider un numéro de téléphone étape par étape

Voici le workflow complet pour valider efficacement vos numéros, que vous ayez 10 ou 10 000 numéros à traiter.

### Étape 1 : Normaliser tous vos numéros au format E.164

Avant toute validation, convertissez tous vos numéros au format E.164. C’est la base de toute validation fiable.

**Dans Google Sheets avec une formule :**

```
=CONCATENATE("+33", REGEXREPLACE(A2, "^0", ""))

```

Cette formule prend un numéro français en A2 (ex: `06 12 34 56 78`), retire le zéro initial et ajoute le code pays +33.

**Avec libphonenumber (Python) :**

```
import phonenumbers

# Liste de numéros bruts
numeros_bruts = ["06 12 34 56 78", "01 23 45 67 89", "07-98-76-54-32"]

# Normaliser chaque numéro
for num in numeros_bruts:
    try:
        parsed = phonenumbers.parse(num, "FR")
        normalise = phonenumbers.format_number(parsed, phonenumbers.PhoneNumberFormat.E164)
        print(normalise)  # +33612345678, +33123456789, etc.
    except:
        print(f"Erreur sur : {num}")

```

**Résultat attendu :** Tous vos numéros sont maintenant au format `+33XXXXXXXXX`, prêts pour la validation.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Étape 2 : Valider la syntaxe avec libphonenumber

Une fois normalisés, validez que les numéros respectent bien les règles du pays.

```
import phonenumbers

def valider_syntaxe(numero_e164, code_pays="FR"):
    try:
        parsed = phonenumbers.parse(numero_e164, code_pays)
        return phonenumbers.is_valid_number(parsed)
    except:
        return False

# Tester
print(valider_syntaxe("+33612345678"))  # True
print(valider_syntaxe("+33123456789"))  # True
print(valider_syntaxe("+33999999999"))  # False (n'existe pas)

```

**Résultat attendu :** Vous éliminez environ 15-20% de numéros mal formatés ou impossibles.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Étape 3 : Identifier le type de numéro (mobile vs fixe)

Selon votre cas d’usage, vous voulez peut-être ne garder que les mobiles (pour du SMS) ou séparer mobiles et fixes.

```
import phonenumbers

def identifier_type(numero_e164):
    parsed = phonenumbers.parse(numero_e164, None)
    type_num = phonenumbers.number_type(parsed)

    if type_num == phonenumbers.PhoneNumberType.MOBILE:
        return "MOBILE"
    elif type_num == phonenumbers.PhoneNumberType.FIXED_LINE:
        return "FIXE"
    elif type_num == phonenumbers.PhoneNumberType.VOIP:
        return "VOIP"
    else:
        return "AUTRE"

# Tester
print(identifier_type("+33612345678"))  # MOBILE
print(identifier_type("+33123456789"))  # FIXE

```

**Résultat attendu :** Vous pouvez maintenant segmenter votre liste selon le type de ligne.

Julien, SDR chez un éditeur SaaS, a séparé ses 5 000 contacts en mobiles et fixes. Il appelle les fixes en journée (bureau) et les mobiles en soirée (après 18h). Taux de décrochage passé de 12% à 28%.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Étape 4 : Vérifier l’existence réelle avec une API (optionnel mais recommandé)

Pour les campagnes critiques, validez que les numéros sont réellement attribués.

**Avec Numverify (API REST) :**

```
import requests

def verifier_existence(numero_e164, api_key):
    url = f"http://apilayer.net/api/validate?access_key={api_key}&number={numero_e164}"
    response = requests.get(url)
    data = response.json()

    return {
        "valide": data["valid"],
        "type": data["line_type"],  # mobile, landline
        "operateur": data["carrier"],
        "pays": data["country_name"]
    }

# Tester (remplacer YOUR_API_KEY)
resultat = verifier_existence("+33612345678", "YOUR_API_KEY")
print(resultat)

```

**💡 Alternative no-code** : Utilisez Zapier ou Make pour automatiser la validation via Numverify ou Twilio directement depuis Google Sheets.

**Résultat attendu :** Vous confirmez que le numéro est bien actif chez un opérateur. Élimination de 5-10% supplémentaires de numéros invalides.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Étape 5 : Stocker les résultats de validation

Créez une structure claire pour stocker les informations de validation dans votre CRM ou Google Sheets.

**Structure recommandée :**

| Numéro original | Numéro E.164 | Valide syntaxe | Type | Opérateur | Valide opérateur | Date validation |
| --- | --- | --- | --- | --- | --- | --- |
| 06 12 34 56 78 | +33612345678 | OUI | MOBILE | Orange | OUI | 2026-01-27 |
| 01 23 45 67 89 | +33123456789 | OUI | FIXE | SFR | OUI | 2026-01-27 |

**Résultat attendu :** Vous avez maintenant une base propre et enrichie, prête pour vos campagnes.

Avec ces cinq étapes, vous disposez d’un workflow industriel pour valider n’importe quel volume de numéros. Voyons maintenant les outils qui peuvent automatiser ce processus.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Les meilleurs outils pour valider des numéros de téléphone

Plutôt que de coder votre propre système de validation, voici les outils qui font le travail pour vous.

### 1. Derrick (Phone Finder + Validation intégrée)

**Idéal pour** : Équipes sales qui prospectent sur LinkedIn et ont besoin de numéros validés automatiquement

Derrick extrait les numéros de téléphone directement depuis les profils LinkedIn et les enrichit dans Google Sheets au format E.164. La validation syntaxique via libphonenumber est intégrée.

**Points forts** :

- Extraction automatique depuis LinkedIn
- Format E.164 garanti
- Détection mobile/fixe automatique
- Intégration native Google Sheets (pas d’export CSV)
- Workflow complet : recherche → extraction → validation → enrichissement

**Points faibles** :

- Ne valide pas l’existence réelle auprès des opérateurs (uniquement syntaxe)
- Limité aux numéros disponibles sur LinkedIn

**Prix** : À partir de 9 €/mois pour 4 000 crédits

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### 2. Twilio Lookup (API de validation opérateur)

**Idéal pour** : Développeurs et équipes tech qui veulent valider l’existence réelle des numéros

Twilio Lookup interroge les bases de données des opérateurs pour confirmer qu’un numéro est bien attribué. C’est la référence du marché pour la validation en temps réel.

**Points forts** :

- Validation opérateur en temps réel
- Données de portabilité (numéro changé d’opérateur)
- Couverture mondiale (200+ pays)
- Documentation excellente pour développeurs
- Intégration facile via API REST

**Points faibles** :

- Coût par requête (0,005 $ / numéro)
- Nécessite des compétences techniques
- Pas d’interface no-code

**Prix** : Pay-as-you-go, 0,005 $ par numéro vérifié

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### 3. Numverify (Validation à grande échelle)

**Idéal pour** : Marketing automation et validation de listes en masse

Numverify offre une API simple pour valider des milliers de numéros rapidement. Le coût est plus bas que Twilio, mais la couverture est similaire.

**Points forts** :

- Prix compétitif (0,0025 $ / numéro)
- API simple et bien documentée
- Support de 232 pays
- Détection du type de ligne (mobile/fixe)
- Plan gratuit pour tester (100 requêtes/mois)

**Points faibles** :

- Moins de données que Twilio sur la portabilité
- Rate limit sur le plan gratuit

**Prix** : Plan gratuit puis à partir de 10 $/mois (5 000 requêtes)

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### 4. Google libphonenumber (Open-source)

**Idéal pour** : Développeurs qui veulent une validation syntaxique gratuite et ultra fiable

Libphonenumber est la référence open-source pour parser et valider les numéros. C’est ce que tout le monde utilise sous le capot, y compris Android.

**Points forts** :

- Gratuit et open-source
- Maintenu par Google
- Couverture de tous les pays
- Documentation excellente
- Disponible en Java, C++, JavaScript, Python

**Points faibles** :

- Ne valide PAS l’existence réelle (uniquement la syntaxe)
- Nécessite des compétences en développement
- Pas d’interface graphique

**Prix** : Gratuit

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### 5. Veriphone (Validation bulk en ligne)

**Idéal pour** : Non-développeurs qui veulent valider une liste CSV rapidement

Veriphone est un outil web simple où vous uploadez votre CSV et récupérez les numéros validés. Parfait pour du one-shot sans coder.

**Points forts** :

- Interface web simple (drag & drop CSV)
- Validation, formatage et nettoyage en un clic
- Détecte les doublons
- Pas de code requis
- Intégrations Zapier et Make

**Points faibles** :

- Validation syntaxique uniquement (pas d’interrogation opérateur)
- Moins flexible qu’une API

**Prix** : Freemium, puis tarifs au volume

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Comparatif récapitulatif

| Outil | Type | Validation syntaxe | Validation opérateur | No-code | Prix |
| --- | --- | --- | --- | --- | --- |
| **Derrick** | Extraction + validation | ✅ | ❌ | ✅ | 9 €/mois |
| **Twilio Lookup** | API validation | ✅ | ✅ | ❌ | 0,005 $/num |
| **Numverify** | API validation | ✅ | ✅ | ❌ | 0,0025 $/num |
| **libphonenumber** | Librairie | ✅ | ❌ | ❌ | Gratuit |
| **Veriphone** | Web bulk | ✅ | ❌ | ✅ | Freemium |

Ces outils couvrent tous les cas d’usage. Maintenant, voyons comment les combiner dans un workflow optimal.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Les erreurs courantes en validation de numéro (et comment les corriger)

Même avec les bons outils, certaines erreurs reviennent régulièrement. Voici comment les éviter.

### Problème 1 : Valider uniquement avec une regex

**Symptôme** : Vous utilisez une regex du type `^(?:(?:\+|00)33|0)[1-9](?:[0-9]{8})$` et vous pensez que c’est suffisant.

**Impact** : Vous laissez passer 15-20% de numéros invalides qui respectent le pattern sans exister réellement.

**Solution** :

1. Utilisez libphonenumber pour la validation syntaxique
2. Ajoutez une validation opérateur via API pour les campagnes critiques
3. Ne vous fiez JAMAIS uniquement à une regex pour valider des numéros

**En pratique :** Remplacez votre regex par `phonenumbers.is_valid_number()` qui gère correctement toutes les règles de numérotation internationales.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Problème 2 : Oublier de normaliser au format E.164

**Symptôme** : Vous stockez vos numéros dans différents formats : `06 12 34 56 78`, `0612345678`, `+33 6 12 34 56 78`, etc.

**Impact** :

- Doublons non détectés (même numéro sous 3 formats différents)
- Erreurs de routage lors de l’envoi d’appels/SMS
- Impossibilité de synchroniser avec les APIs tierces

**Solution** :

1. Convertissez TOUS les numéros au format E.164 dès la collecte
2. Utilisez `phonenumbers.format_number()` avec `PhoneNumberFormat.E164`
3. Stockez uniquement la version E.164 dans votre base

**En pratique :** Dans Google Sheets, créez une colonne “Numéro E.164” et une autre “Numéro affiché” (formaté pour l’humain).

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Problème 3 : Confondre validation syntaxique et validation opérateur

**Symptôme** : Vous utilisez libphonenumber et pensez que `is_valid_number()` confirme que le numéro existe.

**Impact** : Vous envoyez des SMS à des numéros qui passent la validation syntaxique mais qui ne sont jamais attribués. Résultat : 10-15% de taux d’échec inutile.

**Solution** :

1. Comprenez que libphonenumber valide SEULEMENT la syntaxe
2. Pour valider l’existence réelle, utilisez Twilio Lookup, Numverify ou équivalent
3. Combinez les deux : syntaxe en premier (gratuit), puis opérateur pour les numéros critiques

**En pratique :** Validez syntaxiquement 100% de vos numéros avec libphonenumber (gratuit), puis validez auprès des opérateurs les 20% que vous allez vraiment contacter (coût maîtrisé).

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Problème 4 : Ne pas différencier mobile et fixe

**Symptôme** : Vous envoyez des SMS à tous vos contacts sans vérifier s’ils ont un mobile ou un fixe.

**Impact** :

- Crédits SMS gaspillés sur des fixes (SMS non délivrés)
- Mauvaise réputation auprès de votre provider SMS
- Frustration utilisateur (appels fixes quand ils veulent des SMS)

**Solution** :

1. Utilisez `phonenumbers.number_type()` pour identifier mobile/fixe
2. Segmentez votre base : mobiles → SMS, fixes → appels voix
3. Vérifiez le type AVANT d’envoyer une campagne SMS

**En pratique :** Ajoutez une colonne “Type” dans votre CRM avec les valeurs MOBILE/FIXE/VOIP.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Problème 5 : Négliger la portabilité des numéros

**Symptôme** : Vous identifiez le type de numéro uniquement par le préfixe (06/07 = mobile en France).

**Impact** : Depuis la portabilité, un numéro 06 peut très bien être un fixe VoIP, et un 01 peut être porté en mobile. Vos segmentations sont fausses.

**Solution** :

1. Utilisez une API qui interroge vraiment l’opérateur (Twilio, Numverify)
2. Ne vous fiez pas aux préfixes pour déterminer le type
3. Mettez à jour vos données régulièrement (un numéro peut changer de type)

**En pratique :** Pour une campagne SMS à 10 000 contacts, investissez 25 $ dans Numverify pour confirmer que les 10 000 sont bien mobiles AVANT d’envoyer.

Avec ces erreurs corrigées, vos taux de délivrabilité vont mécaniquement augmenter. Passons maintenant aux aspects légaux.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Validation de numéro et RGPD : ce que dit la loi

Valider des numéros de téléphone implique de traiter des données personnelles. Voici ce que vous devez respecter en Europe.

### La base légale pour collecter et valider des numéros

Selon le RGPD, vous devez avoir une base légale pour traiter un numéro de téléphone. Les trois principales :

1. **Consentement** : La personne a explicitement accepté que vous collectiez et utilisiez son numéro
2. **Contrat** : Le numéro est nécessaire à l’exécution d’un contrat (ex: livraison)
3. **Intérêt légitime** : Vous avez un intérêt légitime à contacter la personne (prospection B2B)

**En prospection B2B :** L’intérêt légitime est généralement accepté pour contacter des professionnels sur leur ligne professionnelle. Mais attention : vous devez offrir un opt-out facile et respecter la liste d’opposition Bloctel.

### Validation vs conservation : les durées RGPD

Le RGPD impose des limites sur la durée de conservation des données personnelles.

**Durées recommandées :**

- **Prospect actif** : 3 ans max sans interaction
- **Client** : Durée du contrat + 5 ans (obligations comptables)
- **Après opt-out** : Suppression immédiate ou inscription en liste noire interne

**Pour la validation :** Si vous validez un numéro via une API, stockez uniquement le résultat (valide : oui/non), pas les métadonnées détaillées de l’opérateur, sauf si nécessaire à votre activité.

### Validation et minimisation des données

Le principe de minimisation impose de ne collecter que les données strictement nécessaires.

**Ce qui est OK :**

- Valider qu’un numéro est bien un mobile si vous faites du SMS marketing
- Vérifier qu’un numéro existe avant d’envoyer un code 2FA

**Ce qui est excessif :**

- Collecter l’opérateur exact si ce n’est pas nécessaire à votre service
- Valider des numéros de contacts qui n’ont jamais interagi avec vous

### Les numéros sur liste rouge

En France, Bloctel est la liste d’opposition au démarchage téléphonique. Si vous faites de la prospection B2C par téléphone, vous DEVEZ vérifier que vos numéros ne sont pas sur Bloctel.

**Comment vérifier :**

- API Bloctel officielle (payante)
- Scrubbing automatique avant chaque campagne
- Amende jusqu’à 75 000 € par numéro contacté illégalement

**Exception B2B :** Bloctel ne s’applique pas aux numéros professionnels utilisés dans le cadre d’une activité professionnelle.

Armé de ces connaissances légales, vous pouvez valider vos numéros en toute conformité. Voyons maintenant comment automatiser tout ça.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Comment automatiser la validation de numéros avec Google Sheets et APIs

Vous n’avez pas besoin de coder pour valider vos numéros à grande échelle. Voici comment automatiser le processus avec des outils no-code.

### Workflow 1 : Normalisation automatique dans Google Sheets

**Objectif :** Convertir automatiquement tous vos numéros au format E.164.

**Étape 1 :** Créez une colonne “Numéro brut” avec vos numéros dans n’importe quel format

**Étape 2 :** Créez une colonne “Numéro E.164” avec cette formule (pour la France) :

```
=SI(ESTNUM(RECHERCHE("+";A2));A2;CONCATENER("+33";SUBSTITUE(SUBSTITUE(SUBSTITUE(REGEXREPLACE(A2;"^0";"");" ";"");"-";"");".";"" )))

```

Cette formule :

- Vérifie si le numéro commence déjà par `+` (déjà au format E.164)
- Sinon, retire le zéro initial
- Supprime espaces, tirets et points
- Ajoute le code pays +33

**Résultat :** Colonne E.164 remplie automatiquement pour toute votre liste.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Workflow 2 : Validation via Zapier + Numverify

**Objectif :** Valider automatiquement chaque nouveau numéro ajouté à Google Sheets.

**Configuration Zapier :**

1. **Trigger** : New row in Google Sheets
2. **Action 1** : HTTP Request (Numverify API) - URL : `http://apilayer.net/api/validate?access_key=YOUR_KEY&number={{phone_e164}}`
3. **Action 2** : Update row in Google Sheets - Colonnes à remplir : Valide (oui/non), Type (mobile/fixe), Opérateur

**Résultat :** Validation automatique en temps réel dès qu’un numéro est ajouté.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Workflow 3 : Extraction + validation avec Derrick

**Objectif :** Trouver ET valider des numéros directement depuis LinkedIn.

**Étape 1 :** Installez Derrick depuis le Google Workspace Marketplace

**Étape 2 :** Dans votre Google Sheet, utilisez la fonction “Phone Finder from LinkedIn”

**Étape 3 :** Derrick extrait le numéro ET le valide automatiquement au format E.164

**Résultat :** Vous obtenez directement des numéros prêts à l’emploi, sans manipulation manuelle.

[Article connexe
Comment extraire des numéros de téléphone depuis LinkedIn
Découvrez la méthode complète pour enrichir vos leads avec des numéros validés.](https://derrick-app.com/blog/phone-finder-linkedin?utm_source=website&utm_medium=cta&utm_campaign=secondary_cta&utm_content=related_article)

<hr class="wp-block-separator has-alpha-channel-opacity"/>

### Workflow 4 : Validation en masse avec Make (Integromat)

**Objectif :** Valider 10 000+ numéros d’un coup avec un workflow automatisé.

**Configuration Make :**

1. **Module 1** : Google Sheets – Get rows
2. **Module 2** : Iterator (boucle sur chaque ligne)
3. **Module 3** : HTTP Request vers Twilio Lookup
4. **Module 4** : Google Sheets – Update row avec résultats
5. **Module 5** : Error handler pour gérer les échecs

**Résultat :** Validation de toute votre base en background, avec gestion automatique des erreurs.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## À retenir

- Le format E.164 est le standard universel : toujours stocker vos numéros sous la forme +[code pays][numéro sans zéro initial]
- La validation syntaxique avec libphonenumber ne suffit pas : elle vérifie juste que le numéro pourrait exister
- Les APIs comme Twilio Lookup ou Numverify confirment l’existence réelle auprès des opérateurs
- Différenciez mobile et fixe AVANT d’envoyer des SMS : les crédits SMS sur des fixes sont perdus
- La portabilité change le type des numéros : un 06 peut être un fixe VoIP, validez avec une API
- Automatisez la normalisation E.164 dans Google Sheets avec des formules simples
- Investissez 0,005 $/numéro pour valider avec une API avant les campagnes critiques
- Respectez le RGPD : base légale obligatoire, durée de conservation limitée, opt-out facile

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## Conclusion : par où commencer maintenant

Vous disposez maintenant de toutes les clés pour valider efficacement vos numéros de téléphone. Voici comment démarrer concrètement selon votre situation.

**Si vous avez moins de 1 000 numéros :**

1. Normalisez au format E.164 avec la formule Google Sheets
2. Validez la syntaxe avec libphonenumber (Python ou JavaScript)
3. Identifiez mobile vs fixe pour segmenter vos campagnes

**Temps estimé : 30 minutes**

**Si vous avez 1 000 à 10 000 numéros :**

1. Normalisez au format E.164
2. Validez la syntaxe avec libphonenumber
3. Utilisez Numverify ou Twilio Lookup pour confirmer l’existence des numéros que vous allez vraiment contacter

**Temps estimé : 2 heures + coût API (~25-50 $)**

**Si vous avez plus de 10 000 numéros :**

1. Automatisez la normalisation dans Google Sheets
2. Créez un workflow Zapier ou Make pour valider via API
3. Segmentez par type (mobile/fixe) et par validité
4. Revalidez tous les 6 mois (les numéros changent)

**Temps estimé : 1 journée de setup + validation automatique continue**

**Si vous prospectez sur LinkedIn :**

1. Utilisez Derrick pour extraire ET valider les numéros directement
2. Les numéros sont automatiquement normalisés au format E.164
3. Gagnez du temps en évitant l’extraction manuelle

Automatisez l’extraction et la validation de vos numéros LinkedIn

Derrick trouve les numéros de vos prospects sur LinkedIn et les enrichit dans Google Sheets. Format E.164 garanti, type de ligne détecté automatiquement.

            [Essayer gratuitement →](https://derrick-app.com?utm_source=blog&utm_medium=cta?utm_source=blog&utm_medium=cta&utm_campaign=primary_cta)

</p>

        ![Derrick Demo](https://derrick-app.com/wp-content/uploads/2025/12/3.jpg)

La validation de numéro n’est pas une option : c’est un prérequis pour toute campagne professionnelle. Un numéro invalide, c’est un prospect perdu, un crédit SMS gaspillé, et une réputation d’expéditeur dégradée. Commencez aujourd’hui avec les outils gratuits (libphonenumber, Google Sheets), puis investissez dans une API pour les campagnes critiques.

<hr class="wp-block-separator has-alpha-channel-opacity"/>

## FAQ

**Comment valider gratuitement un numéro de téléphone ?**

Utilisez la librairie open-source libphonenumber de Google pour valider la syntaxe et le format d’un numéro. Elle est gratuite et supporte tous les pays. Attention : elle ne confirme pas si le numéro est réellement attribué à un abonné, uniquement s’il respecte les règles de numérotation du pays.

**Quelle est la différence entre validation syntaxique et validation opérateur ?**

La validation syntaxique vérifie que le numéro respecte le format et les règles du pays (nombre de chiffres, préfixes autorisés). La validation opérateur interroge les bases de données des opérateurs téléphoniques pour confirmer que le numéro est bien attribué et actif. Pour une fiabilité maximale, combinez les deux.

**Comment savoir si un numéro est mobile ou fixe ?**

Avec libphonenumber, utilisez la méthode number_type() qui retourne MOBILE, FIXED_LINE ou VOIP. Attention : depuis la portabilité, les préfixes ne sont plus fiables (un 06 peut être un fixe). Pour une certitude, utilisez une API comme Twilio Lookup qui interroge directement l’opérateur.

**Est-ce légal de valider des numéros de téléphone en Europe ?**

Oui, si vous avez une base légale (consentement, contrat, ou intérêt légitime). En prospection B2B, l’intérêt légitime permet de valider et contacter des professionnels sur leur ligne professionnelle. Respectez les durées de conservation RGPD (3 ans max sans interaction) et offrez toujours un moyen de opt-out.

**Combien coûte la validation de numéro avec une API ?**

Entre 0,0025 et 0,006 dollar par numéro selon l’API choisie. Numverify est le moins cher (0,0025 $/num), Twilio Lookup coûte 0,005 $/num mais offre plus de données. Pour 1 000 numéros, comptez 2,50 à 6 dollars. C’est négligeable comparé au coût des SMS ou appels perdus sur des numéros invalides.

**Faut-il revalider régulièrement ses numéros ?**

Oui, environ tous les 6 mois pour une base active. Les numéros changent : résiliations, portabilité, numéros recyclés. Une base qui n’est jamais revalidée perd 5-10% de validité par an. Priorisez la revalidation des contacts que vous contactez régulièrement.
