Connectez mailcheck.fr
à tous vos outils

Pas d'intégration native requise, notre API REST s'intègre avec n'importe quel outil en quelques lignes de code ou via Zapier. Voici comment connecter les outils les plus courants.

Obtenir ma clé API Documentation API complète
Brevo Brevo
Mailchimp Mailchimp
HubSpot HubSpot
Webflow Webflow
Zapier Zapier
Make Make
n8n n8n
ActiveCampaign ActiveCampaign
Brevo

Brevo (ex-Sendinblue)

Validez les emails avant de les ajouter à vos listes Brevo via l'API ou via un webhook sur vos formulaires d'inscription.

Via API + Webhook

Comment ça fonctionne

À chaque soumission de formulaire, appelez d'abord l'API mailcheck.fr pour valider l'adresse. Si le statut est valid ou risky avec un score suffisant, déclenchez l'appel à l'API Brevo pour ajouter le contact à votre liste. Les adresses invalid et disqualifie sont simplement ignorées, elles n'entrent jamais dans Brevo.

Node.js, Validation Brevo avant ajout de contact
const MAILCHECK_KEY = process.env.MAILCHECK_API_KEY;
const BREVO_KEY      = process.env.BREVO_API_KEY;

async function addContactToBrevo(email, firstName, lastName) {
  // Étape 1 : vérifier l'email avec mailcheck.fr
  const check = await fetch("https://api.mailcheck.fr/v1/verify", {
    method: "POST",
    headers: { "Authorization": `Bearer ${MAILCHECK_KEY}`, "Content-Type": "application/json" },
    body: JSON.stringify({ email })
  }).then(r => r.json());

  // Étape 2 : rejeter les invalides
  if (check.status === "invalid" || check.status === "disqualifie") {
    return { success: false, reason: check.status };
  }

  // Étape 3 : ajouter dans Brevo
  await fetch("https://api.brevo.com/v3/contacts", {
    method: "POST",
    headers: { "api-key": BREVO_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({
      email,
      attributes: { PRENOM: firstName, NOM: lastName },
      listIds: [42],
      updateEnabled: true
    })
  });

  return { success: true, score: check.score };
}
Mailchimp

Mailchimp

Nettoyez vos listes existantes via un export CSV, ou validez en temps réel via Zapier ou l'API directement.

Via CSV ou Zapier

Méthode 1 : Nettoyage de liste existante (CSV)

  1. Exportez votre audience Mailchimp depuis Audience > Export Audience
  2. Importez le CSV dans mailcheck.fr et lancez la vérification
  3. Exportez le CSV filtré (valides uniquement)
  4. Dans Mailchimp, archivez les contacts invalides via Archive Contacts en important la liste des emails à supprimer

Méthode 2 : Validation en temps réel via Zapier

Créez un Zap avec le déclencheur "New Subscriber in Mailchimp", puis ajoutez une action Webhooks by Zapier > POST vers https://api.mailcheck.fr/v1/verify avec le Bearer token. Ajoutez un filtre conditionnel : si status != valid, utilisez l'action Mailchimp > Unsubscribe Contact pour retirer l'adresse.

HubSpot

HubSpot

Validez les emails avant qu'ils n'entrent dans votre CRM via un webhook de workflow HubSpot.

Via Workflow Webhook

Configuration via HubSpot Workflows

  1. Dans HubSpot, allez dans Automations > Workflows > Create Workflow
  2. Déclencheur : "Contact is created" ou "Form submitted"
  3. Ajoutez une action "Send a webhook" avec la méthode POST vers https://api.mailcheck.fr/v1/verify
  4. Dans les headers, ajoutez Authorization: Bearer YOUR_API_KEY
  5. Corps JSON : {"email": "{{contact.email}}"}
  6. Ajoutez une branche conditionnelle sur la réponse webhook : si status = invalid, définissez une propriété Email Quality = Invalid et supprimez de vos séquences marketing
Conseil : Créez une propriété personnalisée HubSpot Email Quality Score (type Number) et enregistrez le score mailcheck.fr (0–100) pour pouvoir filtrer et segmenter vos contacts par qualité d'email.
Webflow

Webflow Forms

Bloquez les soumissions avec des adresses invalides directement dans vos formulaires Webflow via du JavaScript personnalisé.

Via JavaScript custom

Script à ajouter dans le Custom Code de votre page Webflow

Dans les paramètres de votre page Webflow (Page Settings > Custom Code > Before </body>), ajoutez le script suivant. Il intercepte la soumission du formulaire, valide l'email en temps réel et n'autorise la soumission que si l'adresse est valide.

JavaScript, Webflow form validation
// Remplacez YOUR_API_KEY par votre clé mailcheck.fr
// Ne commitez jamais une clé API côté client en production !
// Pour la prod, proxiez via votre backend.
const MAILCHECK_KEY = "mc_live_xxxxxxxxxxxxxxxxxxxx";

document.querySelectorAll("form[data-name]").forEach(function(form) {
  form.addEventListener("submit", async function(e) {
    const emailInput = form.querySelector('input[type="email"]');
    if (!emailInput) return;

    e.preventDefault();

    const btn = form.querySelector('input[type="submit"]');
    const originalText = btn ? btn.value : "";
    if (btn) btn.value = "Vérification...";

    try {
      const res = await fetch("https://api.mailcheck.fr/v1/verify", {
        method: "POST",
        headers: {
          "Authorization": `Bearer ${MAILCHECK_KEY}`,
          "Content-Type": "application/json"
        },
        body: JSON.stringify({ email: emailInput.value })
      });
      const data = await res.json();

      if (data.status === "invalid" || data.status === "disqualifie") {
        // Afficher un message d'erreur
        let err = form.querySelector(".email-error");
        if (!err) {
          err = document.createElement("div");
          err.className = "email-error";
          err.style.cssText = "color:#c92a2a;font-size:0.85rem;margin-top:6px;";
          emailInput.parentNode.insertBefore(err, emailInput.nextSibling);
        }
        err.textContent = "Cette adresse email semble invalide. Vérifiez et réessayez.";
        if (btn) btn.value = originalText;
      } else {
        // Email valide, soumettre normalement
        form.submit();
      }
    } catch (err) {
      // En cas d'erreur API, laisser passer (fail open)
      form.submit();
    }
  });
});
Note de sécurité : En production, ne pas exposer votre clé API côté client. Créez plutôt un endpoint proxy sur votre backend (Netlify Function, Vercel Function) qui relaie la requête vers mailcheck.fr avec la clé côté serveur.
<form>

Formulaires HTML génériques

Snippet universel compatible avec n'importe quel formulaire HTML, framework ou CMS.

JavaScript universel

Validation inline sur n'importe quel formulaire

Ce snippet s'attache à tous les champs email d'une page et valide l'adresse au moment où l'utilisateur sort du champ (blur), avant même la soumission. Retour visuel immédiat avec un badge vert/rouge.

JavaScript, Validation live sur champ email
(function() {
  const PROXY_URL = "/api/verify-email"; // Votre endpoint proxy backend

  function injectBadge(input, status, score) {
    let badge = input.parentNode.querySelector(".mc-badge");
    if (!badge) {
      badge = document.createElement("span");
      badge.className = "mc-badge";
      badge.style.cssText = "margin-left:8px;font-size:.8rem;font-weight:600;padding:2px 8px;border-radius:10px;";
      input.parentNode.style.position = "relative";
      input.parentNode.appendChild(badge);
    }
    if (status === "valid") {
      badge.textContent = "✓ Valide";
      badge.style.background = "#e6faf0";
      badge.style.color = "#00873d";
    } else {
      badge.textContent = "✕ Invalide";
      badge.style.background = "#ffe8e8";
      badge.style.color = "#c92a2a";
    }
  }

  document.querySelectorAll('input[type="email"]').forEach(function(input) {
    input.addEventListener("blur", async function() {
      if (!input.value || !input.value.includes("@")) return;
      try {
        const res = await fetch(PROXY_URL, {
          method: "POST",
          headers: { "Content-Type": "application/json" },
          body: JSON.stringify({ email: input.value })
        });
        const data = await res.json();
        injectBadge(input, data.status, data.score);
      } catch(e) { /* silencieux */ }
    });
  });
})();

Besoin d'aide pour intégrer ?

Notre documentation API couvre tous les endpoints avec des exemples complets. Notre équipe répond sous 24h.

Voir la documentation API Contacter le support