Email validation in Node.js

Email validation in Node.js


MailboxValidator is an email validation service to clean mailing lists of stale and unreachable emails. There are 2 ways to utilize the MailboxValidator service. The easiest way is to subscribe for a BULK plan. This allows a user to just simply upload a text or CSV file containing their email list to our website. Then just wait for the validation process to complete. Advanced users will prefer to use our REST-based API instead. It can be used to query a single email address to check its validity. The results are returned almost immediately.

How can MailboxValidator help marketers and developers?

At first glance, you might think that using regular expressions can easily detect invalid email addresses. Unfortunately, that is wrong. First of all, regular expression only checks the syntax of the email address. It does not tell you whether that email address actually exists. Nor can it detect whether the email domain is non-existent.

MailboxValidator, on the other hand, performs checks on the email address syntax. Next, it will check for the existence of the email domain. Following that, it will check if the email address actually exists. Last but not least, it will let you know if the email address came from a free or disposable email provider.

All of these validation features are geared towards marketers and developers to help them reduce their bounce rate, thus helping them to avoid being blacklisted.

Easy integration with multiple SDKs and plugins

We believe that email validation should be easy enough for anyone to use. Hence, we’ve created a bunch of SDKs and extensions to help you get started. If you’re using an Email Sending Provider (ESP) like MailChimp, Aweber, Sendgrid, HubSpot and so on, we’ve got you covered with our list of integrations.

Let’s take a look at email validation in Node.js

Node.js developers will be glad to know we have an email validation module ready for use. Just install the module using the below command.

npm install mailboxvalidator-nodejs

You’ll also need the MailboxValidator API key. If you don’t have one, you can subscribe for one at

Usage is also very straightforward as the example below shows. Just remember to edit the code and put in your API key.

var mbv = require("mailboxvalidator-nodejs");


mbv.MailboxValidator_single_query("", mbv_read_single);

function mbv_read_single(err, res, data) {
	if (!err && res.statusCode == 200) {
		console.log("email_address: " + data.email_address);
		console.log("domain: " + data.domain);
		console.log("is_free: " + data.is_free);
		console.log("is_syntax: " + data.is_syntax);
		console.log("is_domain: " + data.is_domain);
		console.log("is_smtp: " + data.is_smtp);
		console.log("is_verified: " + data.is_verified);
		console.log("is_server_down: " + data.is_server_down);
		console.log("is_greylisted: " + data.is_greylisted);
		console.log("is_disposable: " + data.is_disposable);
		console.log("is_suppressed: " + data.is_suppressed);
		console.log("is_role: " + data.is_role);
		console.log("is_high_risk: " + data.is_high_risk);
		console.log("is_catchall: " + data.is_catchall);
		console.log("mailboxvalidator_score: " + data.mailboxvalidator_score);
		console.log("time_taken: " + data.time_taken);
		console.log("status: " + data.status);
		console.log("credits_available: " + data.credits_available);
		console.log("error_code: " + data.error_code);
		console.log("error_message: " + data.error_message);

How to interpret the result fields?


The input email address.


The domain of the email address.


Whether the email address is from a free email provider like Gmail or Hotmail.

Return values: True, False


Whether the email address is syntactically correct.

Return values: True, False


Whether the email address has a valid MX record in its DNS entries.

Return values: True, False (- means not applicable)


Whether the mail servers specified in the MX records are responding to connections.

Return values: True, False (- means not applicable)


Whether the mail server confirms that the email address actually exists.

Return values: True, False (- means not applicable)


Whether the mail server is currently down or unresponsive.

Return values: True, False (- means not applicable)


Whether the mail server employs greylisting where an email has to be sent a second time at a later time.

Return values: True, False (- means not applicable)


Whether the email address is a temporary one from a disposable email provider.

Return values: True, False (- means not applicable)


Whether the email address is in our blacklist.

Return values: True, False (- means not applicable)


Whether the email address is a role-based email address like or

Return values: True, False (- means not applicable)


Whether the email address contains high risk keywords.

Return values: True, False (- means not applicable)


Whether the email address is a catch-all address.

Return values: True, False, Unknown (- means not applicable)


Email address reputation score.

Score > 0.70 means good; score > 0.40 means fair; score <= 0.40 means poor.


The time taken to get the results in seconds.


Whether our system think the email address is valid based on all the previous fields.

Return values: True, False


The number of credits left to perform validations.


The error code if there is any error.


The error message if there is any error.


As you can see, it’s so easy to integrate the MailboxValidator email validation in Node.js. The validation results are comprehensive and easy to understand. Best of all, there is a free API plan to help you get started.

Was this article helpful?

Related Articles