[ Retrouver les coordonnées ]

Trouver le numéro de téléphone d'une entreprise

Aucun registre officiel ne contient le numéro de téléphone d'une entreprise. Un numéro se trouve là où l'entreprise a choisi de le publier, c'est-à-dire sur sa vitrine. C'est ce qui explique qu'il soit immédiat pour un garage et introuvable pour une holding.

Où les numéros existent réellement

Le répertoire Sirene et le registre national des entreprises ne contiennent pas de numéro de téléphone. Ce n'est pas un oubli : ce sont des répertoires d'identification et de description, pas des annuaires de contact. Toute base de données qui affiche un téléphone l'a donc collecté ailleurs, et c'est cet ailleurs qui détermine sa qualité.

  • La fiche d'établissement Google. C'est la source la plus large pour les entreprises visibles localement. Le numéro y est renseigné par le professionnel lui-même et corrigé quand il change, parce qu'il conditionne directement les appels entrants.
  • Le site web de l'entreprise, page contact et pied de page. Fiable quand il est à jour, ce qui n'est pas garanti sur un site qui n'a pas bougé depuis trois ans.
  • Les mentions légales, obligatoires sur un site professionnel. Attention : le numéro qui y figure est parfois celui de l'agence qui a fait le site, ou de l'hébergeur.
  • Les annuaires professionnels, fédérations de métier, chambres consulaires et annuaires sectoriels, souvent excellents sur un secteur précis et inexistants ailleurs.
  • Les documents publiés par l'entreprise : plaquettes, catalogues, offres d'emploi, dossiers de presse. Sources dispersées, mais parfois les seules pour les structures sans fiche locale.

Aucune de ces sources n'est exhaustive, et surtout aucune n'est datée de façon fiable. Un numéro collecté peut être un ancien standard, une ligne fermée ou un renvoi. Il n'existe pas, pour le téléphone, d'équivalent de l'enregistrement MX qui permettrait de tester la validité sans appeler.

Fixe et mobile ne sont pas la même donnée

FixeMobile
Préfixe01 à 05, ou 0906 ou 07
Provenance habituelleFiche d'établissement, site, mentions légalesRarement publié, obtenu par enrichissement
CouvertureCorrecte sur les entreprises visiblesFaible sur l'ensemble du parc
Coût chez les fournisseursInclus ou peu cherFacturé à part, plusieurs fois plus cher
StatutLigne de l'entrepriseSouvent une ligne personnelle utilisée pour le travail

Le mobile est rare pour une raison simple : la plupart des entreprises n'en publient pas. Quand un numéro mobile circule dans un fichier B2B, il s'agit très souvent de la ligne personnelle d'un dirigeant, d'un indépendant ou d'un commercial, utilisée à titre professionnel. La frontière entre le professionnel et le personnel n'existe alors plus vraiment, ce qui a des conséquences juridiques et pas seulement pratiques.

Il est cher parce qu'il ne se collecte pas en masse : il s'obtient ligne par ligne, contre paiement, avec un taux de réussite partiel et variable selon le secteur. Un fournisseur qui promet un mobile sur l'intégralité de ses lignes promet quelque chose qui n'existe pas ; ce qu'il vend en réalité, c'est une tentative d'enrichissement, réussie une fois sur deux ou une fois sur trois.

Le numéro appartient à l'établissement, pas à l'entreprise

C'est le point de méthode le plus mal traité par les bases de données, et il n'est pas théorique. Un numéro de téléphone correspond à un lieu où quelqu'un décroche. Une société qui exploite trente agences a trente numéros, un par établissement, chacun rattaché à un SIRET distinct. Voir la distinction entre SIREN et SIRET.

La conséquence est double. Demander « un numéro par entreprise » oblige le fournisseur à choisir arbitrairement un établissement, en général le siège, qui peut très bien être une adresse de domiciliation où personne ne décroche jamais. Et travailler au niveau de l'établissement rend plusieurs lignes pour la même société : il faut alors dédupliquer sur le SIREN avant de compter, sous peine de croire son marché deux fois plus grand qu'il n'est.

Le bon niveau dépend de ce que vous vendez. Si vous vendez à des points de vente, à des ateliers ou à des cabinets, c'est le SIRET qu'il vous faut, et le numéro de la fiche d'établissement est exactement la bonne donnée. Si vous vendez un contrat cadre à un groupe, le standard du siège ne vous servira presque à rien et le travail se fera par le nom des personnes.

