Malt Messages Scraper avatar

Malt Messages Scraper

Under maintenance

Pricing

$29.00/month + usage

Go to Apify Store
Malt Messages Scraper

Malt Messages Scraper

Under maintenance

Logs into Malt, navigates to messages, and automatically applies to pending project offers with a personalized pitch. Built for freelances receiving many Malt requests. Features: login with 2FA (IMAP), cookie fallback when form is rate-limited, template-based pitch, Google Sheets export.

Pricing

$29.00/month + usage

Rating

0.0

(0)

Developer

Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Répond automatiquement aux offres de projet Malt — Se connecte, détecte les conversations en attente de réponse, remplit le formulaire de candidature avec un pitch personnalisé et soumet. Export Google Sheets et notifications Telegram inclus. Conçu pour les freelances recevant de nombreuses sollicitations sur Malt.

Pourquoi l'utiliser ?

Gain de temps

  • Plus besoin de se connecter manuellement plusieurs fois par jour
  • Détecte automatiquement les offres en attente de réponse
  • Un run = une candidature envoyée (ou notification si aucune offre)

Candidatures cohérentes

  • Pitch basé sur un template, personnalisé avec le titre du projet et l'entreprise
  • TJM fixe (min 600€), lien Calendly, message professionnel
  • Type de prestation auto-détecté : scraping, automatisation ou prospection

Traçabilité & alertes

  • Chaque run est loggé dans Google Sheets (candidatures + runs sans offre)
  • Notification Telegram à chaque candidature ou si aucune offre n'est en attente
  • Connexion par cookies disponible quand Malt bloque le formulaire

Comment ça marche

  1. Authentification — Connexion via email/mot de passe (2FA via IMAP), ou directement via cookies
  2. Navigation vers les messages — Accès à Malt /messages
  3. Détection de l'offre en attente — Recherche des conversations « En attente de votre réponse »
  4. Candidature — Remplit le TJM (600€+), le pitch personnalisé, le lien Calendly, et soumet
  5. Résultat — Envoi au Dataset Apify, optionnellement dans Google Sheets et Telegram

Démarrage rapide

Minimal (identifiants uniquement)

{
"email": "votre-email@exemple.com",
"password": "votre-mot-de-passe",
"imapUser": "votre-email@exemple.com",
"imapPassword": "mot-de-passe-application-gmail",
"headless": false
}

Le code 2FA est récupéré depuis Gmail (IMAP). Utilisez un mot de passe d'application Gmail pour imapPassword.

Connexion directe par cookies

Si vous voulez bypasser le formulaire et vous connecter directement via vos cookies :

{
"loginMethod": "cookies",
"maltCookies": [
{"domain": "www.malt.fr", "name": "SESSION", "value": "...", "path": "/"},
{"domain": "www.malt.fr", "name": "remember-me", "value": "...", "path": "/"}
]
}

Configuration complète (Google Sheets + Telegram)

{
"email": "...",
"password": "...",
"imapUser": "...",
"imapPassword": "...",
"loginMethod": "form",
"dailyRate": 600,
"calendlyLink": "https://calendly.com/vous/20min",
"googleSheetsEnabled": true,
"googleSheetsSpreadsheetId": "ID_DE_VOTRE_SPREADSHEET",
"googleSheetsCredentials": {"type": "service_account", "project_id": "...", "private_key": "...", "client_email": "..."},
"googleSheetsTab": "Feuille 1",
"telegramEnabled": true,
"telegramBotToken": "VOTRE_TOKEN_BOT",
"telegramChatId": "VOTRE_CHAT_ID"
}

Partagez le Google Sheet avec l'email du Service Account (éditeur). Les en-têtes de colonnes sont créés automatiquement.

Paramètres d'entrée

ParamètreDescription
loginMethod"form" (défaut) = formulaire + 2FA IMAP. "cookies" = bypass direct via cookies
emailEmail de connexion Malt
passwordMot de passe Malt
imapUserAdresse Gmail (même que Malt) pour récupérer le code 2FA
imapPasswordMot de passe d'application Gmail
maltCookiesTableau JSON de cookies — requis si loginMethod = "cookies"
openaiApiKeyOptionnel — pour les conversations directes (pas les offres projet)
dailyRateTJM en €/jour. Min 600, défaut 600
calendlyLinkURL Calendly pour le pitch
headlesstrue = navigateur invisible, false = navigateur visible
googleSheetsEnabledLogger les runs dans Google Sheets
googleSheetsSpreadsheetIdID du sheet (dans l'URL)
googleSheetsCredentialsJSON du Service Account
googleSheetsTabNom de l'onglet, ex : "Feuille 1"
telegramEnabledEnvoyer des notifications Telegram
telegramBotTokenToken du bot depuis @BotFather
telegramChatIdID du chat/canal

Variables d'environnement (secrets Apify) : MALT_EMAIL, MALT_PASSWORD, MALT_IMAP_USER, MALT_IMAP_PASSWORD, MALT_COOKIES, OPENAI_API_KEY, GOOGLE_SHEETS_SPREADSHEET_ID, GOOGLE_SHEETS_CREDENTIALS, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID

Résultat

ChampDescription
repliedtrue si une candidature ou un message a été envoyé
reasoncandidature_submitted, no_pending_reply, submit_button_not_found, etc.
pitchMessageContenu du pitch de candidature
messageSentContenu de la réponse directe (conversations uniquement)
dailyRateTJM utilisé dans la candidature
accompagnementType de prestation : scraping, automatisation, prospection
projectContext{ title, companyName, description }

Colonnes Google Sheets

Créées automatiquement si l'onglet est vide :

ColonneContenu
DateHorodatage du run (ISO)
EntrepriseNom de l'entreprise
Titre projetTitre du projet
Type accompagnementScraping, automatisation, prospection
Taux (€/jour)TJM
Message envoyéPitch envoyé
Statutsoumis, aucune_offre, ou raison d'erreur

Notifications Telegram

Quand une candidature est soumise :

Malt: candidature ✅ soumis
Entreprise: Joya
Projet: Déployer une acquisition B2B LinkedIn...

Quand aucune offre n'est en attente :

Malt: aucune offre en attente ✓

Limites

  • Sélecteurs — Malt peut mettre à jour son interface ; les sélecteurs peuvent nécessiter des ajustements.
  • Fréquence recommandée — 1 à 2 fois par jour. Les actions automatisées peuvent être contraires aux CGU Malt ; utilisation à vos risques.

Lancer en local

cd apify/scrapers/malt-messages-scraper
npm install
# Créer un input.json (copier depuis input.json.example)
npm start

Déployer sur Apify

$apify push