Obtenir un e-mail à partir d'un profil LinkedIn via l'API (Guide 2026)
Apprenez comment accéder aux adresses e-mail de contact que les membres de LinkedIn ont choisi de partager (donnée publique), en utilisant l'API d'Unipile agissant pour le compte de votre utilisateur authentifié. Une approche conforme pour les développeurs d'outils CRM, ATS et de vente.
"identifiant_fournisseur": "urn:li:member:123456",
"prénom": "Sarah",
"nom_de_famille": "Monsieur",
"titre": "Responsable des partenariats",
"coordonnées": {
"courriel": "sarah.m@acmecorp.com"
},
/* à afficher uniquement si le membre l'a partagé */
}
Pouvez-vous obtenir un e-mail à partir d'un profil LinkedIn via une API ?
Oui - mais uniquement l'email qu'un membre LinkedIn a choisi de rendre visible dans la section Informations de contact. Lorsque ce membre est une connexion de votre utilisateur authentifié, LinkedIn expose ce champ d'e-mail via sa plateforme. L'API d'Unipile, agissant au nom de l'utilisateur authentifié, récupère exactement ce champ - rien de plus. Ce n'est pas de la devinette ni de la reconnaissance de formes. Si le membre n'a pas partagé son adresse e-mail, le champ est tout simplement absent de la réponse.
Pourquoi les développeurs choisissent-ils l'API LinkedIn pour les informations de contact
Lorsqu'un membre de LinkedIn partage son adresse e-mail avec son réseau, cette information de contact devient un signal d'enrichissement précieux pour les logiciels en aval. Voici les principaux cas d'utilisation pour un enrichissement de profil LinkedIn via l'API d'Unipile.
Lorsque la connexion de premier degré d'un utilisateur a partagé son e-mail sur LinkedIn, votre CRM peut automatiquement remplir ou mettre à jour la fiche contact avec un e-mail vérifié - pas de copier-coller manuel, pas de fournisseur de données tiers requis.
Cas d'utilisation CRMLes recruteurs utilisant votre ATS peuvent accéder à l'adresse e-mail de contact qu'un candidat a choisi de partager, l'ajouter directement au dossier du candidat. Réduit le temps de contact et maintient les données à jour sans saisie manuelle.
Cas d'utilisation ATSLes outils de vente peuvent faire apparaître l'e-mail partagé d'un prospect pour activer la communication multicanal - suivi par e-mail après une interaction sur LinkedIn, le tout dans le workflow de l'utilisateur authentifié. Pas de listes de données froides, pas de bases de données achetées.
Cas d'utilisation de l'outil de venteVous construisez un logiciel? Unipile vous offre une API unifiée pour les données de profil LinkedIn, les messages, les invitations et les e-mails, agissant pour le compte de chacun de vos utilisateurs authentifiés.
Commencer à construireLe modèle d'utilisateur authentifié : conforme par conception
Unipile fonctionne en tant que intermédiaire technique indépendant, agissant au nom de chaque utilisateur authentifié. Votre application ne touche jamais directement aux identifiants LinkedIn - l'intégralité du flux passe par la session hébergée par Unipile, limitée à ce que cet utilisateur peut déjà voir.
pour partager leur e-mail
l'utilisateur authentifié
pour l'enrichissement CRM / ATS
Votre utilisateur termine le Flux d'authentification Unipile - un assistant sécurisé qui gère la session LinkedIn entièrement au sein de l'infrastructure d'Unipile. Votre application reçoit un identifiant de compte, jamais un mot de passe ou un cookie. C'est la bonne façon de gérer l'authentification tierce : les identifiants sont gérés par le flux lui-même, et non stockés sur vos serveurs.
En utilisant l'ID de compte renvoyé à l'étape 1, votre application appelle GET /utilisateurs/profil avec l'identifiant du profil cible comme paramètre de requête. Unipile transmet la requête via la session LinkedIn de l'utilisateur authentifié, exactement comme si cet utilisateur avait ouvert le profil lui-même. Voir le une description complète des données de LinkedIn qui peuvent être extraites par ici.
Si le propriétaire du profil a rendu son e-mail visible pour les connexions, il apparaît dans le contact_info.email, champ. Sinon, le champ est absent – pas de recours, pas de suppositions, pas de données provenant de sources externes. Ce que vous recevez est précisément ce que LinkedIn affiche à cet utilisateur dans sa propre session. C'est le approche conforme, transparente à l'accès aux données de contact LinkedIn.
Step by step : connecter un compte LinkedIn et récupérer les e-mails des contacts
L'installation complète prend moins de 10 minutes. Aucun identifiant n'est stocké de votre côté - tout passe par le flux d'authentification hébergé par Unipile.
Inscription à tableau de bord Unipile.. Vous recevrez un DSN (URL de base) et un Clé API - ce sont les seules informations d'identification que votre application doit stocker. Pas de mots de passe LinkedIn, pas de cookies, pas de jetons.
Appel POST /hébergé/comptes/lier avec fournisseurs : ["LINKEDIN"] générer une URL d'authentification hébergée sécurisée. Envoyez cette URL à votre utilisateur - il effectue la connexion LinkedIn dans l'assistant hébergé d'Unipile. Aucune donnée d'identification n'atteint jamais vos serveurs.
Une fois que l'utilisateur a terminé l'authentification, Unipile renvoie un account_id. Vérifiez le statut du compte via GET /comptes/{id_compte} - le statut devrait indiquer OPÉRATIONNEL. Le compte lié est maintenant prêt à effectuer des recherches de profil au nom de votre utilisateur.
Passe account_id comme en-tête et l'identifiant du profil LinkedIn comme paramètre de requête. Unipile renvoie l'objet de profil complet - incluant contact_info.email, si et seulement si le propriétaire du profil a choisi de le partager avec ses connexions.
Récupérer un profil LinkedIn, Email inclus
curl --demande GET \N- GET \N- GET \N- GET \N --url https://api1.unipile.com:13111/api/v1/users/{user_id} \ --en-tête 'X-API-KEY : {votre_clé_api}'
Une seule recherche de profil renvoie tout ce que le membre a choisi de rendre visible, avec le e-mail au premier plan. Lorsque la personne a partagé son adresse dans ses informations de contact, elle revient dans la même réponse, aux côtés du titre du poste, de l'entreprise, du lieu, et plus encore, récupérés pour le compte de l'utilisateur authentifié.
Récupérer un e-mail de profil LinkedIn via une API : Node.js, Python, cURL
Les trois exemples suivent le même schéma conforme : authentification hébergée pour lier le compte de l'utilisateur, puis une recherche de profil qui renvoie contact_info.email, lorsque le membre a choisi de la partager. Voir le Guide de l'API LinkedIn avec Python pour une couverture plus approfondie du SDK Python.
import { UnipileClient } from 'unipile-node-sdk';
// Étape 1 : initialiser le client avec votre DSN et votre clé API
const client = new UnipileClient(
process.env.UNIPILE_DSN,
process.env.UNIPILE_API_KEY
);
// Étape 2 : générer un lien d'authentification hébergé pour que l'utilisateur puisse se connecter
leur compte LinkedIn - aucun identifiant de votre côté
const lien hébergé = await client.account.créerLienAuthHébergé({
type: 'créer',
fournisseurs_filtres: ['LIEN'],
url_de_redirection_succès: 'https://yourapp.com/callback',
});
// Envoyez hostedLink.url à votre utilisateur - il y terminera l'authentification
// Étape 3 : une fois que l'utilisateur a terminé l'authentification, récupérez son profil
agissant au nom de l'utilisateur authentifié
const accountId = 'acc_reçu_du_webhook';
const profil = await client.utilisateurs.getProfile({
account_id: accountId,
identificateur: 'urn:li:member:TARGET_PROFILE_ID',
});
// Étape 4 : lire contact_info.email - seulement présent si le membre
// a choisi de le partager (aucune supposition, aucun repli)
const l'email = profil?.informations_de_contact?.l'email ?? nul;
console.log('Courriel partagé :', l'email);import système d'exploitation, demandes
DSN = système d'exploitation.environ["UNIPILE_DSN"]
CLÉ_API = système d'exploitation.environ["UNIPILE_API_KEY"]
EN-TÊTES = {"X-API-KEY": CLÉ_API}
# Étape 1 - Générer un lien d'authentification hébergé (aucune information d'identification n'est enregistrée)
flemme = demandes.poste(
f"{DSN}/hébergé/comptes/lien",
en-têtes=EN-TÊTES,
json={
"type": "créer",
"fournisseurs_filtres": ["LINKEDIN"],
"url_de_redirection_en_cas_de_succès": "https://yourapp.com/callback",
}
)
print("Envoyez cette URL à votre utilisateur :", flemme.json()["url"])
# Étape 2 - Une fois l'authentification de l'utilisateur terminée, récupérer son profil
# au nom de l'utilisateur authentifié
ID_COMPTE = "acc_reçue_du_webhook"
IDENTIFIANT_PROFIL = "urn:li:member:TARGET_PROFILE_ID"
profil_resp = demandes.obtenir(
{DSN}/utilisateurs/profil",
en-têtes={**EN-TÊTES, "identifiant-compte": ID_COMPTE},
paramètres={"identifier": IDENTIFIANT_PROFIL}
)
données = profil_resp.json()
# Étape 3 - lire contact_info.email - absent s'il n'est pas partagé
l'email = données.obtenir("coordonnées", {}).obtenir("courriel")
print("Email partagé :", l'email ou "non partagé par ce membre")# Étape 1 - Générer un lien d'authentification hébergé
curl -s -X POST " ${UNIPILE_DSN}/hosted/accounts/link " \
-H " X-API-KEY : ${UNIPILE_API_KEY} " \
-H "Content-Type: application/json" \
-d '{
"type": "créer",
"providers_filtres": ["LINKEDIN"],
"url_redirection_succes": "https://yourapp.com/callback"
}'
# renvoie { "url": "https://auth.unipile.com/..." }
# Envoyez cette URL à votre utilisateur : il pourra y effectuer l'authentification LinkedIn
# Étape 2 - récupérer le profil au nom de l'utilisateur authentifié
# (remplacer ACCOUNT_ID et PROFILE_ID par des valeurs réelles)
curl -s -X POST \
""${UNIPILE_DSN}/users/profile?identifier=urn:li:member:TARGET_ID"" \
-H " X-API-KEY : ${UNIPILE_API_KEY} " \
-H "identifiant-compte : ACCOUNT_ID"
# Exemple de réponse (adresse e-mail indiquée uniquement si le membre l'a communiquée) :
# {
# " first_name " : " Sarah ",
# " nom " : " M. ",
# " contact_info " : {
# " email " : " sarah.m@acmecorp.com "
# }
# }contact_info.email, le champ sur le point de terminaison de profil est la manière correcte et officielle d'accéder à un e-mail qu'un membre a choisi de partager.Ce à quoi vous pouvez et ne pouvez pas accéder via l'API du profil LinkedIn
Comprendre l'étendue réelle du projet avant de construire. Voir aussi la liste complète de ce que les données LinkedIn peuvent extraire et les directives de conformité de l'API LinkedIn.
contact_info.email,
GET /utilisateurs/relations, enrichissable avec des données de profil par utilisateur
firstname.lastname@company.com Devinant
Travailler dans les limites de l'API de LinkedIn
LinkedIn applique ses propres limites quotidiennes pour les actions telles que les invitations, les messages et les vues de profil. Unipile relais ces limites natives de manière claire sans les transgraisser. Les limites restent une décision côté client, avec des seuils sécurisés, plus rapides et risqués mis en évidence par compte connecté, avec un warmup pour les nouveaux comptes.
Rapport des limites
en attente
en attente
en attente
en attente
API Unipile vs export manuel vs brokers de données tiers
Il existe plusieurs façons pour les développeurs de tenter d'obtenir des adresses e-mail à partir de profils LinkedIn. Ce tableau les compare honnêtement afin que vous puissiez choisir l'approche qui correspond à votre position en matière de conformité.
| Critères | API Unipile (pour le compte de)Recommandé | Export manuel LinkedIn | Brokers de données tiers |
|---|---|---|---|
| Conformité aux conditions d'utilisation de LinkedIn | Oui - session authentifiée par utilisateur | Manuel uniquement, non évolutif | Enfreint généralement les conditions d'utilisation |
| Automatable à grande échelle | Oui - piloté par API, sur une base par utilisateur | Non - processus manuel | Oui, mais fragile et risqué |
| Source de données de messagerie | Champ d'informations de contact du membreSeulement ce qu'ils ont choisi de partager | Exportation CSV LinkedInLimité à vos propres connexions | Base de données devinée / tierceSouvent rassis, non vérifié |
| Identifiants stockés sur votre serveur | Non - flux d'authentification hébergé | Utilisateur gère manuellement | Souvent oui - haut risque |
| Fraîcheur en temps réel | En direct de la session LinkedIn | Export à un instant donné | Base de données souvent obsolète |
| Conformité RGPD / protection des données | Membre a choisi de partager - base légale | Selon l'usage | Généralement, pas de base de consentement |
| Intégration CRM / ATS | Natif API, prêt pour les webhooks | Importation CSV manuelle | Varie selon le fournisseur |
Développez l'enrichissement de données LinkedIn
en intégrant aujourd'hui
Unipile vous offre une API unifiée pour accéder aux coordonnées que les membres de LinkedIn ont choisi de partager, agissant pour le compte de chacun de vos utilisateurs authentifiés. Pas de données d'identification stockées de votre côté, pas de base de données séparée à maintenir.
LinkedIn Email depuis l'API de profil - FAQ
Réponses aux questions les plus courantes sur la récupération des e-mails de contacts LinkedIn via l'API Unipile - portée, conformité et mise en œuvre technique.
Seulement ce que le l'utilisateur authentifié peut déjà voir dans leur propre session LinkedIn. Si un membre a partagé son adresse e-mail avec ses connexions, elle apparaît dans contact_info.email,. Sinon, le champ est absent. Il y a pas de base de données indépendante, sans devinette et sans données provenant de sources externes. Telle est la portée honnête - et c'est pourquoi l'approche est conforme.
Accéder à un e-mail d'un membre de LinkedIn choisi explicitement de partager avec leurs connexions, via une session authentifiée agissant au nom de cet utilisateur, est cohérente avec la manière dont LinkedIn expose ces données. Le membre a fait un choix délibéré de les partager. Cela dit, la légalité dépend également de votre usage prévu : le RGPD, le CCPA et les réglementations similaires exigent une base juridique pour le traitement des données personnelles. Assurez-vous que votre cas d'utilisation est clairement ciblé et que vos utilisateurs sont informés.
Non. LinkedIn n'expose pas les informations de contact pour les profils en dehors du réseau direct de l'utilisateur authentifié. contact_info.email, champ est disponible uniquement pour Connexions de 1er degré qui ont choisi de la partager. Les profils de deuxième et troisième degré n'exposent pas ces données. Il s'agit d'une restriction au niveau de la plateforme, et non d'une limitation de Unipile.
Unipile relaie de manière transparente les limites de débit natives et les règles de visibilité de LinkedIn. La fréquence, le volume et le but des consultations de profil sont une décision côté client. Votre application et vos utilisateurs sont responsables de garantir que l'utilisation est conforme aux conditions d'utilisation de LinkedIn et aux réglementations applicables en matière de protection des données. Unipile est l'intermédiaire technique - l'utilisation responsable est définie par le client.
Non. Unipile n'est non affilié, approuvé ou sponsorisé par LinkedIn. Unipile est un indépendant qui agit pour le compte d'utilisateurs authentifiés afin de faire remonter des données auxquelles ils ont déjà accès au sein de leur propre session LinkedIn. LinkedIn est une marque commerciale de LinkedIn Corporation.
Sales Navigator est un produit de LinkedIn destiné aux utilisateurs individuels qui travaillent au sein de la propre interface de LinkedIn. Unipile est une API pour les développeurs de logiciels intégrant l'accès aux données LinkedIn dans leur propre produit – CRM, ATS, outils de vente. Les deux s'adressent à des publics différents. Unipile rend disponibles par programme les mêmes informations de contact qu'un utilisateur peut voir lors de sa session ; il n'accorde pas l'accès à des données au-delà de ce que LinkedIn expose déjà à cet utilisateur.
Non. Unipile maintient pas d'archive indépendante, d'index ou de base de données d'e-mails de contacts LinkedIn. Chaque e-mail retourné par l'API est récupéré en temps réel depuis LinkedIn via la session de l'utilisateur authentifié au moment de la requête. Aucune base de données d'e-mails n'est construite ou vendue par Unipile.
Lorsqu'un membre n'a pas partagé son adresse e-mail, contact_info.email, est tout simplement absent de la réponse. Utiliser chaînage optionnel en JavaScriptprofil?.informations_de_contact?.courriel ?? null) ou .obtenir() en Python (data.get("contact_info", {}).get("email")et traiter nul comme "non partagé par ce membre". N’essayez pas de solutions de repli comme l’analyse de fils de messages par expressions régulières – ce modèle n’est pas conforme et produit des résultats peu fiables.
Unipile propose un essai gratuit pour commencer - aucune carte de crédit requise. Les forfaits payants évoluent en fonction du nombre de comptes liés et du volume d'utilisation de l'API. Pour un aperçu plus large des options de tarification de l'API LinkedIn, consultez le guide sur si l'API LinkedIn est gratuite. Pour commencer à construire dès aujourd'hui, visitez tableau de bord Unipile..
Vous avez encore des questions sur l'API d'e-mails de LinkedIn ? Notre équipe est là pour vous aider.