.NET SDK
Official C# SDK for the Truelist email validation API. Supports .NET 6.0+, .NET 8.0+, and .NET Standard 2.1.
Installation
dotnet add package Truelist No external dependencies.
Note
Start free — 100 validations + 10 enhanced credits, no credit card required. Get your API key.
Quick start
using Truelist;
var client = new TruelistClient("your-api-key");
var result = await client.ValidateAsync("user@example.com");
if (result.IsValid)
Console.WriteLine("Email is valid!"); Configuration
var client = new TruelistClient("your-api-key", new TruelistOptions
{
BaseUrl = "https://api.truelist.io",
Timeout = TimeSpan.FromSeconds(10),
MaxRetries = 2,
}); Result properties
result.Email; // "user@example.com"
result.Domain; // "example.com"
result.State; // "ok", "email_invalid", "accept_all", "unknown"
result.SubState; // "email_ok", "is_disposable", "is_role", ...
result.Suggestion; // null or correction
result.IsValid; // true
result.IsDisposable; // false
result.IsRole; // false Dependency injection
builder.Services.AddTruelist("your-api-key");
// Then inject:
public class EmailService(TruelistClient truelist)
{
public async Task<bool> IsEmailValidAsync(string email) =>
(await truelist.ValidateAsync(email)).IsValid;
} CancellationToken support
using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
var result = await client.ValidateAsync("user@example.com", cts.Token); Error handling
using Truelist.Exceptions;
try
{
var result = await client.ValidateAsync("user@example.com");
}
catch (AuthenticationException) { /* 401 — never retried */ }
catch (RateLimitException ex) { Console.WriteLine(ex.RetryAfterSeconds); }
catch (ApiException ex) { Console.WriteLine($"{ex.StatusCode}: {ex.ResponseBody}"); } Package link
| Package | Install |
|---|---|
| Truelist | dotnet add package Truelist |
Note
**Prefer an AI-first workflow?** Validate emails conversationally in Claude, Cursor, or VS Code Copilot using our hosted MCP server. No API key required.