Valid Email Checker
All Integrations
n8n
API Automation

Automate Email Verification
in Your n8n Workflows

Add a real-time email check to any n8n workflow by calling the Valid Email Checker API from the built-in HTTP Request node — no community node to install. Verify an incoming lead, then use an IF node to branch valid addresses from invalid ones.

Works with n8n’s built-in HTTP Request node
Verify in real time inside any workflow
Branch valid vs. invalid with an IF node
Import the ready-made workflow template below

Verify-email workflow

n8n

Webhook / Trigger

Incoming lead

Verify Email

Valid Email Checker

Safe

Add to CRM

Invalid

Skip / tag

IFstatus === "safe"

What You Need to Get Started

A Valid Email Checker API Key

Generate one on the Developer page. 150 free credits on signup.

An n8n Instance

Self-hosted or n8n Cloud — both include the HTTP Request node.

A Few Minutes

Or just import the template below and paste in your key.

How to Build It in n8n

No community node required. You only need the built-in HTTP Request node — or skip ahead and import the template.

1

Add an HTTP Request node

Add an HTTP Request node to your workflow. Set Method to POST and the URL to the verify-single endpoint below.

Request URL
https://app.validemailchecker.com/api/verify-single

Shortcut: click Import cURL at the top of the node and paste the cURL snippet from your API Access page — it fills the method, URL, header, and body in one step.

2

Set up authentication

Set Authentication to Generic Credential Type, then choose Header Auth with Name = Authorization and Value = Bearer YOUR_API_KEY. (Alternatively, use the dedicated Bearer Auth credential — there you paste just the token, no "Bearer" prefix.)

Header Auth credential
Name:  Authorization
Value: Bearer YOUR_API_KEY

Get your key: generate it on the API Access page in your dashboard.

3

Send the email as a JSON body

Turn Send Body on, set Body Content Type to JSON, and use an expression to pull the email from the incoming item.

JSON body (expression)
={ "email": "{{ $json.email }}" }

Branch with an IF node

Connect an IF node after the HTTP Request and branch on {{ $json.status }} equals safe (or on is_valid). The true output handles clean leads; the false output handles the rest.

Inbound events: front the workflow with a Webhook trigger node so an external event — a form submission, a new lead — kicks off verify → IF automatically.

Ready-Made Workflow Template

Copy this JSON, then in n8n use Import from Clipboard (workflow menu → Import) to drop in a complete Webhook → HTTP Request → IF workflow. Add your API key to the Valid Email Checker API credential it references and you are live.

n8n workflow template — Webhook → Verify → IF
{
  "name": "Valid Email Checker — Verify & Branch",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "verify-email",
        "responseMode": "onReceived",
        "options": {}
      },
      "id": "b1a1d2e3-0001-4a00-9000-000000000001",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        240,
        300
      ],
      "webhookId": "verify-email"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://app.validemailchecker.com/api/verify-single",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "={ \"email\": \"{{ $json.email }}\" }",
        "options": {}
      },
      "id": "b1a1d2e3-0002-4a00-9000-000000000002",
      "name": "Verify Email",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        520,
        300
      ],
      "credentials": {
        "httpHeaderAuth": {
          "id": "1",
          "name": "Valid Email Checker API"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "c0000000-0000-0000-0000-000000000001",
              "leftValue": "={{ $json.status }}",
              "rightValue": "safe",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "b1a1d2e3-0003-4a00-9000-000000000003",
      "name": "IF Valid",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        800,
        300
      ]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Verify Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Email": {
      "main": [
        [
          {
            "node": "IF Valid",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}

After importing, open the Verify Email node and attach a Header Auth (or Bearer Auth) credential holding your API key.

Single vs. Bulk — Which Endpoint?

Verify one address at a time as records flow through, or clean a whole list in one task. Both cost 1 credit per email.

Verify one at a time

Default
POST /api/verify-single

As each item flows through your workflow — a form submission, a new CRM contact, a new row — verify that one email in real time before the IF node branches.

The default for n8n workflows. It is what the step-by-step and the importable template above use.

Clean a whole list

Batch
POST /api/verify-bulkGET /api/get-results/{task_id}

Periodically cleaning an existing list? Submit many emails as one task and poll for results — far more efficient than looping single HTTP Request calls.

Submitting as one task avoids the 60 requests/minute limit; the daily cap is 10,000 verifications.

What the API Returns

Every verification responds with a structured JSON object the IF node and later nodes can read.

status

Verdict: safe, invalid, risky, or unknown.

is_valid

Boolean — safe to send to.

is_disposable

Flags throwaway / temporary domains.

is_role_account

Flags addresses like info@ or admin@.

is_catch_all

Domain accepts mail for any address.

mx_found

Whether valid MX records exist.

risk_score

Numeric risk indicator for the address.

credits_used

Credits charged for this request.

Why Verify Inside n8n

Protect Your Sender Reputation

Catch invalid and disposable addresses before they reach your CRM or sending tool.

Real-Time, Not Batch

Verify the moment a lead arrives — at signup, on a form submit, or as a webhook fires.

Branch on the Result

Use an IF node to keep clean leads and route questionable ones elsewhere.

Credits & Billing

1 Credit = 1 Email

Same rate as bulk, dashboard, and API.

Unknown = Refunded

Credits returned for unverifiable emails.

150 Free Credits

Included on every new account.

60/min · 10k/day

Generous API rate limits.

Frequently Asked Questions

No. There is no community node to install. You call Valid Email Checker through n8n's built-in HTTP Request node, which is available on self-hosted n8n and n8n Cloud alike. Any plan that lets you add an HTTP Request node works.

1 credit per email — the same rate as bulk upload, the dashboard, and every other method. If a result comes back as "Unknown" because we could not reach a definitive answer, that credit is automatically refunded to your account.

API keys are generated on the Developer page inside your Valid Email Checker dashboard. Create a key, then store it in an n8n Header Auth credential (Name: Authorization, Value: Bearer YOUR_API_KEY) or a Bearer Auth credential (just the token). You can revoke and regenerate keys at any time.

Yes. For large lists, point the HTTP Request node at /api/verify-bulk with an array of emails, capture the returned task_id, then add a second HTTP Request node to poll GET /api/get-results/{task_id}. The single-email endpoint is best for real-time, one-at-a-time flows.

Up to 60 requests per minute and 10,000 requests per day. For high-volume workflows, add a Wait node between requests or use the bulk endpoint to stay within these limits.

Ready to Verify Emails in n8n?

Sign up, grab your API key from the Developer page, and import the template above. 150 free credits included — no credit card required.

Get Started Free

150 free credits · No credit card · Built-in HTTP Request node