curl --request POST \
--url https://api.enrow.io/email/find/single \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"settings": {
"retrieve_gender": true
}
}'
const response = await fetch('https://api.enrow.io/email/find/single', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
fullname: 'Dwight Schrute',
company_domain: 'dundermifflin.com',
settings: {
retrieve_gender: true
}
})
});
const data = await response.json();
console.log(data.id);
import requests
import os
url = "https://api.enrow.io/email/find/single"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"settings": {
"retrieve_gender": True
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Single search operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 1
}
{
"message": "..."
}
Email Finder
Trouver un email
Trouver une adresse email professionnelle à partir d’un nom complet et du domaine ou du nom d’une entreprise, ou à partir d’une URL de profil LinkedIn
POST
/
email
/
find
/
single
curl --request POST \
--url https://api.enrow.io/email/find/single \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"settings": {
"retrieve_gender": true
}
}'
const response = await fetch('https://api.enrow.io/email/find/single', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
fullname: 'Dwight Schrute',
company_domain: 'dundermifflin.com',
settings: {
retrieve_gender: true
}
})
});
const data = await response.json();
console.log(data.id);
import requests
import os
url = "https://api.enrow.io/email/find/single"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"settings": {
"retrieve_gender": True
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Single search operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 1
}
{
"message": "..."
}
POST
Lancez une recherche d’email unique pour trouver une adresse email professionnelle. Authentifiez chaque requête avec votre clé API dans l’en-tête
Voir Gestion des erreurs pour la liste complète des codes de statut et des formats de réponse.
Toute autre valeur est refusée avec une erreur
La réponse est la même que pour une recherche par nom et entreprise :
https://api.enrow.io/email/find/single
x-api-key. Pour les opérations par lot, utilisez le endpoint Trouver des emails (jusqu’à 5 000 recherches par lot).
La recherche nécessite, au choix :
- Un nom complet et une entreprise :
fullname+ (company_domainoucompany_name) - L’URL du profil LinkedIn d’une personne dans
linkedin_url(voir Recherche par URL de profil LinkedIn)
Enrow effectue des vérifications déterministes qui valident même les emails catch-all. Cela signifie qu’il n’est pas nécessaire de faire passer les emails trouvés par un debouncer ensuite.
Request Body
string
Le nom complet de la personne pour laquelle trouver l’emailNote : requis pour une recherche par nom et entreprise, pas pour une recherche à partir de
linkedin_url.string
Le domaine de l’entreprise, plusieurs formats acceptés (
"dundermifflin.com", "https://www.dundermifflin.com"…)Note : company_domain ou company_name est requis pour une recherche par nom et entreprise.string
Le nom de l’entreprise (
"Apple", "Air France", …)Note : company_domain ou company_name est requis pour une recherche par nom et entreprise.string
L’URL du profil LinkedIn de la personne (
"https://www.linkedin.com/in/dwight-schrute"), pour lancer la recherche à partir du profil plutôt que d’un nom et d’une entreprise. Voir Recherche par URL de profil LinkedIn.Note : pris en compte uniquement si la requête n’est pas une recherche complète par nom et entreprise. Avec un fullname et une entreprise, linkedin_url est ignoré.object
Paramètres personnalisés qui seront renvoyés dans la réponse GET et dans la notification webhook.
Afficher objet custom
Afficher objet custom
string
défaut:"your_custom_property"
Vos données personnalisées
object
Un ensemble de paramètres liés à cette recherche
Afficher propriétés de settings
Afficher propriétés de settings
string
Une URL qui sera notifiée via une requête HTTP POST une fois la recherche unique terminée. Voir Comment fonctionnent les webhooks.
string
défaut:"US"
Le code ISO 3166 Alpha-2 du pays lié à la recherche. Pertinent lorsque vous utilisez un nom d’entreprise — aide à lever l’ambiguïté entre homonymes en effectuant la recherche sur un Google localisé.
boolean
défaut:"false"
Vous permet d’obtenir le genre (
male/female) de la personne.Response
200 — Recherche lancée
string
Message de confirmation
string
Identifiant unique de cette recherche. Utilisez-le pour récupérer les résultats via le endpoint GET.
number
Nombre de crédits consommés. Voir Crédits et facturation pour les coûts par endpoint.
Réponses d’erreur
| Code | Message |
|---|---|
| 400 | invalid JSON input |
| 400 | both company_domain and company_name are absent, input payload needs at least one of them |
| 400 | missing fullname |
| 400 | invalid linkedin_url format |
| 400 | LinkedIn email search is suspended for this account |
| 401 | No apikey found in the x-api-key headers |
| 401 | This apikey is not valid |
| 402 | Insufficient credits |
Les réponses pour crédits insuffisants (
402) sur les endpoints uniques renvoient { "reason": "...", "success": false } ; toutes les autres erreurs renvoient { "message": "..." }.Recherche par URL de profil LinkedIn
Envoyez l’URL du profil LinkedIn d’une personne danslinkedin_url au lieu d’un nom complet et d’une entreprise. Enrow lit le profil, identifie l’entreprise actuelle de la personne, puis y trouve et vérifie son email professionnel.
La recherche se déroule comme toute autre recherche unitaire : la réponse 200 vous donne son id, et le résultat arrive via le endpoint GET ou votre webhook. custom et settings fonctionnent de la même façon.
La recherche à partir d’une URL de profil LinkedIn ne fonctionne qu’en recherche unitaire et n’est pas forcément disponible sur tous les comptes. Si votre compte n’y a pas accès, une requête qui ne contient qu’un
linkedin_url reçoit l’erreur de validation habituelle, par exemple missing fullname. Contactez api@enrow.io si vous en avez besoin.Quand la recherche utilise-t-elle le profil ?
La recherche part du profil lorsquelinkedin_url est fourni et que la requête n’est pas une recherche complète par nom et entreprise :
fullnameest absent, vide ou ne contient qu’un seul caractère, ou- ni
company_domainnicompany_namen’est fourni.
fullname et une entreprise reste une recherche par nom et entreprise, même avec un linkedin_url. Lorsque la recherche part du profil, le nom et l’entreprise viennent du profil : un fullname, un company_domain ou un company_name envoyé en plus est ignoré.
Quelles URL sont acceptées ?
| Format | Exemple |
|---|---|
| URL de profil public | https://www.linkedin.com/in/dwight-schrute |
Sans https:// ni www., avec une barre oblique finale ou des paramètres d’URL | linkedin.com/in/dwight-schrute/?trk=people-guest |
| Sous-domaine de pays | https://fr.linkedin.com/in/dwight-schrute |
| URL de profil avec un identifiant de membre | https://www.linkedin.com/in/ACoAAB2xY3ZaBcD |
| URL Sales Navigator de type lead ou people | https://www.linkedin.com/sales/lead/ACwAAB2xY3ZaBcD,NAME_SEARCH,a1b2 |
400 et le message invalid linkedin_url format : une page entreprise (linkedin.com/company/...), un lien court lnkd.in, une page hors de linkedin.com, ou un nom de profil sans l’URL.
Comment Enrow choisit-il l’entreprise ?
Enrow cherche l’email dans l’entreprise actuelle de la personne, telle qu’elle figure sur le profil. Si plusieurs postes sont en cours, il retient le premier de la liste. Les postes sans employeur, comme indépendant, freelance ou étudiant, sont ignorés. Un profil sans poste actuel chez un employeur termine la recherche avecno_current_company.
Combien coûte la recherche ?
Au lancement, la recherche consomme 1 crédit, comme toute recherche (credits_used: 1 dans la réponse). À la fin, la différence est remboursée : la recherche coûte 1 crédit si un email est trouvé, 0,25 crédit si aucun email n’est trouvé, et rien si elle échoue à cause d’un problème de notre côté. Le résultat indique la raison dans linkedin_status et le coût final dans credits_used. Voir Crédits et facturation.
Exemple
curl --request POST \
--url https://api.enrow.io/email/find/single \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"linkedin_url": "https://www.linkedin.com/in/dwight-schrute",
"custom": {
"crm_id": "lead_001"
}
}'
const response = await fetch('https://api.enrow.io/email/find/single', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
linkedin_url: 'https://www.linkedin.com/in/dwight-schrute',
custom: {
crm_id: 'lead_001'
}
})
});
const data = await response.json();
console.log(data.id);
import requests
import os
url = "https://api.enrow.io/email/find/single"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"linkedin_url": "https://www.linkedin.com/in/dwight-schrute",
"custom": {
"crm_id": "lead_001"
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Single search operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 1
}
curl --request POST \
--url https://api.enrow.io/email/find/single \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"settings": {
"retrieve_gender": true
}
}'
const response = await fetch('https://api.enrow.io/email/find/single', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
fullname: 'Dwight Schrute',
company_domain: 'dundermifflin.com',
settings: {
retrieve_gender: true
}
})
});
const data = await response.json();
console.log(data.id);
import requests
import os
url = "https://api.enrow.io/email/find/single"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"settings": {
"retrieve_gender": True
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Single search operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 1
}
{
"message": "..."
}
Étapes suivantes
Récupérer le résultat
Récupérez l’email trouvé à l’aide de l’
id de la recherche.Trouver des emails en masse
Lancez jusqu’à 5 000 recherches d’emails en une seule requête.
Authentification
Comment transmettre votre clé API dans l’en-tête x-api-key.
Webhooks
Soyez notifié automatiquement lorsqu’une recherche se termine.
Cette page vous a-t-elle été utile ?