Appeler un professionnel : ce que dit la règle

Bloctel est la liste d'opposition au démarchage téléphonique. Elle est destinée aux consommateurs. Un professionnel appelé sur sa ligne professionnelle, pour une offre en rapport avec son activité, n'entre pas dans ce dispositif. La prospection téléphonique B2B reste donc possible, et l'encadrement du démarchage des particuliers s'est durci sans changer ce principe.

Le RGPD s'applique par ailleurs pleinement. Un numéro professionnel reste une donnée personnelle dès qu'il permet d'identifier une personne, ce qui est le cas d'un mobile et d'une ligne directe. Vous devez pouvoir dire d'où vient la donnée, informer la personne, traiter une demande d'opposition sans délai et ne pas conserver le fichier indéfiniment. La prospection B2B s'appuie généralement sur l'intérêt légitime, ce qui dispense du consentement préalable mais d'aucune des autres obligations.

Il n'existe pas de créneau horaire légal pour appeler un professionnel comme il en existe pour les particuliers. Cela ne rend pas judicieux d'appeler un restaurant à midi ou un comptable en mai. Et rappeler dix fois le même numéro n'améliore pas le taux de décroché : cela remplit les listes de blocage.

La couverture réelle, secteur par secteur

Voici la vérité désagréable, celle qu'un vendeur de données n'a pas envie d'écrire : le téléphone n'est disponible que pour une minorité du parc français. Les entreprises pour lesquelles on trouve un numéro sont, presque exclusivement, celles qui ont un intérêt commercial à être appelées.

Type d'entrepriseNuméro trouvablePourquoi
Commerce, restaurant, garageSouventFiche d'établissement renseignée, l'appel est un canal de vente
Artisan du bâtimentSouventMême raison, avec un mobile dans une bonne part des cas
Cabinet médical, paramédicalSouventPrise de rendez-vous téléphonique
PME industrielle ou de servicesVariableStandard sur le site, pas toujours de fiche locale
Agence, cabinet de conseilVariableFormulaire de contact souvent préféré au téléphone
Holding, SCI, société patrimonialeRarementAucune activité recevant du public, souvent domiciliée

Un fournisseur qui annonce un taux de couverture téléphonique élevé sur toute la France annonce en réalité un taux élevé sur le sous-ensemble des entreprises visibles localement, qui pèse lourd en nombre de lignes. Si votre cible est précisément le sous-ensemble le moins couvert, ce chiffre global n'a aucune valeur prédictive pour vous.

La seule mesure qui compte est donc celle que vous faites sur votre segment : construisez le filtre qui correspond à votre marché, comptez les lignes, comptez celles qui portent un numéro, et regardez le rapport. C'est aussi de cette façon qu'on choisit entre les canaux plutôt que de subir celui qui reste. Voir segmenter son marché et comparer les bases B2B.

Sortir les numéros déjà connus d'un segment, standard et numéros publiés sur le site

C'est l'opération à faire quand vous voulez appeler cette semaine, avec ce que la base contient déjà : le numéro de la fiche d'établissement Google et ceux relevés sur le site de l'entreprise. La bascule « Téléphone » ne fabrique aucun numéro, elle écarte les fiches qui n'en portent pas. Comptez avant et après l'avoir activée : le rapport des deux chiffres est le taux de couverture de votre segment, celui dont parle la section précédente, et le seul qui vous concerne.

