.NET SDK · Feature

Domain Age Checker in .NET

Newly registered domains are a strong fraud and spam signal. DomainAgeAsync returns how long ago a domain was registered, derived from WHOIS data, so you can flag or block domains created days ago.

Trusted by thousands of businesses
Fast JSON API responses
Real-time validation
Simple integration, SDKs & examples
What it does

Catch throwaway domains early

Abuse rings register domains in bulk and burn them fast, so a domain's age is one of the cheapest, highest-signal fraud checks you can run. DomainAgeAsync turns a raw WHOIS record into a simple registration date and age in days, and DomainAgeBatchAsync lets you screen a whole list — sign-up email domains, referral links, or outbound targets — in a single request.

Prerequisites

1

Age of one domain with DomainAgeAsync

Returns the registration date and the age in years and days.

var client = new IpApiClient(Environment.GetEnvironmentVariable("IP_API_IO_KEY")!);

var age = await client.DomainAgeAsync("example.com");

Console.WriteLine(age.IsValid);          // True
Console.WriteLine(age.RegistrationDate); // "1995-08-14"
if (age.AgeInDays is { } days)
{
    Console.WriteLine(days);             // 11000+
    if (days < 30)
    {
        // treat brand-new domains as higher risk
    }
}
2

Many domains with DomainAgeBatchAsync

Check a list of domains in one request (throws if empty).

var batch = await client.DomainAgeBatchAsync(
    new[] { "example.com", "brand-new-domain.xyz" });

foreach (var (domain, age) in batch.Results)
    if (age.AgeInDays is { } days)
        Console.WriteLine($"{domain} {days}");
Reference

Response reference

DomainAge (from DomainAgeAsync)

PropertyTypeDescription
DomainstringThe domain checked
IsValidboolWhether age could be determined
RegistrationDatestring?First registration date
AgeInYearsint?Age in whole years
AgeInDayslong?Age in days
Errorstring?Reason when IsValid is false

DomainAgeBatchAsync(domains) returns a BatchDomainAge — a Results map (IReadOnlyDictionary<string, DomainAge>) of domain to age.

FAQ

Frequently asked questions

How do I check a domain's age in C#?

Call await client.DomainAgeAsync(domain). It returns IsValid, the RegistrationDate, and the age as both AgeInYears and AgeInDays, derived from WHOIS data. Nullable fields are C# nullable types.

Why is domain age a fraud signal?

Freshly registered domains are disproportionately used for phishing, spam, and throwaway accounts. Flagging domains created in the last few days — e.g. AgeInDays < 30 — catches a lot of abuse before it reaches your users.

Can I check many domains at once?

Yes. await client.DomainAgeBatchAsync(domains) checks a list of domains in one request and returns a Results map of domain to age. It throws if the list is empty.

Start building with the ip-api.io .NET SDK

Run dotnet add package IpApiIo, drop in your free API key, and ship in minutes — one async client for geolocation, fraud detection, and email validation.

Need support?

Explore how IP-API.io can enhance your security, provide robust bot protection, and improve IP geolocation accuracy for your applications.

Contact Support

Found a bug in the SDK?

The IpApiIo package is open source. Open an issue or pull request on GitHub and we'll take a look.

Open on GitHub