Send DM for Linkedin avatar
Send DM for Linkedin

Pricing

$0.01 / actor start

Go to Apify Store
Send DM for Linkedin

Send DM for Linkedin

Send personalized Direct Messages (DMs) to your LinkedIn connections in bulk. Supports variables like {firstName} for customization. Features randomized delays and proxy support to ensure account safety. Best for 1st-degree outreach.

Pricing

$0.01 / actor start

Rating

0.0

(0)

Developer

Addeus

Addeus

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

a day ago

Last modified

Share

LinkedIn Send DM Actor

Actor Apify pour automatiser l'envoi de messages privés (DMs) sur LinkedIn en utilisant Puppeteer.

Fonctionnalités

  • Envoi automatique de DMs sur n'importe quel profil LinkedIn
  • SAFETY CHECK CRITIQUE - Vérifie que le message est envoyé à la bonne personne avant l'envoi
  • Authentification par cookies (li_at) - pas besoin d'OAuth
  • Workflow complet : Visite du profil → Clic sur "Message" → Vérification du destinataire → Saisie du message → Envoi
  • Détection intelligente des boutons avec plusieurs stratégies
  • Anti-détection - masque les flags webdriver
  • Gestion d'erreurs robuste

Input Parameters

ParamètreTypeRequisDescription
profileUrlString✅ OuiL'URL complète du profil LinkedIn à qui envoyer le message
messageTextString✅ OuiLe texte de votre message privé
liAtCookieString✅ OuiCookie d'authentification LinkedIn (li_at)
userAgentString❌ NonUser-Agent personnalisé (défaut: Chrome 131 Windows)
jsessionidString❌ NonCookie JSESSIONID optionnel

Exemple d'Input

{
"profileUrl": "https://www.linkedin.com/in/johndoe/",
"messageText": "Hi John! I came across your profile and would love to connect. I'm particularly interested in your work on AI and machine learning.",
"liAtCookie": "AQEDATxxxxxx..."
}

Comment Obtenir Vos Cookies

  1. Ouvre ton navigateur et connecte-toi sur LinkedIn
  2. Ouvre les DevTools (F12)
  3. Va dans ApplicationCookieshttps://www.linkedin.com
  4. Trouve le cookie li_at et copie sa valeur complète

Output

{
"profileUrl": "https://www.linkedin.com/in/johndoe/",
"success": true,
"message": "DM sent successfully to John Doe",
"recipientName": "John Doe",
"messageText": "Hi John! I came across your profile...",
"timestamp": "2025-10-16T14:30:00.000Z"
}

🛡️ Safety Check (CRITIQUE!)

L'actor implémente un double contrôle de sécurité pour éviter d'envoyer des messages à la mauvaise personne :

  1. Extraction du nom : Lit le nom de la personne sur la page de profil visitée
  2. Vérification avant envoi : Après avoir cliqué sur "Message", compare le nom dans la fenêtre de conversation avec le nom du profil
  3. Blocage en cas d'erreur : Si les noms ne correspondent pas, l'envoi est annulé avec une erreur SAFETY CHECK FAILED

Exemple d'erreur de sécurité :

SAFETY CHECK FAILED: Expected to message "John Doe" but conversation is with "Jane Smith"

Cette vérification vous protège contre les erreurs d'envoi accidentelles!

Workflow de l'Actor

  1. Navigue vers le profil LinkedIn
  2. Extrait le nom de la personne sur le profil
  3. Trouve et clique sur le bouton "Message" ou "Envoyer un message"
  4. Vérifie que la conversation ouverte correspond bien au profil visité (SAFETY CHECK)
  5. Tape votre message dans l'éditeur
  6. Clique sur "Envoyer" (Send)
  7. Retourne le résultat avec le nom du destinataire confirmé

Architecture Technique

Stratégies de Détection

Bouton Message

  • button[aria-label*="Message"]
  • button[aria-label*="Envoyer un message"]
  • button.pvs-profile-actions__action[aria-label*="Message"]
  • button.message-anywhere-button
  • XPath: //button[contains(., 'Message')]

Champ de Message

  • div.msg-form__contenteditable[contenteditable="true"]
  • div[contenteditable="true"][role="textbox"]
  • div.msg-form__msg-content-container .ql-editor

Bouton Envoyer

  • button.msg-form__send-button
  • button[type="submit"].msg-form__send-button
  • button[aria-label*="Send"]
  • button[aria-label*="Envoyer"]

Notes Importantes

Sécurité & Authentification

  • Le cookie li_at est ta session LinkedIn - garde-le secret
  • Les cookies expirent - renouvelle-les si erreur d'authentification

Limitations LinkedIn

  • Connexion requise : Tu dois être connecté à la personne ou avoir un accès InMail
  • Limites d'envoi : LinkedIn limite le nombre de messages que tu peux envoyer par jour
  • Détection de spam : Évite d'envoyer des messages identiques à plusieurs personnes

Rate Limiting

  • LinkedIn peut limiter les actions automatisées trop fréquentes
  • Recommandé: espacer les DMs (quelques minutes entre chaque)
  • Utilise avec modération pour éviter restrictions de compte

Bonnes Pratiques

  • ✅ Personnalise chaque message
  • ✅ Attends au moins 2-3 minutes entre chaque DM
  • ✅ Ne dépasse pas 20-30 DMs par jour
  • ❌ N'envoie pas de messages de spam
  • ❌ N'utilise pas pour du marketing agressif
  • Cet actor est à des fins éducatives et de test
  • L'automatisation peut violer les CGU de LinkedIn
  • Utilise à tes propres risques

Développement Local

Installation

cd send-dm
npm install

Test Local

Crée un fichier input.json:

{
"profileUrl": "https://www.linkedin.com/in/username/",
"messageText": "Your message here",
"liAtCookie": "YOUR_LI_AT_COOKIE"
}

Lance:

$npm start

Dépendances

  • Apify SDK v3.1.0+
  • Puppeteer v24.0.0+
  • Node.js 20.0.0+

Troubleshooting

"Message button not found"

  • L'URL du profil est peut-être incorrecte
  • Le profil peut ne pas exister ou être privé
  • Tu n'es peut-être pas connecté à cette personne (nécessite connexion ou InMail)

"Message input not found"

  • La fenêtre de message met peut-être plus de temps à charger
  • LinkedIn peut avoir changé l'interface
  • Essaye d'augmenter les délais dans le code

"Send button not found or not enabled"

  • Le message est peut-être trop court
  • LinkedIn peut nécessiter une action supplémentaire (captcha, vérification)
  • Le bouton peut ne pas être activé (message vide ou en cours de traitement)

"You've reached your weekly invitation limit"

  • Tu as atteint la limite de messages LinkedIn
  • Attends quelques jours avant de réessayer
  • Privilégie les messages aux personnes déjà connectées

License

ISC


Créé avec ❤️ pour Apify