Dans la plateforme, pas à pas

  1. Ouvrez la recherche et placez-vous sur l'onglet « Entreprises ».
  2. Dans « Activité », tapez votre métier et prenez une suggestion de la liste. Le champ attend un concept unifié qui rassemble le code NAF, la catégorie Google et le secteur LinkedIn : du texte libre laissé tel quel ne filtre rien.
  3. Dans « Localisation », posez votre périmètre par « Région » ou par « Ville ». Ces deux champs portent sur les trois sources, fiches Google comprises. « Département » est le seul à ne rien ramener côté Google : mesuré sur la plomberie, le département 69 rend 3 029 sociétés et zéro fiche d'établissement, quand la ville de Lyon en rend 637 dont 190 fiches Google. Comme les numéros viennent surtout des fiches Google, préférez la région ou la ville.
  4. Dans le bloc « Légal », activez « Entreprises actives uniquement » (le champ affiche « Exclure les entreprises cessées »).
  5. En haut du panneau, dans le bloc « Avec : », activez « Téléphone ». L'infobulle du champ le dit : il s'agit du standard de l'entreprise, le numéro de sa fiche Google Maps ou celui affiché sur son site, pas du mobile d'une personne.
  6. Relevez le compteur de résultats. Désactivez la bascule, relevez-le à nouveau, puis remettez-la. Vous avez vos deux chiffres.
  7. Cliquez « Exporter », choisissez le format « Par entreprise » (1 ligne par entreprise, dédupliqué), puis lancez l'export.
  8. Dans le CSV, les numéros sont dans « gmb_phone » (fiche Google) et « crawled_phones » (relevés sur le site). Le drapeau « has_crawled_phone » dit lesquelles en ont un.

La bascule « Téléphone » est un filtre ET appliqué source par source, pas un sélecteur de source. Côté Google, le numéro est dans l'index et la source répond directement. Côté registre légal et côté LinkedIn, la bascule s'appuie sur un drapeau dénormalisé au moment de la synchronisation, qui n'est posé que sur 815 225 fiches entreprises : une fiche dont le drapeau n'a pas été écrit ne sort pas, même si un numéro existe ailleurs. Mesure faite sur la plomberie, le chauffage et la climatisation en Auvergne-Rhône-Alpes : 18 204 sociétés actives, 6 775 une fois la bascule activée, soit 37 %. Le détail par source, bascule activée : 5 040 fiches Google, 1 715 fiches du registre légal, et zéro fiche LinkedIn, alors que cette source rendait 289 sociétés sans la bascule. Autrement dit, l'essentiel de ce que vous sortirez sera des fiches d'établissement Google. Et c'est un secteur parmi les mieux couverts.

Par l'API : POST /companies/find

{
  "filters": {
    "activity": { "include": ["concept:plomberie_chauffage_clim"] },
    "region": { "include": ["Auvergne-Rhône-Alpes"] },
    "company_ceased": false,
    "with_phone": true
  },
  "limit": 100
}

`total` (sociétés dédupliquées), `establishmentsTotal` (points de vente Google derrière), `leads[]`, et `pagination.nextToken` à renvoyer dans le champ `paginationToken` du corps suivant pour obtenir la page d'après. Le numéro se lit dans `leads[].data`, pas à la racine du résultat : `data.phone` est rempli par recopie depuis la fiche Google rattachée quand la fiche interrogée n'en porte pas, et la valeur d'origine reste lisible dans `data.phone_number` ou `data.x_gmb.phone_number`. Pour le fichier complet, les mêmes filtres sur `POST /companies/export` rendent un CSV de 57 colonnes où figurent `gmb_phone`, `crawled_phones` et `has_crawled_phone`.

Comptez d'abord. Le même corps où vous remplacez `"limit": 100` par `"countOnly": true` rend le total exact sans débiter un crédit, alors que `/find` facture une fiche par résultat rendu. Lancez-le deux fois, avec et sans `with_phone` : c'est la mesure de couverture, gratuite. Sachez aussi que par clé d'API le `total` d'un `/find` ordinaire est plafonné à 100 000 (`meta.countCapNotice` vous en avertit) ; seul le mode `countOnly` rend le compte exact. Les identifiants d'activité s'obtiennent sur `GET /companies/activity-suggest?q=plomberie`. Enfin, une clé d'API doit poser au moins un filtre effectif, sinon la requête est refusée en 400 avec « At least one filter is required ».

Le détail des champs, des filtres et des codes de réponse est dans la documentation de l'API.

Avec Claude, en langage courant

Chez Basile, combien d'entreprises de plomberie et chauffage actives en Auvergne-Rhône-Alpes portent un numéro de téléphone, et combien y en a-t-il en tout ? Si le taux tient la route, sors-moi le fichier.

Claude enchaîne basile_activity_suggest, basile_count puis basile_export.

basile_count est gratuit et rend le total exact : c'est lui qui donne les deux chiffres du taux, sans consommer de crédit. basile_search_companies, lui, facture une fiche par résultat, donc ne l'utilisez que pour regarder quelques exemples à l'écran. Au-delà de 500 lignes, basile_export refuse de rendre le CSV dans la conversation et vous renvoie vers l'export de la plateforme, qui produit un fichier.

