Swift SDK · Feature

Domain Age Checker in Swift

Newly registered domains are a strong fraud and spam signal. domainAge 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. domainAge turns a raw WHOIS record into a simple registration date and age in days, and domainAgeBatch 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 domainAge

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

let client = IpApiClient(apiKey: ProcessInfo.processInfo.environment["IP_API_IO_KEY"]!)

let age = try await client.domainAge(domain: "example.com")

print(age.isValid)                 // true
print(age.registrationDate ?? "")  // "1995-08-14"
if let days = age.ageInDays {
    print(days)                    // 11000+
    if days < 30 {
        // treat brand-new domains as higher risk
    }
}
2

Many domains with domainAgeBatch

Check an array of domains in one request (throws if empty).

let batch = try await client.domainAgeBatch(
    domains: ["example.com", "brand-new-domain.xyz"])

for (domain, age) in batch.results {
    if let days = age.ageInDays {
        print(domain, days)
    }
}
Reference

Response reference

DomainAge (from domainAge)

FieldTypeDescription
domainStringThe domain checked
isValidBoolWhether age could be determined
registrationDateString?First registration date
ageInYearsInt?Age in whole years
ageInDaysInt?Age in days
errorString?Reason when isValid is false

domainAgeBatch(domains:) returns a BatchDomainAge — a results map ([String: DomainAge]) of domain to age.

FAQ

Frequently asked questions

How do I check a domain's age in Swift?

Call try await client.domainAge(domain: domain). It returns isValid, the registrationDate, and the age as both ageInYears and ageInDays, derived from WHOIS data. Nullable fields are optionals.

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. try await client.domainAgeBatch(domains:) checks an array of domains in one request and returns a results map of domain to age. It throws if the array is empty.

Start building with the ip-api.io Swift SDK

Add ipapi-swift via Swift Package Manager, 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 ipapi-swift package is open source. Open an issue or pull request on GitHub and we'll take a look.

Open on GitHub