Un GET renvoie un profil, une entreprise, des posts ou des offres en JSON.
Tout se trouve sur GET /v1/linkedin. Choisissez une surface avec type, passez une URL ou des mots-clés, et le résultat revient sous une clé nommée d'après le type.
La plupart des outils de ce domaine vendent une API de profils LinkedIn, une API d'entreprises et une API d'offres d'emploi comme des produits distincts avec des tarifs distincts. Ici, c'est une seule API de données LinkedIn avec une seule règle de facturation : un appel réussi vaut un crédit, un résultat vide ou inaccessible est gratuit.
| type | Ce qui revient | Entrée |
|---|---|---|
| profile | Le profil public complet : nom, titre, parcours professionnel, formation, nombre d'abonnés, et plus encore. Le type par défaut. | url (une URL linkedin.com/in/...) |
| refresh | L'entreprise et l'école actuelles avec leurs identifiants numériques LinkedIn, plus companyState. L'appel léger et à faible latence conçu pour maintenir une base de données à jour. | url |
| company | La page entreprise publique. Ajoutez employees=true pour la liste des employés. | url (une URL linkedin.com/company/...) |
| posts | Les posts publics, jusqu'à 100 par appel. Ajoutez comments=true pour les commentaires de chaque post. | url (profil ou entreprise) |
| jobs | Les offres d'emploi publiques, jusqu'à 50 par appel, avec pagination via start. | keywords plus location en option, ou une url d'offre |
| search (beta) | Recherche de personnes. Ajoutez enrich=true pour obtenir le profil complet de chaque personne dans le même appel. | keywords |
Notez la règle d'entrée : profile, company et posts prennent url, jamais une requête de recherche. Si vous n'avez qu'un nom, trouvez d'abord la personne avec type=search (beta), puis passez l'URL de profil obtenue.
Voici le JSON exact renvoyé par le curl ci-dessus, réduit pour tenir en largeur. Il est revenu en 800 ms et a coûté 1 crédit.
Deux champs méritent l'attention. accessible indique si le profil possède une page publique. Quand il vaut false, profile est null, une note explique pourquoi, et l'appel n'est pas facturé.
memberIdentifier est l'identifiant de membre numérique permanent de LinkedIn. Il survit aux changements de nom et d'URL personnalisée, ce qui en fait la bonne clé de jointure pour une base de données.
Tout l'enregistrement public, structuré. Même forme à chaque appel, donc votre parseur ne s'écrit qu'une fois.
Le champ e-mail est en option : ajoutez email=true à un appel de profil et la réponse ajoute workEmail et emailStatus. Le statut est verified, pattern-likely ou unknown, ce qui vous permet de filtrer sur les adresses confirmées.
L'e-mail accompagne l'appel de profil comme un champ, ce n'est pas un produit séparé.
Les champs qui n'existent que derrière une connexion restent exclus, volontairement. Les listes de relations, les relations en commun et qui a consulté un profil n'apparaissent jamais sur la page déconnectée, ils ne sont donc pas dans la réponse. C'est cette limite qui permet à l'API de fonctionner sans aucun compte et sans rien risquer de vos données.
Une poignée d'options en langage clair. Tout le reste a une valeur par défaut raisonnable.
| Paramètre | S'applique à | Ce qu'il fait |
|---|---|---|
| url | profile, refresh, company, posts, jobs | Une URL linkedin.com. Requise pour profile, company et posts. jobs accepte une URL d'offre à la place de keywords. |
| keywords | search (beta), jobs | Ce que l'on recherche. Requis pour search ; requis pour jobs sauf si vous passez une URL d'offre. |
| location | jobs | Filtre par ville ou région pour la recherche d'offres. |
| limit | jobs, posts, search (beta) | Le nombre de résultats. jobs : 25 par défaut, 50 max. posts : 50 par défaut, 100 max. search : 10 par défaut, 15 max. |
| start | jobs | Décalage des résultats pour la pagination. |
| profile | Ajoute workEmail et emailStatus (verified, pattern-likely ou unknown) au profil. | |
| domain | profile | S'utilise avec email=true. Indiquez le domaine de l'employeur (comme stripe.com) et la recherche d'e-mail l'utilise directement au lieu de le déduire du profil. Plus rapide, et fonctionne même quand un profil est restreint au seul nom. |
| enrich | search (beta) | Renvoie le profil complet de chaque personne dans le même appel. Facture 1 crédit par profil complet renvoyé au lieu de 1 par appel. |
| employees | company | Inclut la liste des employés sur la page entreprise. |
| comments | posts | Inclut les commentaires de chaque post. |
| member | refresh | Renvoie aussi memberIdentifier. En option car c'est une lecture plus lente ; l'identifiant ne change jamais, donc récupérez-le une fois et conservez-le. |
| headline | profile | Pour les profils dont companyState est restricted, tente de récupérer le titre public propre au membre. Au mieux, environ un sur vingt. |
Maintenir une base de données à jour ne devrait pas demander un aller-retour HTTP par ligne. Envoyez jusqu'à 100 URL de profils dans un seul POST et recevez les résultats dans l'ordre d'envoi.
Les règles sont pensées pour les gros volumes : les résultats reviennent dans l'ordre où vous les avez envoyés, une ligne en échec ne fait jamais échouer le lot, et une URL mal formée revient comme une erreur par ligne plutôt qu'une facturation. La facturation est identique à l'endpoint simple : un crédit par ligne réussie, lignes inaccessibles gratuites.
type peut valoir refresh (par défaut, entreprise et école actuelles avec identifiants numériques) ou profile (l'enregistrement complet). member: true ajoute memberIdentifier aux lignes refresh.
De zéro à votre premier JSON de profil en une minute environ :
Créez un compte gratuit. Vous obtenez 3 000 crédits par mois, sans carte.
Copiez votre clé depuis le tableau de bord. Elle est sur le premier écran après votre connexion.
Lancez le curl ci-dessus avec n'importe quelle URL de profil. Le profil public revient en JSON.
Chaque appel réussi vaut 1 crédit, quel que soit le type. Un profil privé ou inaccessible renvoie null avec une note et n'est pas facturé, et un résultat de recherche vide est gratuit.
| Pack | Crédits | Vous payez |
|---|---|---|
| Offre gratuite | 3 000 par mois | 0 $, sans carte |
| 25 000 appels | 25 000 | 49 $ (1,96 $ pour 1 000) |
| 100 000 appels | 100 000 | 149 $ (1,49 $ pour 1 000) |
| 500 000 appels | 500 000 | 549 $ (1,10 $ pour 1 000) |
| 2,5 millions d'appels | 2 500 000 | 1 999 $ (0,80 $ pour 1 000) |
Les packs vont jusqu'à 250 millions de crédits pour 100 000 $, soit 0,40 $ pour 1 000. Prix hors taxes.
Les crédits sont prépayés et n'expirent jamais. Une exception à la règle : la recherche de personnes (beta) avec enrich=true facture 1 crédit par profil complet renvoyé.
À lire aussi : Scraper LinkedIn sans connexion · Scraper de profils LinkedIn · Alternative à Bright Data LinkedIn · Alternative à Proxycurl
Un seul endpoint, GET /v1/linkedin, qui renvoie les données publiques LinkedIn en JSON propre. Réglez type sur profile, refresh, company, posts, jobs ou search (beta). Les profils, entreprises et posts prennent une URL linkedin.com ; les offres et la recherche de personnes prennent des mots-clés. Chaque appel réussi vaut 1 crédit.
Non. Elle ne lit que la version publique et déconnectée de chaque page, donc aucun cookie à coller, aucune session à confier, et aucun de vos comptes dans la boucle. Les champs qui n'existent que derrière une connexion, comme les listes de relations, ne font délibérément pas partie du produit.
Un crédit par appel réussi, pour tous les types. L'exception est la recherche de personnes (beta) avec enrich=true, qui facture 1 crédit par profil complet renvoyé. Un profil privé ou inaccessible renvoie null avec une note et n'est pas facturé, et les résultats vides sont gratuits. L'offre gratuite est de 3 000 crédits par mois sans carte.
Le nom, le titre, la localisation, la section à propos, le nombre d'abonnés, l'historique complet des expériences avec les liens d'entreprises et les dates, la formation, la photo, et des identifiants stables dont memberIdentifier, l'identifiant de membre numérique permanent de LinkedIn. Ajoutez email=true pour joindre workEmail avec un emailStatus valant verified, pattern-likely ou unknown.
Utilisez type=refresh, qui renvoie l'entreprise et l'école actuelles avec leurs identifiants numériques à faible latence, et envoyez les profils via POST /v1/linkedin/batch, jusqu'à 100 URL par requête avec les résultats dans l'ordre d'envoi. Les lignes en échec ne font jamais échouer le lot et les lignes inaccessibles sont gratuites.
La collecte publique et déconnectée a, à plusieurs reprises, fait échouer des poursuites pour fraude informatique et rupture de contrat. Nous nous chargeons de la collecte, et ce que vous obtenez, ce sont des données publiques, visibles par tous. Nous n'utilisons ni faux comptes ni identifiants de connexion.
Commencez avec les 3 000 crédits gratuits par mois, sans carte. Un seul GET renvoie le profil public en JSON propre, et un profil qui n'est pas accessible ne vous coûte rien. Aucun de vos comptes ne fait jamais partie de la requête.
Obtenir 3 000 crédits gratuits