Obtenir un numéro mobile nominatif pour un contact précis

Le standard ne vous met pas en relation avec la personne que vous visez, et c'est tout l'objet du tableau fixe contre mobile plus haut. Le mobile nominatif n'est pas dans la base : il se cherche à l'unité, à la demande, chez un fournisseur, et se paie sur votre solde d'enrichissement. C'est une opération de plateforme et d'extension, et le résultat n'est jamais garanti.

Dans la plateforme, pas à pas

  1. Ouvrez la recherche, onglet « Personnes », et construisez votre ciblage jusqu'aux contacts qui vous intéressent.
  2. La recherche de numéro s'appuie sur le profil LinkedIn du contact. Sans identifiant LinkedIn sur la fiche, elle est ignorée : activez « Profil LinkedIn » dans le bloc « Avec : » si vous voulez ne garder que des fiches éligibles.
  3. Sur une fiche, cliquez « Trouver le téléphone ». Pour plusieurs, sélectionnez les contacts et lancez la recherche depuis l'action groupée.
  4. Une estimation s'affiche avant de lancer : les contacts à rechercher, ceux déjà trouvés (resservis gratuitement), ceux ignorés faute d'identifiant LinkedIn, et le montant réservé sur votre solde.
  5. Confirmez. Le montant est réservé au lancement, seuls les numéros réellement trouvés sont débités, et le reste revient sur votre solde à la fin.
  6. La recherche tourne en arrière-plan, vous pouvez quitter la page. Le numéro trouvé s'écrit sur la fiche et repart dans l'export, où le choix « Uniquement avec téléphone » permet de ne sortir que les contacts joignables.

Dans l'extension LinkedIn, la même opération tient en un bouton « Trouver le numéro » sur le profil ouvert. Au tarif par défaut, un numéro trouvé coûte cinquante centimes, contre cinq centimes pour une adresse email, et une recherche qui ne rend rien ne coûte rien. Un « Téléphone introuvable » n'est donc pas une panne, c'est le résultat : le fournisseur n'a pas de numéro pour ce profil. Et rappelez-vous ce que dit la section sur le démarchage : le numéro qui remonte est le plus souvent un 06 ou un 07, donc une ligne qui peut être inscrite sur Bloctel en tant que ligne de particulier.

Par l'API : POST https://api.emelia.io/tools/find/phone

// en-tête : Authorization: <votre clé Emelia>
{
  "linkedinUrl": "https://www.linkedin.com/in/mariedurand"
}

L'URL du profil LinkedIn est la seule entrée acceptée : contrairement à l'email, le numéro ne se déduit ni d'un nom ni d'un domaine. La réponse rend un identifiant de tâche, à interroger sur GET /tools/find/phone/{jobId}.

Attention, ce n'est pas l'API de Basile. Aucune clé Basile n'ouvre l'enrichissement : elle donne accès à /people, /companies, /lists et /exports, c'est-à-dire à la donnée déjà présente. Pour aller chercher ce qui n'y est pas, il faut une clé Emelia, et c'est elle qui est facturée. Dans Basile, la même opération passe par le portefeuille : 5 centimes l'adresse trouvée, 50 centimes le numéro.

Le détail des champs, des filtres et des codes de réponse est dans la documentation de l'API.

Avec Claude, en langage courant

Le serveur MCP se facture comme une clé d'API, et se heurte donc exactement au même mur. Ses sept outils sont tous du côté recherche, comptage et export : basile_search_companies, basile_search_people, basile_count, basile_export, basile_get_entity, basile_suggest et basile_activity_suggest. Aucun ne lance d'enrichissement. Claude peut préparer la liste des contacts à enrichir, en écartant ceux qui n'ont pas de profil LinkedIn puisqu'ils seront ignorés ; la recherche du numéro se fait ensuite à la main, dans la plateforme ou dans l'extension.

Exporter une ligne par point de vente pour avoir le numéro de chaque établissement

C'est la traduction concrète de la section sur l'établissement : une enseigne de quarante boutiques n'a pas un numéro, elle en a quarante, un par endroit où quelqu'un décroche. L'export par défaut rend une ligne par entreprise, donc un seul numéro, en général celui du siège. Le mode « Par point de vente » déplie la même recherche établissement par établissement et rend le numéro de chacun.

