Verifalia 2.3.0

.NET 5.0 .NET Core 1.0 .NET Standard 1.3 .NET Framework 4.5
There is a newer version of this package available.
See the version list below for details.
dotnet add package Verifalia --version 2.3.0
NuGet\Install-Package Verifalia -Version 2.3.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Verifalia" Version="2.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Verifalia --version 2.3.0
#r "nuget: Verifalia, 2.3.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Verifalia as a Cake Addin
#addin nuget:?package=Verifalia&version=2.3.0

// Install Verifalia as a Cake Tool
#tool nuget:?package=Verifalia&version=2.3.0

Verifalia API NuGet

Verifalia RESTful API - .NET SDK and helper library

Verifalia provides a simple HTTPS-based API for validating email addresses in real-time and checking whether they are deliverable or not; this SDK library integrates with Verifalia and allows to verify email addresses under the following platforms:

  • .NET 5.0 new
  • .NET Core 1.0 (and higher)
  • .NET Framework 4.5 (and higher)
  • .NET Standard 1.3 (and higher)
    • Mono 4.6+
    • Xamarin.iOS 10.0+
    • Xamarin.Mac 3.0+
    • Xamarin.Android 7.0+
    • Universal Windows Platform 10.0+

To learn more about Verifalia please see

Adding Verifalia REST API support to your .NET solution

The best and easiest way to add the Verifalia email verification SDK library to your .NET project is to use the NuGet package manager.

With Visual Studio IDE

From within Visual Studio, you can use the NuGet GUI to search for and install the Verifalia NuGet package. Or, as a shortcut, simply type the following command into the Package Manager Console:

Install-Package Verifalia
Manual download and compilation

As an alternative way to add the Verifalia SDK to your .NET solution, you can download the SDK source project from github, extract it to a folder of your choice and add a reference from your own project to the Verifalia SDK project. The SDK project is a C# project with support for Visual Studio 2019, which can be referenced and used with any other .NET language too, including Visual Basic (VB.NET), C++/CLI, J#, IronPython, IronRuby, F# and PowerShell.

Learn more at


First things first: authentication to the Verifalia API is performed by way of either the credentials of your root Verifalia account or of one of its users (previously known as sub-accounts): if you don't have a Verifalia account, just register for a free one. For security reasons, it is always advisable to create and use a dedicated user for accessing the API, as doing so will allow to assign only the specific needed permissions to it.

Learn more about authenticating to the Verifalia API at

Once you have your Verifalia credentials at hand, use them while creating a new instance of the VerifaliaRestClient type, which will be the starting point to every other operation against the Verifalia API: the supplied credentials will be automatically provided to the API using the HTTP Basic Auth method.

using Verifalia.Api;

var verifalia = new VerifaliaRestClient("username", "password");

In addition to the HTTP Basic Auth method, this SDK also supports authentication via bearer token as well as through X.509 TLS mutual authentication against the Verifalia API, as explained in the full SDK documentation.

Validating email addresses

Every operation related to verifying / validating email addresses is performed through the EmailValidations property exposed by the VerifaliaRestClient instance you created above. The property is filled with useful methods, each one having lots of overloads: in the next few paragraphs we are looking at the most used ones, so it is strongly advisable to explore the library and look at the embedded xmldoc help for other opportunities.

How to validate an email address

To validate an email address from a .NET application you can invoke the SubmitAsync() method: it accepts one or more email addresses and any eventual verification options you wish to pass to Verifalia, including the expected results quality, deduplication preferences and processing priority.

In the next example, we are showing how to verify a single email address using this library; as the entire process is asynchronous, we are passing a WaitingStrategy value, asking SubmitAsync() to automatically wait for the job completion:

var validation = await verifalia
    .SubmitAsync("", waitingStrategy: new WaitingStrategy(true));

// At this point the address has been validated: let's print
// its email validation result to the console.

var entry = validation.Entries[0];

Console.WriteLine("{0} => Classification: {1}, Status: {1}",

// Prints out something like:
// => Classification: Deliverable, Status: Success

How to validate a list of email addresses

As an alternative to method above, you can avoid automatically waiting and retrieve the email validation results at a later time; this is preferred in the event you are verifying a list of email addresses, which could take minutes or even hours to complete.

Here is how to do that:

var validation = await verifalia
    .SubmitAsync(new[] {

Console.WriteLine("Job Id: {validation.Overview.Id}");
Console.WriteLine("Status: {validation.Overview.Status}");

// Prints out something like:
// Job Id: 290b5146-eeac-4a2b-a9c1-61c7e715f2e9
// Status: InProgress

Once you have an email validation job Id, which is always returned by SubmitAsync() as part of the validation's Overview property, you can retrieve the job data using the GetAsync() method. Similarly to the submission process, you can either wait for the completion of the job or just retrieve the current job snapshot to get its progress, using an instance of the same WaitingStrategy type mentioned above. Only completed jobs have their Entries filled with the email validation results, however.

In the following example, we are requesting the current snapshot of a given email validation job back from Verifalia:

var validation = await verifalia

if (validation.Overview.Status == ValidationStatus.Completed)
	// validation.Entries will have the validation results!
	// What about having a coffee?

And here is how to request the same job, asking the SDK to automatically wait for us until the job is completed (that is, joining the job):

var validation = await verifalia
		new WaitingStrategy(true));

Full documentation and examples

Documenting this library within Nuget is hard because of the limited maximum content length. Please see our project page for additional help and updated examples:

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netstandard2.1
.NET Framework net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen30 tizen40 tizen60
Universal Windows Platform uap uap10.0
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.1.0 125,024 12/2/2021
3.0.0 63,159 1/22/2021
2.4.0 5,722 11/20/2020
2.3.0 298 11/13/2020
2.2.0 727 2/21/2020
2.1.0 684 11/22/2019
2.0.2 59,525 8/23/2019
2.0.1 519 8/3/2019
2.0.0 454 8/2/2019
1.8.1 171,350 8/18/2017
1.7.0 9,680 6/29/2017