Send DM for Linkedin
Pricing
$0.01 / actor start
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
Actor stats
0
Bookmarked
2
Total users
2
Monthly active users
a day ago
Last modified
Categories
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ètre | Type | Requis | Description |
|---|---|---|---|
profileUrl | String | ✅ Oui | L'URL complète du profil LinkedIn à qui envoyer le message |
messageText | String | ✅ Oui | Le texte de votre message privé |
liAtCookie | String | ✅ Oui | Cookie d'authentification LinkedIn (li_at) |
userAgent | String | ❌ Non | User-Agent personnalisé (défaut: Chrome 131 Windows) |
jsessionid | String | ❌ Non | Cookie 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
Cookie li_at (REQUIS)
- Ouvre ton navigateur et connecte-toi sur LinkedIn
- Ouvre les DevTools (F12)
- Va dans Application → Cookies → https://www.linkedin.com
- Trouve le cookie
li_atet 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 :
- Extraction du nom : Lit le nom de la personne sur la page de profil visitée
- Vérification avant envoi : Après avoir cliqué sur "Message", compare le nom dans la fenêtre de conversation avec le nom du profil
- 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
- Navigue vers le profil LinkedIn
- Extrait le nom de la personne sur le profil
- Trouve et clique sur le bouton "Message" ou "Envoyer un message"
- Vérifie que la conversation ouverte correspond bien au profil visité (SAFETY CHECK)
- Tape votre message dans l'éditeur
- Clique sur "Envoyer" (Send)
- 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-buttonbutton[type="submit"].msg-form__send-buttonbutton[aria-label*="Send"]button[aria-label*="Envoyer"]
Notes Importantes
Sécurité & Authentification
- Le cookie
li_atest 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
Légal & CGU
- 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-dmnpm 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