Dans la plateforme, pas à pas

  1. Faites votre recherche entreprises normalement : activité, puis région ou ville.
  2. Ne touchez pas à la bascule « Téléphone » pour ce mode. Elle filtre la CARTE société, pas l'établissement, et vous fait perdre des points de vente joignables. Mesuré sur « Norauto » : sans elle, 48 sociétés actives et 461 fiches d'établissement derrière ; avec elle, 9 sociétés seulement, et encore 440 fiches. Le tri sur le numéro se fait dans le fichier, colonne gmb_phone.
  3. Cliquez « Exporter ». La fenêtre demande le format.
  4. Choisissez « Par point de vente » (1 ligne par établissement Google) au lieu de « Par entreprise » (1 ligne par entreprise, dédupliqué).
  5. La fenêtre affiche le nombre de lignes que chaque format produira. L'écart entre les deux vous dit si votre cible est un réseau de points de vente ou une liste de sociétés : sans écart, le mode ne vous apporte rien.
  6. Lancez l'export. Dans le CSV, le bloc établissement passe devant : le fichier commence par company_name_raw et company_domain_raw, puis viennent gmb_name, gmb_category, gmb_address, gmb_phone, gmb_website, gmb_rating, gmb_reviews, gmb_lat, gmb_lon et les deux colonnes d'horaires, et les colonnes de la société suivent.

La réserve à connaître avant de s'appuyer dessus : le dépliage se fait sur les fiches d'établissement Google, pas sur les SIRET du registre. Vous obtenez les points de vente que Google connaît, ce qui colle bien aux commerces, aux ateliers et aux cabinets, et pas du tout aux établissements sans activité recevant du public. Une entreprise sans aucune fiche Google sort quand même, sur une ligne unique. Et un point de vente peut figurer dans le fichier sans numéro : la colonne gmb_phone est alors vide, c'est à vous de trier.

Par l'API : POST /companies/export

{
  "filters": {
    "name": { "include": ["Norauto"] },
    "company_ceased": false
  },
  "mode": "locations"
}

Un CSV en flux. En mode « locations », le fichier commence par company_name_raw et company_domain_raw, puis vient le bloc établissement (gmb_name, gmb_category, gmb_address, gmb_phone, gmb_website, gmb_rating, gmb_reviews, gmb_lat, gmb_lon, gmb_hours_monday, gmb_hours_sunday), et les colonnes de la société suivent : legal_siren, legal_denomination, legal_naf, legal_tranche_effectif, legal_capital, crawled_phones, crawled_emails, tech_stack, les drapeaux has_gmb_match et has_crawled_phone, et fill_score. Sans `mode`, ou avec `"mode": "companies"`, vous obtenez une ligne par entreprise et les 57 mêmes colonnes dans l'ordre habituel.

Dimensionnez avant de lancer : `POST /companies/find` avec le même bloc `filters` et `"countOnly": true` rend `total` (sociétés dédupliquées) et `establishmentsTotal` (fiches d'établissement Google). Le nombre de lignes du fichier n'est ni l'un ni l'autre : il vaut `total` plus l'excédent de fiches Google au-delà d'une par société, puisqu'une société sans fiche Google produit quand même une ligne. La fenêtre d'export de la plateforme affiche ce compte exact ; par API, prenez `establishmentsTotal` comme ordre de grandeur. L'export consomme le quota d'export de votre plan. Sur un gros volume, préférez la voie asynchrone : `POST /exports` avec `{ "source": "companies", "mode": "locations", "filters": { ... } }`, puis `GET /exports/:jobId` et `GET /exports/:jobId/download`.

Le détail des champs, des filtres et des codes de réponse est dans la documentation de l'API.

Avec Claude, en langage courant

Sors-moi un fichier avec une ligne par magasin Norauto et le numéro de téléphone de chaque point de vente. Dis-moi d'abord combien il y en a.

Claude enchaîne basile_count puis basile_export.

basile_count rend `total` et `establishmentsTotal` dans la même réponse, gratuitement : c'est ce qui dit s'il vaut la peine de déplier. basile_export prend `mode: "locations"` pour le faire, et refuse au-delà de 500 lignes parce qu'il renvoie le CSV dans la conversation. Au-delà, segmentez, ou lancez l'export depuis la plateforme, qui produit un fichier téléchargeable.

À lire ensuite