PHP SDK · Feature

Domain Age Checker in PHP

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.

<?php

use IpApiIo\Client;

$client = new Client(apiKey: getenv('IP_API_IO_KEY'));

$age = $client->domainAge('example.com');

var_dump($age['is_valid']);          // true
echo $age['registration_date'];      // "1995-08-14"
echo $age['age_in_years'];           // 30
echo $age['age_in_days'];            // 11000+

if (($age['age_in_days'] ?? PHP_INT_MAX) < 30) {
    // treat brand-new domains as higher risk
}
2

Many domains with domainAgeBatch

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

$batch = $client->domainAgeBatch([
    'example.com',
    'brand-new-domain.xyz',
]);

foreach ($batch['results'] as $domain => $age) {
    echo $domain, ' ', $age['age_in_days'];
}
Reference

Response reference

domainAge response

FieldTypeDescription
domainstringThe domain checked
is_validboolWhether age could be determined
registration_datestring | nullFirst registration date
age_in_yearsint | nullAge in whole years
age_in_daysint | nullAge in days
errorstring | nullReason when is_valid is false

domainAgeBatch($domains) returns a results array mapping each domain to its age response.

FAQ

Frequently asked questions

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

Call $client->domainAge($domain). It returns is_valid, the registration_date, and the age as both age_in_years and age_in_days, derived from WHOIS data.

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. $age['age_in_days'] < 30 — catches a lot of abuse before it reaches your users.

Can I check many domains at once?

Yes. $client->domainAgeBatch($domains) checks a list of domains in one request and returns a results array mapping each domain to its age. It throws if the array is empty.

Start building with the ip-api.io PHP SDK

Run composer require ip-api-io/ipapi-php, drop in your free API key, and ship in minutes — one zero-dependency 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 ip-api-io/ipapi-php package is open source. Open an issue or pull request on GitHub and we'll take a look.

Open on GitHub