API de recherche de personnes : trouver des personnes et leurs e-mails depuis votre code


Interrogez les personnes que nous connaissons, avec leur poste, leur employeur et leur e-mail professionnel quand nous l’avons, depuis votre propre code et en une seule requête authentifiée.

Ce guide ne traite que de l’API. Pour chercher, révéler et envoyer depuis l’application web, consultez Rechercher des profils et Profils et Révélations. Si vous n’avez pas encore de clé d’API, Comment utiliser l’API The Stack explique comment l’obtenir.


Le point d’accès

GET https://thestack.es/api/v1/search/people

Authentifiez-vous en envoyant votre clé dans l’en-tête X-API-KEY :

1
2
3
4
curl -G "https://thestack.es/api/v1/search/people" \
     -H "X-API-KEY: {votre_cle_api}" \
     --data-urlencode "search_query=chief financial officer" \
     --data-urlencode "country=France"

Paramètres

ParamètreTypeDescription
search_querytexteMots-clés recherchés dans les noms, titres de profil et biographies, par exemple head of sales ou un nom complet.
countrytexte, répétableNom du pays en anglais, par exemple country=France&country=Belgium.
company_nametexte, répétableNom exact de l’employeur, par exemple company_name=Acme Analytics.
websitetexte, répétableSite exact de l’employeur.
is_investortrueUniquement les personnes qui sont le contact principal d’un investisseur.
pageentierNuméro de page, à partir de 1.
per_page10 ou 15Résultats par page. Par défaut, 15.
orderasc ou descPar date de mise à jour. Par défaut, desc (les plus récents d’abord).

Répétez un paramètre pour accepter n’importe laquelle de ses valeurs. Des paramètres différents se combinent : country=France&company_name=Acme Analytics désigne les personnes d’Acme Analytics en France.


Réponse

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "data": [
    {
      "id": "ACoAAB1x...",
      "name": "Camille Laurent",
      "email": "camille@cobaltpay.fr",
      "phone": null,
      "country": "France",
      "city": null,
      "company_name": "Cobalt Payments",
      "company_website": "https://cobaltpay.fr",
      "biography": "Building payment products...",
      "primary_position": "Head of Product at Cobalt Payments",
      "school_name": null,
      "linkedin_url": "https://www.linkedin.com/in/camille-laurent",
      "updated_at": "2026-10-19"
    }
  ],
  "has_more": true,
  "total": 128
}
  • email n’est rempli que si nous avons déjà une adresse professionnelle pour la personne ; sinon il vaut null. Les nouvelles adresses se révèlent dans l’application web, via l’extension du navigateur.
  • has_more indique s’il existe une page suivante : vous pouvez donc boucler jusqu’à ce qu’il vaille false.
  • total est le nombre de personnes qui correspondent à vos filtres, toutes pages confondues.

Codes de statut

CodeSignification
200Résultats renvoyés.
400Un paramètre a une valeur invalide (par exemple page=0 ou order=up).
401L’en-tête X-API-KEY est absent ou la clé n’est pas valide.
403Vous avez utilisé toutes les requêtes API de votre offre pour ce cycle.
404Personne ne correspond à ces filtres.

Chaque requête réussie est décomptée des requêtes mensuelles de votre offre ; un 404 ne l’est pas.


Parcourir toutes les pages

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import requests

url = "https://thestack.es/api/v1/search/people"
headers = {"X-API-KEY": "votre_cle_api"}
params = {"country": ["France", "Belgium"], "search_query": "recruiter", "per_page": 15}

page = 1
while True:
    response = requests.get(url, headers=headers, params={**params, "page": page})
    if response.status_code == 404:
        break
    response.raise_for_status()
    body = response.json()
    for person in body["data"]:
        print(person["name"], person["email"])
    if not body["has_more"]:
        break
    page += 1

L’essayer dans le navigateur

Tous les points d’accès, avec leurs paramètres, se trouvent dans la documentation interactive sur thestack.es/api/docs : dépliez Search People, cliquez sur Try it out, collez votre clé et envoyez une requête.