Send DM for Linkedin
by addeus
Send personalized Direct Messages (DMs) to your LinkedIn connections in bulk. Supports variables like {firstName} for customization. Features randomiz...
Opens on Apify.com
About 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.
What does this actor do?
Send DM for Linkedin is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.
Key Features
- Cloud-based execution - no local setup required
- Scalable infrastructure for large-scale operations
- API access for integration with your applications
- Built-in proxy rotation and anti-blocking measures
- Scheduled runs and webhooks for automation
How to Use
- Click "Try This Actor" to open it on Apify
- Create a free Apify account if you don't have one
- Configure the input parameters as needed
- Run the actor and download your results
Documentation
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 json { "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) 1. Ouvre ton navigateur et connecte-toi sur LinkedIn 2. Ouvre les DevTools (F12) 3. Va dans Application → Cookies → https://www.linkedin.com 4. Trouve le cookie li_at et copie sa valeur complète ## Output json { "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 ### 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 bash cd send-dm npm install ### Test Local Crée un fichier input.json: json { "profileUrl": "https://www.linkedin.com/in/username/", "messageText": "Your message here", "liAtCookie": "YOUR_LI_AT_COOKIE" } Lance: bash 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
Categories
Common Use Cases
Market Research
Gather competitive intelligence and market data
Lead Generation
Extract contact information for sales outreach
Price Monitoring
Track competitor pricing and product changes
Content Aggregation
Collect and organize content from multiple sources
Ready to Get Started?
Try Send DM for Linkedin now on Apify. Free tier available with no credit card required.
Start Free TrialActor Information
- Developer
- addeus
- Pricing
- Paid
- Total Runs
- 478
- Active Users
- 7
Related Actors
🏯 Tweet Scraper V2 - X / Twitter Scraper
by apidojo
Google Search Results Scraper
by apify
Instagram Profile Scraper
by apify
Tweet Scraper|$0.25/1K Tweets | Pay-Per Result | No Rate Limits
by kaitoeasyapi
Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.
Learn more about ApifyNeed Professional Help?
Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.
Trusted by millions | Money-back guarantee | 24/7 Support