← All AI

Hugging Face email verification with BillionVerify

Hugging Face is the leading open-source AI platform where teams host models, datasets, and ML applications. When pipelines or Spaces trigger outbound emails or ingest user contact data, unverified addresses cause bounces and pollute your datasets. BillionVerify plugs into Hugging Face workflows via n8n or the REST API to validate every address before it enters your system.

Why verify before the send

AI pipelines that process user-submitted emails can silently accumulate invalid, disposable, or role-based addresses. A single bad batch degrades downstream model training data and tanks deliverability for notification emails. Verifying addresses at ingestion keeps your datasets clean and your sender reputation intact β€” two things that matter when you're shipping ML products at scale.

Ready-to-use n8n workflow

Import this workflow into n8n β€” it verifies every address with BillionVerify before Hugging Face sends, so only deliverable contacts are emailed. Install the BillionVerify community node first, then add your API key.

verify-emails-in-hugging-face.json
{
  "name": "Verify emails before sending in Hugging Face + BillionVerify",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        240,
        300
      ],
      "name": "When clicking β€˜Test workflow’"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "email-field",
              "name": "email",
              "value": "jane@example.com",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        460,
        300
      ],
      "name": "Get contacts"
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "Message for Hugging Face contacts",
        "message": "Replace this Gmail send with your Hugging Face node β€” only deliverable, verified contacts reach it.",
        "options": {}
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        900,
        300
      ],
      "name": "Send email",
      "webhookId": "",
      "credentials": {
        "gmailOAuth2": {
          "id": "",
          "name": "Gmail account"
        }
      }
    },
    {
      "parameters": {
        "operation": "verify",
        "email": "={{ $json.email }}",
        "additionalOptions": {}
      },
      "type": "n8n-nodes-billionverify.billionVerify",
      "typeVersion": 1,
      "position": [
        540,
        300
      ],
      "name": "Verify Email (BillionVerify)",
      "credentials": {
        "billionVerifyApi": {
          "id": "",
          "name": "BillionVerify account"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "is-deliverable",
              "leftValue": "={{ $json.is_deliverable }}",
              "rightValue": "",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ]
        }
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        720,
        300
      ],
      "name": "IF deliverable"
    }
  ],
  "connections": {
    "When clicking β€˜Test workflow’": {
      "main": [
        [
          {
            "node": "Get contacts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get contacts": {
      "main": [
        [
          {
            "node": "Verify Email (BillionVerify)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Email (BillionVerify)": {
      "main": [
        [
          {
            "node": "IF deliverable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF deliverable": {
      "main": [
        [
          {
            "node": "Send email",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}

Workflow templates with Hugging Face

Ready-to-use workflows that verify emails before Hugging Face sends.

How it works

  1. 1

    Install the BillionVerify community node in n8n, or obtain your REST API key from the BillionVerify dashboard.

  2. 2

    Set up an n8n workflow (or Integrately automation) that triggers when a new contact email appears in your Hugging Face pipeline β€” via webhook, dataset event, or Space form submission.

  3. 3

    Pass the email address to BillionVerify, which checks SMTP reachability, MX records, disposable-domain databases, and catch-all status in real time.

  4. 4

    Use the verdict β€” valid, invalid, catch-all, disposable, or role β€” to route the contact: accept, quarantine, or silently discard before it reaches your Hugging Face dataset or notification queue.

  5. 5

    Monitor aggregate results in the BillionVerify dashboard to track invalid-address rates over time and tune your acceptance thresholds.

When to use this

Clean training data pipelines

When your Hugging Face Space or dataset pipeline collects contributor emails, route each address through BillionVerify to strip invalid, catch-all, and disposable entries before they corrupt contact lists used in experiments or notifications.

Protect notification delivery

Model-ready alerts and dataset update notifications only reach real users. BillionVerify validates recipient addresses in your n8n automation before Hugging Face triggers any outbound message, keeping bounce rates near zero.

Filter sign-ups to gated model demos

Gate access to private model demos by verifying email addresses at submission time. Block throwaway addresses and catch-alls that skew access metrics and waste API quota.

FAQ

Does BillionVerify support bulk verification for large Hugging Face datasets?

Yes. The REST API accepts batch requests, making it practical to verify thousands of addresses from a dataset export in a single run without hitting rate limits.

Can I use BillionVerify without n8n if my pipeline is Python-based?

Absolutely. BillionVerify exposes a straightforward REST API you can call from any Python script, Hugging Face Space, or custom backend with a simple HTTP request.

What does 'catch-all' mean and should I reject those addresses?

A catch-all domain accepts any email, so deliverability is uncertain. BillionVerify flags them separately so you can decide β€” accept with caution, route to a low-priority list, or exclude entirely based on your risk tolerance.

Is verification done in real time or asynchronously?

Single-address lookups return results in milliseconds, making real-time form validation practical. Bulk jobs run asynchronously and results are available via webhook or polling.

Verify emails in Hugging Face

Create a free account, grab your API key, and stop bounces before they happen.

Get started free