Skip to main content

.NET / C# Integration

Using HttpClient.

using System.Net.Http.Json;

public class CheckEmailService
{
private readonly HttpClient _httpClient;
private const string ApiKey = "ce_d_YOUR_KEY";

public CheckEmailService(HttpClient httpClient)
{
_httpClient = httpClient;
}

public async Task<bool> IsEmailValid(string email)
{
_httpClient.DefaultRequestHeaders.Clear();
_httpClient.DefaultRequestHeaders.Add("x-api-key", ApiKey);

var response = await _httpClient.GetAsync($"https://api.checkemail.dev/validate?email={Uri.EscapeDataString(email)}");

if (response.IsSuccessStatusCode)
{
var data = await response.Content.ReadFromJsonAsync<ApiResponse>();
var confidence = data?.Confidence;
var validations = data?.Validations;

if (confidence?.Status == "DISPOSABLE" || validations?.IsDisposable == true) return false;

// Access alias info
if (confidence?.AliasStatus == "ALIAS_CONFIRMED") {
var canonical = confidence.CanonicalEmail;
}

return confidence?.Status == "LIKELY";
}

return false;
}
}

public class Confidence {
public int ConfidenceScore { get; set; }
public string Status { get; set; }
public string AliasStatus { get; set; }
public string CanonicalEmail { get; set; }
public bool IsRoleBased { get; set; }
}

public class Validations {
public bool IsDisposable { get; set; }
}

public class ApiResponse {
public Confidence Confidence { get; set; }
public Validations Validations { get; set; }
}